운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램이다. 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다.
Rom 안에는 POST(power on self test)와 부트로더(Boot loader)가 있다. pc를 키면 Processor는 먼저 Rom의 POST의 코드들을 읽어 실행시킨다. POST는 키보드, 마우스등 주변장치가 잘 연결되어있는지 검사하는 테스트를 뜻한다. 그 다음 부트로더가 실행된다. 부트로더는 하드디스크에 있는 OS를 메인 메모리의 Ram으로 가져온다. 이러한 과정을 부팅이라고 부른다. OS가 메모리에 올라오면 Rom의 역할은 끝난다.
부팅 과정이 끝나면 바탕화면이 나타난다.
이제부터 OS가 모든 제어를 한다. OS는 하드디스크를 뒤져서 특정 실행파일을 메인 메모리에 올려줄 수 있다. 참고로 프로그램들은 잠시 메모리에 올라왔다가 사라지지만 OS는 전원이 꺼질때까지 메모리에 상주한다.
Rom vs Ram
Rom : 비휘발성, 메모리의 극히 일부분 차지.
Ram : 휘발성, 메모리의 대부분 차지.
OS는 크게 Kernel과 Shell로 나누어져 있다.
OS의 Management들이 Kernel에 해당한다. 특히 Processor Management, Memory Management가 가장 중요하다. 하드웨어는 resource, OS는 resource manager라고도 불린다.
윈도우에 설치되어 있는 프로그램을 리눅스나 IOS로 옮기면 실행 안됨!!