멀티 프로그래밍과 멀티 태스킹
운영체제는 하나의 프로그램만 사용하면 CPU 가 남으니까 여러 프로그램을 함께 실행할 수 있음.
멀티 프로그래밍
한 번에 둘 이상의 프로그래밍
- 멀티 프로그래밍에서 실행 중인 프로그램을 프로세스 라고 한다.
- 멀티 프로그래밍에서는 운영체제는 단순히 다른 프로세스로 전환하여 실행 한다.
- 해당 프로세스가 대기해야 되는 경우 CPU는 다른 프로세스로 전환한다.
- CPU 유휴 상태를 방지 가능하다.
멀티 태스킹
다중 프로그래밍의 논리적 확장.
- CPU 는 여러 프로세스를 전환하며 프로세스를 실행하고 전환이 자주 발생하여 사용자에게 빠른 응답 시간을 제공한다.
- 대화식 입출력(키보드 입력을 할 때 모니터에 출력되는 것 등)을 예를 들면
- 대화식 입력이 진행되는 동안 CPU 를 쉬게 하지 않고 다른 사용자 프로그램으로 신속하게 전환.
멀티 태스킹을 유지하려면
- 메모리 관리 방식이 필요 → 동시에 여러 프로세스 메모리를 유지하려면?
- CPU 스케쥴링 필요 → 이번 실행 다음에는 어떤 프로세스를 선택해야 하는가?
- 운영체제에서 서로 영향을 미치는 기능이 제한되어야 함. → 메모리 관리, 디스크 저장 장치 접근 제한 등.
- 가상 메모리 사용.
- 파일 시스템 제공.
- 저장 장치 관리 가능해야 함.
- 부적절한 사용으로부터 자원을 보호해야 함.
- 프로세스 동기화 및 통신 기법 제공
- 교착 상태에 빠지지 않도록 보장해야 함.
가상 메모리
멀티 태스킹에서 적절한 응답 시간을 보장하는 일반적인 방법.
- 프로세스를 실행할 때 메모리의 일부만 적재하여 실행하는 기법.
- 프로그램이 물리 메모리의 크기보다 더 커도 실행 가능.
- 논리 메모리와 물리 메모리를 분리 시킴.
728x90
'개발공부 개발새발 > OS' 카테고리의 다른 글
OS ) 스레드의 컨텍스트 스위칭 (0) | 2024.12.24 |
---|---|
OS ) 이중 모드, 다중 모드, 타이머 (0) | 2024.12.22 |
OS ) 운영체제의 작동 (0) | 2024.12.19 |
OS ) 클러스터형 시스템 (0) | 2024.12.19 |
OS ) 입출력 구조 (1) | 2024.12.19 |