운영체제란 사용자와 하드웨어 사이에서 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며, 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어이다.
운영체제의 개념과 발전 목적
1. 운영체제의 개념
운영체제는 사용자가 하드웨어에 접근할 수 있는 유일한 수단
사용자가 응용 프로그램을 실행할 수 있는 기반 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와줌
운영체제의 구성
- 사용자 : 어떤 일을 수행하려고 컴퓨터를 사용하는 사람
- 소프트웨어 : 컴퓨터가 기능을 수행하는데 필요한 모든 프로그램
- 시스템 소프트웨어 : 컴퓨터의 자원을 관리하고 응용 프로그램의 실행을 지원하여 컴퓨터를 제어하는 프로그램
- 유틸리티 : 응용 프로그램보다 작지만 컴퓨터의 여러 처리 과정을 보조하여 성능을 개선하는 프로그램
- 응용 프로그램 : 어떤 문제를 해결하려고 사용자가 전문가가 만든 프로그램 (ex. 웹 브라우저, 워드 프로세서, 게임, 편집 프로그램)
- 하드웨어 : 기본 연산 자원을 제공하는 프로세서, 메모리, 주변장치 등으로 구성
운영체제의 역할
- 조정자 : 직접 다른 프로그램이 수행하는 특정 작업을 하는 것이 아니라, 작업을 할 수 있는 환경만 제공
- 자원 할당자 / 관리자 : 각 응용 프로그램에 필요한 자원을 공정하고 효율적으로 할당
- 응용 프로그램과 입출력장치 제어자 : 다양한 입출력장치와 응용 프로그램을 제어한다.
2. 운영체제의 발전 목적
편리성 : 사용자가 프로그램을 효율적으로 실행할 수 있는 환경을 제공
효율성 : 프로그램을 유기적으로 결합하여 시스템 성능을 향상
제어 서비스 향상 : 컴퓨터 자원 등을 여러 사용자에게 효율적으로 할당하고 관리할 수 있도록 제어 서비스 발전
시스템 성능은 아래 기준들에 의해 결정
처리량 : 단위 시간당 처리 작업량
지연/응답시간 : 사용자가 시스템에 작업을 의뢰한 후, 반응을 얻기까지 걸린 시간
신뢰도 : 하드웨어나 소프트웨어가 실패 없이 주어진 기능을 수행할 수 있는 능력
사용 가능도 : 사용자가 일정 기간 동안 컴퓨터를 실제로 사용한 시간
운영체제의 기능
1. 자원 관리
1-1. 메모리 관리
메인 메모리 관리
- 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
- 메모리에 저장할 프로세스를 결정
- 메모리를 할당하고 회수하는 방법을 결정
보조기억장치 관리
- 빈 여유 공간을 관리
- 새로운 파일을 작성할 때 저장 장소를 하당
- 메모리 접근 요청을 스케줄링
- 파일을 생성하고 삭제
1-2. 프로세스 관리
- 프로세스와 스레드를 스케줄링
- 사용자 프로세스와 시스템 프로세스를 생성하고 제거
- 프로세스를 중지하고 재수행
- 프로세스 동기화 방법 제공
- 프로세스 통신 방법을 제공
- 교착 상태를 방지하는 방법 제공
1-3. 주변장치(입출력장치) 관리
- 임시 저장 시스템 기능을 제공한다.
- 일반 장치용 드라이버 인터페이스를 제공
- 특정 장치 드라이버를 제공
여기서 드라이버는 특정 하드웨어장치와 통신할 수 있는 인터페이스를 제공한다.
1-4. 파일(데이터) 관리
- 파일을 생성하고 삭제한다.
- 디렉터리를 생성하고 삭제한다.
- 보조기억장치에 잇는 파일을 맵핑한다.
- 안전한(비휘발성) 저장장치에 파일을 저장한다.
2. 시스템 관리
2-1. 시스템 보호
파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공하여 데이터와 시스템을 보안
2-2. 네트워킹(통신)
네트워크 통신할 때 고려해야 하는 경로 설정, 접속 정책, 충돌, 보안 등의 문제를 관리
2-3. 명령 해석기
사용자나 프로그램에서 입력한 명령어를 이해하고 실행
사용자가 입력한 명령은 제어문으로 운영체제에 전달되는데, 이 전달을 명령 해석기가 담당
해당 글은 <운영체제: 그림으로 배우는 구조와 원리>를 읽고 정리한 내용입니다.
IT CookBook, 운영체제(개정3판)
구현회 koohhoe@gmail.com 배화여자대학교 스마트IT학과 명예교수로 연구와 집필 활동 중이다. 운영체제 외에도 유닉스 서버, 컴퓨터 보안, 데이터베이스 등에 관심이 많으며, 강의도 이 범주에서 진
books.google.co.kr
'CS > 운영체제' 카테고리의 다른 글
[OS] 스레드의 상태 변화와 구현 (0) | 2023.11.20 |
---|---|
[OS] 프로세스의 상태 변화와 관리 (0) | 2023.11.20 |
[OS] 운영체제의 서비스와 구조 (0) | 2023.11.05 |
[OS] 운영체제의 유형 (0) | 2023.11.05 |
[OS] 컴퓨터 시스템의 동작 (0) | 2023.11.05 |