프로세스 관리
운영체제에서 작동하는 응용 프로그램을 관리하는 기능
프로세스, 스레드, 스케줄링, 동기화, IPC 통신 등
어떤 의미에서는 프로세서(CPU)를 관리하는 것이라고 볼 수도 있음
현재 CPU를 점유할 프로세스 결정, CPU 프로세스에 할당, 프로세스 간 공유 자원 접근과 통신 등 관리
저장장치 관리
메모리 관리, 가상 메모리, 파일 시스템
1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능
FAT, NTFS, EXT2, JFS, XFS
등 많은 파일 시스템들이 개발되어 사용 중네트워킹
TCP/IP, 기타 프로토콜
네트워킹은 컴퓨터 활용의 핵심과도 같음
TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 함
현재 사용 OS들은 다양하고 많은 네트워크 프로토콜 지원
운영체제의 역할
운영체제: 사용자 <-> 컴퓨터 하드웨어 사이에 위치
하드웨어를 운영/관리하고 명령어를 제어: 응용 프로그램 및 하드웨어를 소프트웨어적으로 제어/관리해야함
사용자 관리
계정 관리, 접근권한 관리
하나의 PC로도 여러 사람이 사용하는 경우가 많다.
운영체제의 역할
운영체제: 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 함
각자의 계정을 만들어 PC 사용 => 각 계정 관리 기능 필요
사용자 별로 프라이버시/보안을 위해 개인 파일에 다른 사용자가 접근 불가하게
파일/시스테 자원에 접근 권한을 지정할 수 있도록 지원하는 사용자 관리 기능
디바이스 드라이버
운영체제 안에 하드웨어를 추상화해주는 계층이 필요
하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재
수많은 디바이스 드라이버들을 관리하는 기능도 운영체제가 맡고 있음