Master Piece of jun/컴퓨터개론

Multi programming과 Time sharing

JUNFUTURE 2021. 11. 8. 01:11

Multi programming

  1. 한 user(프로그램, 프로세스)는 동시에 I/O, CPU 처리를 할 수 없다.
  2. ⇒ 따라서 I/O, CPU에는 각각 다른 프로그램 실행가능
  3. 멀티프로그래밍, CPU가 처리할 job을 항상 하나는 처리할 수 있게 한다.
  4. ⇒ CPU가 놀지 않도록 (어떤 job 실행?? ~ job scheduling vs CPU scheduling : memory에 저장??)
  5. 동시 실행될 job들은 전부 memory에 있어야함
  6. 기다려야할때, OS는 다른 job으로 switch 해줌

Time sharing (multi tasking)

  • 멀티프로그래밍을 구현하기 위한 기법 중 하나
    • CPU를 번갈아 가며 쓸 수 있도록하는 기법 CPU에 할당되는 jobs를 매우 자주 switch 함으로써 구현
    • interactive computing 구현 : 나는 1초면 돼, 나는 1시간 ⇒ 1초 짜리가 1시간짜리 기다려? 나 1초만에 끝나!!!
  • 모든 유저 프로그램(jobs)이 실행되기 위해선 적어도 특정 부분이라도 메모리에 있어야 한다. ⇒ 프로세스의 개념

  • CPU scheduling : memory 내에서 실행 대기중인 프로그램들 즉, 프로세스를 CPU에 어찌 할당할지 정하는 것
  • Swapping : 프로세스를 메인 메모리에 적재하지 못할때, 이를 보조 메모리에 완전히 보내버리는 것
  • Virtual memory : 프로그램 일부만 memory에 적재 메인메모리 용량 이상의 프로그램이 작동되게 하는 것

'Master Piece of jun > 컴퓨터개론' 카테고리의 다른 글

Process와 Process Concept  (0) 2021.11.08
듀얼 모드(User mode & Kernel mode)  (0) 2021.11.08
Interrupt (vs PIO, pulling)  (0) 2021.11.08
Computer System Structure과 OS의 정의  (0) 2021.11.08
RAM & ROM USB는 EEPROM  (0) 2021.11.08