Multi programming
- 한 user(프로그램, 프로세스)는 동시에 I/O, CPU 처리를 할 수 없다.
- ⇒ 따라서 I/O, CPU에는 각각 다른 프로그램 실행가능
- 멀티프로그래밍, CPU가 처리할 job을 항상 하나는 처리할 수 있게 한다.
- ⇒ CPU가 놀지 않도록 (어떤 job 실행?? ~ job scheduling vs CPU scheduling : memory에 저장??)
- 동시 실행될 job들은 전부 memory에 있어야함
- 기다려야할때, 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 |