Complexity is Our Enemy
HW의 다양성
- CPU: ISA(Instruction Set Architecture), Cache Size(L1, L2, L3), clock speed(GHz)
- Memory, I/O devices, Network, Interfaces
⇒ HW, SW가 너무 많아지면서 Control의 어려움이 발생
What is an OS?
HW를 관리하는 일종의 SW(Program)
Computer의 User와 HW 사이에서 동작하는 Program
OS의 목표
- user program을 실행하고, user problem을 쉽게 해결해줌
- 컴퓨터 시스템을 더 편리하게 해줌 → user interface와 관련
- Computer HW를 낭비 없이 사용하기 위함 → resources에 대한 관리
Abstract View of Computer System
- HW, OS, App, Users
- app이 직접적으로 HW에 접근하지 못하고, OS에 request, OS가 HW에 접근하여 해당 요청 처리 후 return
OS View Points
User Views → 어떤 종류의 사용자인가에 따라
- Home PC user → Personal Thing 요구
- 사용하는데 있어 easy
- Resource utilization이 문제되지 X
- Mainframe, mini computer, workstation
- 많은 프로그램 수행 목적
- 1개의 program이 다른 program에 영향을 주면 X
- Resource manage가 필요, easy of use 신경 X
- Mobile devices
- 수행에 있어 빠르고 쉬워야 함
- usability, user interface 고려
System Views
-
Resource allocator
-
Control Program
Definition of OS
- 다양한 HW와 목적이 존재 (kernel + system programs)
- 명확한 정의 X
Computer System Organization
- system bus: communication channel, 모든 요소들이 이를 이용하여 소통
- CPU와 device controller는 병렬적으로 동작을 수행
Need for OS
Several users are running programs.
- OS가 실행 순서, Resource 관리 등을 수행
- ex. isolation을 통한 다른 Program의 data에 영향 X
A programmer wants to write ...
- 서로 다른 HW에서도 동작할 수 있도록,
- 다양한 disk와 file system에서도 file 관리가 가능하도록,
- Network protocol을 사용하여 다른 PC와 의사소통할 수 있도록 함
The owner wants to ...
- CPU와 Memory의 낭비 X
- 이미 동작 중인 Computer에 아무 일도 없는 듯이 새로운 disk add
- 유, 무선 네트워크 간의 전환
Computer Operations
Start-up
- Bootstrap program(Helper) : Computer 전원 on → 제일 먼저 실행됨
- ROM or EEPROM에 저장되어있음 (firmware: 명령어들의 집합)
- CPU register와 device controllers, Memory를 초기화
- OS kernel을 load, 동작시킴
- System daemons
- kernel이 돌아가는 entire time동안 계속 동작하는 프로그램
- init은 첫번째로 동작하는 Process, 이는 많은 daemons를 실행시킴
- init 또한 일종의 daemon이지만, init의 종료는 곧 OS의 종료를 의미