운영체제란?
사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어.
컴퓨터 하드웨어를 (CPU, 메모리, 키보드, 마우스, 스피커, 프린터, 네트워크 등등) 잘 관리하여 성능을 높이고 (Performance) 사용자에게 편의성을 제공하며 (Convenience) 컴퓨터 하드웨어를 관리하는 (Control Program for Computer) 프로그램.
종류
Windows10, UNIX, LINUX, MS-DOS
컴퓨터 구조
프로세서, 메모리 (ROM, RAM), 디스크로 구성.

프로세서가 실행되면 ROM 으로부터 POST와 Boot Loader를 실행.
- POST (Power-On-Self-Test)
- 전원이 켜지면 가장 처음 실행되는 프로그램.
- 컴퓨터가 정상 작동이 가능한 상태인 지를 Self-Test하는 역할.
- Boot Loader
- 하드디스크를 탐색해서 그 안에 들어있는 OS를 RAM (메인 메모리) 영역으로 가져온다.
- 이 과정을 부팅이라고 함.

ROM
- Read Only Memory. 전원 부팅 여부와 관계없이 항상 유지되는 비휘발성 메모리.
- 기본 입출력 시스템, 자가 진단 프로그램 같은 변경 가능성이 없는 시스템 소프트웨어를 기억시키는데 이용.
RAM
- Random Access Memory. 휘발성 메모리로, 작업 중인 파일을 한시적으로 저장.
- CPU(중앙처리장치) : 연산 작업 수행.
- 보조기억장치 : 각종 데이터를 보관하는 작업 수행.
운영체제

PC의 Power가 종료될 때 까지 항상 메인 메모리에 상주 (Resident)
관리 (Management) 프로그램 (프로세서, 메모리, 디스크, 입출력장치 드라이브 포함)
커널 (Kernel)
- 실제 CPU, 메모리, 디스크 등을 관리.
- 운영체제가 수행하는 모든 것이 저장되어있음.
명령 해석기 (Shell, Command Interpreter)
- OS의 바깥 부분에 위치
- 사용자가 커널에 요청하는 명령어를 해석하고 실행하는 역할.
운영체제는 하나의 정부 (Government).
- 자원 관리자 (Resouce Manager), 자원 할당자 (Resource Allocator) 역할 수행.
- 정부가 국토, 인력, 예산 등을 갖고 고민하는 것처럼, 운영체제 역시 주어진 자원을 어떻게 가장 잘 활용할 수 있을 지를 고민함.
- 직접 일을 수행하지 않고, 각 부서에게 일을 시키고 관리하는 역할.
- 프로세스 매니지먼트
- 메모리 매니지먼트
- I/O 매니지먼트
- 파일 매니지먼트
- 네트워크 매니지먼트
- 시큐리티 매니지먼트
- 등등..