: main computer에 user 여러명, 리소스도 여러개 라는 전제 바탕
[관점1]
resource allocator 라고 보는 관점
[관점2]
control program (제어 프로그램)으로 보는 관점
➠ 무엇을 제어하나?
1) 프로그램 실행, 관리
2) I/O device 관리 (모든 I/O의 function은 OS의 한 부분!)
이 두 개를 적절히 (안전하게) 한다.
Q. 컴퓨터의 전원을 켜면 컴퓨터가 무엇을 하나?
A. Booting
✔︎ bootstrap program
: power on 했을 때 자동으로 실행되는 program.
♥︎ bootstrap program이 하는 일
1) system 초기화 (화면을 재점검해서 구상하는 일을 함. 연결된 디바이스 체크 등)
2) OS kernel을 load 하고 실행
✦kernel : 사용자가 아무것도 안 해도 얘는 돌아가고 있음. OS의 main program.
✷ kernel: computer가 power-on 되면 항상 실행 상태에 있는 프로그램.
✔︎ CPU
✔︎ controller
cf. printer 모델을 바꿔도 device 드라이버만 깔면 OS-device의 인터페이스를 해결해줌!
interrupt
- 정상적인 일을 수행하는데 급한 일이 생겨서 일(1)을 어딘가에 저장해두고 일(2)를 먼저 수행하다가 완료되면 다시 일(1)로 돌아오는
- 유용성
: 어떤 정상적 작업을 할 때 다른 작업의 필요를 트리거 하는 싱크가 외부에서 일어나도록 하는 것.
(다른 일을 먼저 처리해야 한다는 것은, 일의 우선순위를 감시하는 프로그램이 있어야 한다는 말임. 그런데 이것은 H/W에 이미 있음!)
: 필요한 것을 알리게 하는 개념.
~ interrupt가 걸리면
0) 다른 interrupt를 막음
1) 현재 상태 어딘가에 저장
2) interrupt 판독
3) vector로 주소 얻어서 그 위치로 jump
4) 판독하고 수행
5) 다시 돌아와서 수행
➠ interrupt handling 과정은 현재 수행하는 것보다 먼저 처리해야 하는 일이 발생했다 라고 보는 관점이 있음.
✷ trap
✷ exception
➠ S/W interrupt, 각각의 특이한 상황으로 고려함
✔︎ OS는 현대에서 모두 interrupt driven이다.
✔︎ storage (기억장치)
[1] 용량단위
[2] storage class
위로 갈수록 CPU랑 가까움
위로 갈수록 속도 빠름,비쌈
밑으로 갈수록 용량 크고 저렴
SSD ~ magnetic tapes는 CPU에서 볼 때 보조기억장치
➠ 전원 Off해도 사라지지 않음.
✔︎ register
✔︎ cache
✔︎ main memory
✔︎ solid-state disk (SSD)
✔︎optical disk, magnetic tapes
✷ caching
: 하위 device처럼 논리적으로 쓰는데 사실상 상위 device를 사용하는 것
b/c. 속도 개선을 위해서
ex. RAM disk
✷ process
: 실행 상태 중인 program
ex. 작업 관리자 누르면 지금 실행중인 program을 다 보여주는 것
(program은 hard disk에 있는 어떤 file)
✷ multi-process
: 어떤 시스템에서 수행중인 시스템 여러개가 같이 돌아가는 거
✷ processor
: CPU라고 생각, 하드웨어임.
✷ multi-processor
: CPU가 여러개 있는 시스템
[multi processor의 장점] = CPU를 여러 개 두면 나타나는 이점
✔︎ clustered system
: 여러 개의 system을 결합하여 한 개의 고성능 (대용량)의 system으로 사용하고자 하는 개념
(storage 고민 때문에)
✔︎ multi-programing (다중 프로그램)
: computer system의 한 순간에 실행 상태에 있는 프로그램을 여러 개 두는 개념
✔︎ time-sharing (시분할)
: 아주 짧은 주기의 단위로 나눠서 번갈아 실행하는 것
✔︎ multi-tasking
: 여러 개의 작업을 동시에 실행시키는
- protection(보호)
: user, process로부터 system resource를 보호
- security (보안)
: system을 외부, 내부 공격으로부터 보호하는 것
ex. 바이러스, worms 보호, 명의도용 불법사용 방지