운영체제 (Operating System)
- 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어
커널 (Kernel)
- 메모리에 올라온 OS의 부분, 좁은 의미의 OS라고도 함
- 소프트웨어가 컴퓨터 시스템에서 수행되기 위해서는 메모리에 적재 되어야 함
- OS도 하나의 SW로서 메모리에 적재되어야 실행할 수 있음
- OS는 규모가 크기 때문에 전부가 메모리에 적재되진 않고 필요한 부분만 적재됨
- (필요할 때마다 그때그때 메모리에 적재됨)
운영체제의 기능
- 프로세스 관리
- 프로세스, 스레드 / 스케줄링 / 동기화 / IPC 통신
- 운영체제에서 작동하는 응용 프로그램을 관리함
- CPU를 점유할 프로세스 결정과 CPU 할당, 공유자원 접근과 통신등을 관리
- 저장장치 관리
- 메모리 관리 / 가상 메모리 / 파일 시스템
- 1차 저장 장치 - 메인 메모리
- 프로세스에 해당하는 메모리 영역의 할당과 해제
- 각 메모리 영역 간의 침범 방지
- 메인 메모리의 효율적 활영을 위한 가상 메모리 기능
- 2차 저장장치 - HDD, NAND Flash Memory
- 파일 형식의 데이터 저장
- 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
- 네트워킹
- TCP / IP / 그 외 프로토콜
- 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 함
- 사용자 관리
- 계정 관리 / 접근권한 관리
- 디바이스 드라이버
- 순차접근 장치 / 임의접근 장치 / 네트워크 장치