기능 중요도
- 프로세스 관리(스케줄링, 동기화)
- 주기억장치(메모리) 관리 (페이징, 가상메모리)
- 파일 관리 (파일 할당, 디스크 스케줄링)
운영체제가 왜 필요해?
운영체제가 없는 컴퓨터는 야생마다!
OS가 없으면 컴퓨터 사용할 수 없다!
프로그램은 하드디스크에 있고, 메모리에 프로그램을 올려야(적재) 작동한다.
→ 운영체제가 해준다
프로그램을 하드디스크에 저장?
→ 운영체제가 해준다.
운영체제가 있기에 컴퓨터를 온전히 쓸 수 있다.
운영체제란?
컴퓨터 하드웨어를 잘 관리하여
프로세서, 메모리, 디스크, 키보드, 마우스, 모니터, 네트워크, 스피커, 마이크, GPS, …
성능을 높이고
Performance
사용자에게 편의성 제공
Convenience
컴퓨터 하드웨어를 관리하는 프로그램
Control program for computer
컴퓨터 구조
- 프로세서,
메모리 (ROM, RAM),
디스크 - POST (Power-On Self-Test) – 부트로더 (Boot loader)
부팅 동작순서
- power on
- ROM에서 POST 실행 : 컴퓨터에 이상이 있는 지 체크하는 프로그램
- ROM에서 Boot loader 실행마치 모든 준비가 됐습니다! 일을 시켜주세요! 상태
- : ex) 바탕화면에 윈도우 초기화면
- power off → RAM에 있는 OS가 사라진다.
OS는 power off하지 않는 이상 항상 메모리에 상주한다.
→ OS를 메모리의 Resident(상주자)라고 부른다.
POST (Power-On Self-Test): 컴퓨터에 이상이 있는 지 체크하는 프로그램
환경 set 잘 되어 있는가?, 키보드 연결되어 있는가?, 프린트 연결되어 있는가?
Boot loader: 하드디스크에 저장되어 있는 OS 프로그램을 가져와서 RAM에 넘겨준다
Booting: 하드디스크에 있던 OS가 Main memory의 RAM에 로드
OS = kernel + shell(=command interpreter)
현재까지의 컴퓨터 구조를 표현한 것과는 조금 다르게 그림을 그려보면, 이렇게 표현이 가능하다.
OS 는 커널과 명령해석기의 역할을 한다.
kernel(핵심, 핵): OS에서 HW들을 관리해주는 부분
shell=command interpreter): 사용자의 명령을 해석하고 실행해서 보여주는 역할
운영체제 = 정부 (Government)
- 자원 관리자 (resource manager)
- 자원 할당자 (resource allocator)
- 주어진 자원(HW)을 어떻게 가장 잘 활용할까? 국토, 인력, 예산
- 기업이 일하지 정부가 직접 일하지 않는다.
도로는 기업이 만들지, 계획을 세우는 일을 정부가 한다(자원을 관리)
컴퓨터에서 제일 중요한 건? CPU(프로세스)
그 다음 중요한 건? 메모리
마찬가지로, OS에서는 프로세스 관리, 메모리 관리가 중요!
HW를 자원(Resource)이라고 부른다. 이 자원들을 OS가 관리해준다.
그래서 OS를 Resource Manger(관리자)/Allocator(할당자)
HW(자원)을 어디에 할당해줘? Application에게