운영체제
- 대표적인 시스템 소프트웨어
- 목적: 컴퓨터 시스템을 효율적 운영
- 컴퓨터 시스템 자원 관리
- 자원이란?
- 하드웨어 자원 ( 키보드나 마우스 제어)
- 소프트웨어 자원 (프로그램 동시 실행 시 CPU 와 메모리를 효율적으로 권리)
- 데이터 (저장장치에서 데이터 읽어 오기)
- 컴퓨터 프로그램이 동작하기 위한 서비스 제공 (사용자 지원)
- 사용자의 명령을 해석하여 실행
- 사용자와 하드웨어 사이의 매개체 역할
- 사용자에게 편의성 제공
운영체제 구성
- 프로세스 관리자
- 프로세스 생성 및 삭제
- CPU 할당을 위한 스케줄 결정
- 프로세스의 상태 관리, 상태 전이 처리
- 메모리 관리자
- 메모리(주 기억 장치) 공간에 대한 요구의 유효성 확인 (메모리 공간 관리)
- 메모리 할당 및 회수
- 메모리 공간 보호
- 파일 관리자
- 컴퓨터 시스템의 모든 파일 관리
- 저장 장치의 공간 관리 (파일은 기본적으로 저장 장치의 공간을 할당하여 관리)
- 파일의 접근 제한 관리
- 장치 관리자
- 컴퓨터 시스템의 모든 장치(하드 디스크, SSD, 키보드, 프린터, 네트워크 카드 등) 관리
- 시스템 장치의 할당, 작동, 반환
운영체제의 유형
- 일괄처리 운영체제
- Batch processing
- 작업을 모아서 순서대로 처리하는 방식
- 시분할 운영체제
- Time-sharing
- 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식
- 대화형 운영체제라고도 한다.
- 응답 시간이 일괄처리 운영체제보다 크게 단축됨
- 실시간 운영체제
- Real-time
- 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식
- 우선 순위가 높은 작업을 우선 처리할 수 있는 기법 사용
- 처리 결과가 현재의 결정에 영향을 주는 환경에서 사용
- 미사일 제어 시스템, 증권 거래 관리 시스템 등
- 분산 운영체제
- 네트워크로 연결되어 있는 분산 시스템을 관리하기 위한 운영체제
- 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 가능해야 한다.