안녕하세요 코찐입니다.
이번에는 고등운영체제에 대한 수업을 듣고 정리하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=978503 보면서 정리하고 있습니다.
학부내용에서는 중요한 내용은 아니지만, 운영체제가 앞으로 어떤 방향으로 전개될지 알아두면 좋다고 합니다.
대학원 수준에서 고등 운영체제 학습할 수 있습니다.
0. 기본 폰 노이만 구조
1. 다중 프로세서 시스템 (Multiprocessor system)
- CPU(Processor)가 여러개 있는 시스템
- 병렬 시스템
- 강 결합 시스템: 하나의 메모리에 CPU가 여러개 붙어있음
장점
1. 퍼포먼스: 일꾼이 여러명. 더 많은 일을 할 수 있음
2. 비용: 저렴한 CPU 여러개를 두는게 더 저렴
3. 신뢰성: 하나가 고장나더라도 다른 CPU가 여전히 동작
CPU가 많아졌기 때문에 OS도 달라져야 함 = 다중 프로세서 운영체제(Multiprocessor OS)
2. 분산 시스템 (Distributed system)
- Multi computer system
- 소 결합 시스템: loosely-coupled system
- 서로간 메세지를 주고 받아야 함
- 분산 운영체제가 필요함
장점: 퍼포먼스, 비용, 신뢰성. 다중 프로세서 시스템과 목적이 같음
3. 실시간 시스템 (realtime system)
- 앞선 두 시스템이랑 목적이 다름
- 시간 제약(deadline): 어떤 시간내에 계산이 반드시 끝나야 함
- ex) 100 ms 안에는 계산이 끝나야 함. 그 시간이 지나서 계산되면 실패한 것으로 봄
- 주로 공장 자동화에 사용됨: 컨베이어 벨트 위에 각 작업이 딜레이 되면 안됨
- 패트리어트 미사일에 사용됨: 다른 미사일을 격추시켜야할 때 미사일이 도달전에 계산되어야 함
- RTOS(Real-time OS)를 통해 운영됨
다른 주제 하나 더 배웁니다.
🛑 인터럽트 기반 시스템
- 인터럽트: 가로채는 것
- 현대 운영체제는 인터럽트 기반 시스템
1. 하드웨어 인터럽트
하드웨어 인터럽트 시스템 예시
1. 전원 연결: CPU가 롬에 있는 부트로더 실행
2. 부팅: 부트로더가 하드디스크 뒤져서 OS를 메인메모리에 올림
3. 부팅이 끝나면: 운영체제는 메모리에 상주
4. 마우스를 움직이면 CPU로 인터럽트 신호가 감
5. CPU는 하던일을 중지하고 OS의 마우스 인터럽트 서비스 루틴을 찾아감
6. hwp파일위로 마우스를 더블클릭하면 CPU 인터럽트 신호가 감
7. CPU는 하던일을 중지하고 OS의 마우스 인터럽트 서비스 루틴을 찾아감
8. 하드 디스크를 뒤져서 hwp 프로그램을 찾아서 메모리에 올림
9. 화면에 한글 프로그램 화면이 나옴
10. 아무 동작도 안하면 OS는 대기중
키보드인 경우도 마찬가지
1. 타이핑하면 CPU로 전기신호(인터럽트)
2. CPU의 인터럽트 서비스를 찾아감
3. OS의 해당 루틴을 작동
2. 소프트웨어 인터럽트
- 하드웨어 인터럽트만 있는게 아님
- 전기 신호가 오지 않아도 내부적으로 인터럽트 발생시킬 수 있음
- 어셈블리 명령어 SWI: 소프트웨어 인터럽트
앞선 한글 파일 예제 연장선에서
1. HWP 프로그램이 하드디스크 내용을 읽으려면 소프트웨어 인터럽트를 호출
2. OS가 하드디스크의 파일을 읽어옴
3. OS는 대기
3. 내부 인터럽트
ex) 5/0 을 하려고 하면
OS 안에는 divied by zero 상황이 일어나면 프로그램을 종료 시키는 코드가 있음
잘못된 시도를 한 프로그램을 강제로 종료시키도록 함
iOS 에서는 이런 에러가 뜨는 것을 볼 수 있음...
*** Terminating app due to uncaught exception 'NSDecimalNumberDivideByZeroException', reason: 'NSDecimalNumber divide by zero exception'
정리
우리가 사용하는 OS는 전부 인터럽트 기반
평소에는 작동안하다가 인터럽트가 발생하면 작동
'CS > OS' 카테고리의 다른 글
[OS] 2. 운영체제 역사: 일괄처리부터 시분할시스템까지 운영체제 변천 역사 (0) | 2021.01.19 |
---|---|
[OS] 1. 운영체제 서론: 운영체제의 정의와 역할 (0) | 2021.01.19 |
운영체제 스터디 자료 (0) | 2021.01.04 |