운영 체제
위키백과 ― 우리 모두의 백과사전.
운영 체제(영어: operating system, OS)는 컴퓨터 안의 하드웨어와 기본 시스템의 동작을 직접적으로 제어하고 관리하는 일을 하는 시스템 소프트웨어이다.
흔히 말할 때 컴퓨터를 사서 다른 소프트웨어를 설치하기 전에 이미 설치되어 있는 모든 소프트웨어를 의미하기도 한다.
운영 체제는 다른 응용 프로그램들이 메모리와 입출력 장치를 사용할 수 있도록 만들어 주고, 파일 시스템에 접근할 수 있도록 해 준다. 여러 개의 응용 프로그램을 실행하고 있는 동안, 운영 체제는 이러한 모든 프로세스들을 스케줄링하여 서로가 방해 없이 공정하게 수행할 수 있도록 만들어 준다.
목차 |
[편집] 운영체제의 목적
- 사용자가 프로그램을 편리하게 사용할 수 있는 환경을 제공한다.
- 자원을 최대한 공정하고 효율적으로 프로세스에 할당한다.
- 오류나 올바르지 않는 자원 낭비를 막기 위해 사용자 프로그램의 실행, 작동 상태을 관리하고 입출력 장치를 제어한다.
[편집] 운영체제의 역할
- 프로세스 관리
- 사용자 프로세스와 시스템 프로세스들을 생성하거나 삭제하고, 중단시키거나 재개시킨다. 프로세스들의 동기화와 통신, 교착상태 처리에 관한 메커니즘을 제공한다.
- 메모리 관리
- 메모리의 어떤 부분을 누가 사용하는지를 감시하고, 기억 공간이 가용할 때 프로세스들을 메모리에 적재시킨다. 필요에 따라 기억 공간을 할당하거나 해제시킨다.
- 2차 기억장치 관리
- 빈 공간을 관리하고 저장장치를 할당하며 디스크 스케줄링을 수행한다.
[편집] 분류와 용어 설명
운영 체제는 개념적으로 세 개의 구성 요소로 구분할 수 있다. 그 세 부분은 셸, 커널 그리고 낮은 수준의 유틸리티이다. 그 이름이 암시하듯이, 셸은 커널을 감싸는 껍데기로, 커널에 명령을 내리는 일을 한다.
하드웨어 ↔ 커널 ↔ 셸 ↔ 응용 프로그램
몇몇 운영 체제에서 셸과 커널은 완전히 독립되어 있어서 사용자들이 다양한 조합의 셸과 커널을 구성할 수 있다. (예: 유닉스) 그러나, 그 구별이 단지 개념적이고 실제로는 통합된 형태인 운영 체제도 있다. (예 마이크로소프트 윈도)
[편집] 범위 및 논란
어디까지를 운영체제로 보아야 하는지는 몇가지 다른 의견이 있다. 어떤 운영체제는 1메가바이트 미만의 용량으로 화면을 꽉 메우는 문장 편집기가 없는 반면, 또 어떤 운영체제는 수백메가바이트 이상의 용량으로 그래픽 인터페이스와 여러가지 많은 응용 프로그램들을 포함하고 있다. 어디까지를 운영체제의 범위로 볼 것인가 하는 문제는 다음의 경우에 분명히 드러난다. 1998년 미국 법무부는 마이크로소프트에 대해 소송을 제기하였는데, 요점은 마이크로소프트가 운영체제에 너무 많은 기능을 포함시켜 응용프로그램 제작업체들에게 피해를 주었다는 것이다. 보편적인 의미에서의 운영체제는 일반적으로 커널이라 불리는 항상 수행되는 프로그램을 말하며, 다른 것들은 응용 프로그램으로 분류한다.
[편집] 운영 체제의 예
[편집] 관련 항목
[편집] 바깥 고리
|
|
|
|---|---|
| 수학적 기초 | 수리논리학 · 집합론 · 정수론 · 그래프 이론 · 형 이론 · 범주론 · 수치해석 |
| 계산 이론 | 오토마타 이론 · 계산 가능성 이론 · 계산 복잡도 이론 · 양자 계산 이론 |
| 알고리즘 & 자료 구조 | 알고리즘 해석 · 알고리즘 · 알고리즘 설계 · 자료구조 · 계산 기하학 |
| 프로그래밍 언어 & 컴파일러 | 구문 분석 · 컴파일러 · 인터프리터 · 프로그래밍 언어 · 순차적 프로그래밍 · 객체지향 프로그래밍 |
| 병행,병렬 & 분산 시스템 | 병행 컴퓨팅 · 분산 컴퓨팅 · 병렬 컴퓨팅 · 그리드 컴퓨팅 |
| 소프트웨어 공학 | 요구 분석 · 소프트웨어 설계 · 컴퓨터 프로그래밍 · 형식수법 · 소프트웨어 테스팅 · 소프트웨어 개발 |
| 시스템 아키텍처 | 컴퓨터 아키텍처 · 마이크로아키텍처 · 운영체계 |
| 통신 & 네트워크 | 컴퓨터 오디오 · 라우팅 · 네트워크 토플로지 · 암호학 |
| 데이터베이스 | 데이터 마이닝 · RDBMS · SQL |
| 인공 지능 | 자동추론 · 전산언어학 · 컴퓨터 비전 · 진화연산 · 기계학습 · 자연언어 처리 · 로봇학 |
| 컴퓨터 그래픽 | Visualization · 영상 처리 |
| 인간과 컴퓨터 상호 작용 | Computer accessibility · 사용자 인터페이스 · 착용 컴퓨터 · 유비쿼터스 컴퓨팅 · 가상현실 |
| 계산과학 | 인공생명 · 생물정보학 · 인지과학 · 계산화학 · 계산론적 신경과학 · 계산물리학 · 수치해석 · Symbolic mathematics |

