
하드웨어를 어떻게 사용할 것인가?에서 출발
1. 자원 관리
cpu, 메모리, 저장 장치, 입출력 장치 등 컴퓨터 자원을 관리한다.
각 응용 프로그램이 필요한 자원을 효율적으로 사용할 수 있도록 할당하고 조정한다.2. 프로세스 관리
실행 중인 프로세스(프로그램의 실행 단위)를 관리하고 스케줄링한다.
이를 통해 여러 프로그램이 동시에 실행될 수 있도록 하고, 각 프로세스가 공정하게 CPU 시간을 할당받을 수 있도록 한다.3. 메모리 관리
시스템의 물리적 메모리(RAM)와 가상 메모리를 관리한다.
프로그램이 사용할 수 있는 메모리 공간을 할당하고, 메모리 누수나 충돌을 방지한다.4. 파일 시스템 관리
파일과 디렉터리의 생성, 삭제, 읽기, 쓰기 작업을 관리한다.
데이터를 저장하고 접근할 수 있는 구조를 제공한다.5. 입출력 시스템 관리
다양한 입출력 장치(키보드, 마우스, 프린터 등)와의 상호작용을 관리한다.
장치 드라이버를 통해 하드웨어와 소프트웨어 간의 통신을 담당한다.6. 사용자 인터페이스 제공
사용자와 컴퓨터 간의 상호작용을 위한 인터페이스를 제공한다.
이는 명령어 기반의 쉘(Shell)일 수도 있고, 그래픽 사용자 인터페이스(GUI)일 수도 있다.7. 보안 및 권한 관리
시스템 자원에 대한 접근 권한을 제어하고, 사용자 인증과 권한 부여를 통해 보안을 유지한다.