1. 운영체제는 무엇인가?
- 컴퓨터 시스템을 제어 하는 소프트웨어
2. 컴퓨터는 무엇인가?
- 정보를 처리하는 기계
3. 정보는 무엇인가?
- 불확실한 사건에 대해 양적으로 표현한 것
- 클로드 섀넌의 정의: x라는 사건에 대한 정보의 양은 x라는 사건이 일어날 확률의 -log2임.
4. 컴퓨터는 정보를 어떻게 처리하는가?
- 정보의 최소단위(binary digit)
- 0->1, 1->0 정보의 상태 변환
- 부울 대수 : NOT, AND, OR
- 논리 회로: LC, LSI, VLSI, ULSI, SoC...
- 정보의 저장: 플립-플롭
- 정보의 전송: 데이터 버스
- 덧셈: 반가산기, 전가산기
- 뺄셈: 2의 보수 표현법
- 곱셈, 나눗셈: 덧셈과 뺄셈의 반복
- 실수 연산: 부동 소수점 표현법
- 함수: goto
- 이를 바탕으로 삼각함수, 미분, 적분, 사진 촬영, 동영상 재생 가능함.
5. 컴퓨터는 누가?
- 엘런튜링이 할아버지(Universal Turing Machine == Operating System), 폰 노이만이 아버지(ISA)
6. 운영체제도 프로그램?
- 컴퓨터 시스템을 다루는 프로그램(일반적으로.. 운영체제 == kernel)
- system programs + application programs + kernel = o/s
- 운영체제는 사용자와 컴퓨터 하드웨어사이에서는 중간자적 역할을 수행하는 어플리케이션을 제공한다.
- 컴퓨터 시스템은 크게 본다면, 하드웨어, os, 응용프로그램, 사용자로 나눌 수 있다.
7. 컴퓨터 시스템의 구성
- 하나이상의 cpu를 가지고 있으며, bus를 통해 많은 디바이스가 연결되어 있다.
- 컴퓨터가 실행되면 eeprom에 있는 bootstrap을 실행한다. 일종의 마중물
- cpu와 I/O 디바이스는 interrupt를 통해 상호작용 한다. 여기서 폰노이만의 fetch, execute의 과정이 수행된다.
- storage system
- CPU: instruction을 수행하는 하드웨어
- Processor: 하나 이상의 cpu를 담고 있는 물리적 칩
- Core: the back computation unit of cpu
- Multicore: 하나의 cpu에 여러개의 core
- Multiprocessor: 여러개의 프로세스
- Multitasking( = multiprocessing): cpu의 빠른 작업 속도로 인해 시분할을 통해 동시에 작업하는 것처럼 느껴지도록 하는 것. 여기서 중요하는 것은 어떻게 cpu를 스케쥴링 할 것인가임.
- 2가지 모드: usermode는 직접적으로 H/W를 제어할 수 없음으로 안전. 제어할때는 os에 물어보도록 되어 있음.
- Operating System Services
- 참고자료
'OS' 카테고리의 다른 글
[공룡책] Chapter 2. Process (3/4) (0) | 2021.07.15 |
---|---|
[공룡책] Chapter 2. Process? (1/4) (0) | 2021.07.13 |