운영체제 포스팅은 http://www.kocw.net/home/search/kemView.do?kemId=978503 (KOCW) 를 참고하여 작성됩니다.
운영체제가 없는 PC는 어떨까?
야생마와 같다. 프로그램 실행과 같은 동작을 할 수 없게된다.
하드디스크에 있는 파일을 메모리에 올릴수 없다.
즉 하드디스크에 있는 파일을 운영체제가 올려주는것!
운영체제란?
하드웨어를 잘 관리하는것.(하드웨어: 프로세서, 메모리, 디스크…)
이를 통해 성능을
올리고 사용자에게 편의성
을 제공
부팅
메모리는 램, 롬으로 나뉜다. 대부분은 램으로 구성된다. 롬은 많아야 수백키로바이트밖에 되지 않는다,그렇다면 ROM이 필요한 이유는?
전원을 껐다 켜면 램의 데이터는 다 날라가는데 ROM은 그렇지 않다.
컴퓨터를 부팅하면 프로세서는 ROM에 있는 코드를 읽어온다.
그렇다면 ROM에는 어떤 프로그램이 있으며 부팅과정은?
1.POST(Power On Self Test) 프로그램을 ROM에서 가져와 실행
POST?
모니터는 끼워져있는가, 키보드는 꽂아져 있나, 메모리는 얼마인가 등을 확인하는 프로그램
2.부트로더(Boot loader)를 ROM에서 가져와 실행.
부트로더는?
하드디스크를 뒤져서 os를 메인메모리(RAM)로 갖고온다. 이를 부팅이라 한다.
메모리에 올라온 OS는 컴퓨터가 종료될때 까지 지워지지 않는다. 하지만 다른 응용프로그램들은 프로그램 종료에 따라 지워지게된다. 그래서 OS를 메모리 Resident
라고 한다.
커널과 쉘
OS는 하드웨어를 감싸고 있는데 하드웨어를 제외한 부분을 kernel
이라고 한다. 또한 OS의 바깥부분을 (shell,command interpreter)
이라 한다.
어떤 명령을 내릴 수 있도록 만드는것을 (shell,command interpreter
)이라고 한다.
다시말해 OS바깥부분에 위치해서 사용자의 명령을 받아들이는 곳. 그 명령을 인터프리터(해석해서) 명령을 실행해주는 것!
커널
은 실제로 Cpu,메모리, 디스크를 관리하는것.
응용프로그램 동작?
응용프로그램은 O/S위에서 동작한다.
즉 맥킨토시 app을 윈도우에서 실행하면 동작하지 않는다.
OS 는 정부와 비슷하다.
주어진 자원을 어떻게 활용할까에 대한 고민을 하는것이 유사!
정부에도 여러가지 부서가 있듯이 OS안에도 많은 부서가 존재!
프로세스 매니지먼트 - 프로세스 관리부서
메모리 매니지먼트 - 메모리 관리
IO 매니지먼트 - 프린트, 키보드 관리
파일 매니지먼트 - 파일관리
네트워크 매니지먼트 - 네트워크 관리
시큐어티 매니지먼트 - 보안관리
…..
이런부분을 모두 운영체제의 커널로 불린다.
가장중요한것은 프로세스 매니지먼트! CPU가 가장비싸니까 가장 중요하고 프로그램 동작에 핵심이다.
그다음으로 중요한것이 메모리 매니지먼트