멀티프로세싱_멀티프로그래밍_멀티태스킹
Ha0.log 🍒 라는 블로그에서 글검색을 처음 하였다. 어떻게 제목부터 똑같은가? 혹시 이분도 최종무 교수님의 제자인가? 블로그를 보니 그것은 아닌 것 같다. 운영체제 수업이라는 것의 교수들의 공통된 바이블이나 큰 흐름이 있는가 보다.
#
멀티 프로세싱, 멀티 프로그래밍, 멀티 태스킹#
멀티 프로세싱 (멀티 코어 시스템)하나 이상의 프로세서가 서로 협력하여 일을 처리
- 하나의 JOB -> 멀티 프로세서, 협력하여 JOB 처리
- why?? 멀티 프로세싱의 장점 - 여러개의 단일 프로세싱보다 비용 절약
- 장치 공유 : 주변장치, 대용량 저장장치, 전원공급장치
- 신뢰성 : 한 프로세서의 고장 -> 시스템 정지 X, 속도만 느려짐
#
멀티 프로그래밍하나의 프로세서(CPU) 에서 여러 프로그램을 교대로 사용
- 초기 컴퓨터, CPU - IO(입출력) 간 속도차이 -> CPU 리소스 낭비 (유휴시간)
- 프로세서(CPU)가 IO 를 기다리는 동안 다른 프로그램(프로세스)를 수행시킬 수 있도록 함
#
멀티 태스킹- 태스크(TASK)
- 정해진 일을 수행하기 위한 명령어의 집합
- 운영체제에서 처리하는 작업의 단위
- process 보다 확장된 개념
- 멀티 태스킹
- Task 가 한 CPU 상에서, OS 스케줄링 에 따라 조금씩 번갈아 가며 수행되는 것
- 빠른 속도로 Task 를 번갈아 가면서 처리하다보면 유저가 느끼기에 마치 동시에 처리 되는 것 같아 보이기 때문에 붙인 이름
#
멀티 태스킹의 스케줄링 방식#
멀티 프로그래밍#
시분할 방식 (time sharing)#
실시간 시스템 방식 (Real-time)#
멀티 태스킹의 종류#
비선점형 멀티 태스킹 (non preemptive - 중간에 빼앗을 수 없는)자원을 차지하고 있는 일이 CPU 연산이 필요없음을 나타내었을 때만 운영체제가 자원을 회수 가능
#
선점형 멀티태스킹 (preemptive)운영체제의 타이머나, 트리거를 개입하여 강제로 CPU 사용을 빼앗아 올 수 있는 경우
- 운영체제가 응답없는 프로세스를 강제로 죽일 수 있는 경우