* 멀티 프로세서 : 여러 개의 프로세서에서 동시에 일을 수행하는 것 - 여러개의 cpu
- 처리율 증가 : N개의 프로세서로 성능 N배를 만들지는 않음 (멀티프로세서를 관리하는 오버헤드 때문에)
- 경제적 : 프로세서들이 주변기기와 스토리지, 메모리를 공유해서 경제적임
- 하나의 프로세서가 고장나도 다른 cpu로 처리가 가능해서 신뢰도 증가
* 멀티 프로세서 종류
- asymmetric : 프로세서간 master-slave 관계. master가 시스템을 제어하고 slave는 master 지시대로 프로그램 수행
slave는 private한 메모리를 갖고 일을 처리함
- symmetric : master-slave 관계가 없음
모든 프로세서가 메모리를 공유하고 서로 직접적으로 interact 할 수 있음
* 멀티프로세서 메모리 모델
- UMA uniform memory access : cpu에서 ram까지 엑세스하는 시간이 모두 일정
- NUMA non-uniform memory access : 메모리 위치에 따라 엑세스 시간이 다름
* 멀티 코어 시스템 : 하나의 cpu에 여러개의 코어 내재
* 멀티프로그래밍 : 여러개의 프로그램이 동시에 진행
- 목적 : cpu와 io장치의 효과적 이용
- cpu 스케줄링 : 여러개의 프로세스가 동시에 수행되지만 cpu는 하나일 때, cpu에게 어떤 프로세스를 수행하게 할지 결정
- job 스케줄링 : 메모리는 한정되어 있지만 여러개의 프로세스를 수행하기 위해 프로세스를 메모리로 가져와야한다.
어떤 프로세스를 메모리로 가져올 지 결정
- swapping : 메모리가 꽉 차있을 때, 특정 프로세스를 메모리에서 out하고 새로운 프로세스를 in시킨다.
- virtual memory : cpu가 보는 메모리 공간과 사용자가 보는 메모리 공간이 다름
'CS > 오퍼레이팅 시스템' 카테고리의 다른 글
6. 오퍼레이팅 시스템이 제공하는 서비스 (0) | 2020.04.08 |
---|---|
5. 유저와 커널 (0) | 2020.04.08 |
3. 스토리지 구조 Storage Structure (0) | 2020.04.07 |
2. 인터럽트 (0) | 2020.04.07 |
1. 오퍼레이팅 시스템 (0) | 2020.04.07 |