OS
운영체제란
운영체제는 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램입니다.
여기서 자원은, 프로그램 실행에 마땅히 필요한 요소들을 뜻합니다.
즉, CPU, 메모리, 입/출력 장치 등과 같은 컴퓨터 부품들을 말하는 겁니다.
운영체제는 인터넷 브라우저, 게임과 같은 프로그램입니다.
즉, 여느 프로그램과 다를 바 없이 메모리에 적재되어야 합니다.
하지만 인터넷 브라우저, 게임과 같은 프로그램과는 다른점은 운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅 될 때 메모리 내 커널 영역이라는 공간에 적재되어 실행됩니다.
정리하면, 운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 정상적으로 실행되도록 도와주는 프로그램입니다.
참고로 사용자 영역은 커널 영역을 제외한 모든 영역, 사용자가 이용하는 응용 프로그램이 적재된 영역을 뜻합니다.
위의 메모리에 3개의 응용 프로그램이 적재되어 있다고 가정해보겠습니다.
잘 보면 프로그램들이 메모리 주소가 겹치지 않게 적재되어있는 걸 볼 수 있습니다.
여기서 프로그램들을 번지가 겹치지 않게 적재해주는 것이 바로 운영체제입니다.
운영체제는 실행할 프로그램을 메모리에 적재하고 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리합니다.
또한 어느 한 프로그램이 CPU를 독점하면 다른 프로그램들은 올바르게 실행될 수 없기 때문에 운영체제는 공정하게 여러 프로그램들에게 CPU 자원을 할당합니다.
예를 들어서 2개의 프로그램이 프린터를 이용하려고 할 때, 동시에 사용하지 못하도록 막고, 하나의 프로그램이 프린터를 이용하는 동안 나머지 프로그램은 기다리게 만들어 프린터 자원을 관리합니다.
운영체제의 분류
동시 작업 가능 여부
- 단일 작업
한 번에 하나의 작업만 처리됩니다.- 예: MS-DOS
- 단일 작업 운영체제는 한 번에 하나의 작업만을 수행할 수 있으며, 작업이 완료될 때까지 기다려야 합니다.
이러한 운영체제는 초기 컴퓨터 시스템에서 주로 사용되었습니다.
- 다중 작업
동시에 두 개 이상의 작업 처리됩니다.- 예: UNIX, MS Windows
- 다중 작업 운영체제는 여러 작업을 동시에 처리할 수 있으며, 한 작업의 완료를 기다리지 않고 다른 작업을 수행할 수 있습니다. 이러한 운영체제는 현대의 대부분의 컴퓨터 시스템에서 사용됩니다.
사용자의 수
- 단일 사용자
하나의 사용자만 접속 가능합니다.- 예: MS-DOS, MS Windows
- 단일 사용자 운영체제는 한 번에 하나의 사용자만이 시스템에 접속하여 작업할 수 있습니다. 이러한 운영체제는 개인용 컴퓨터나 소규모 환경에서 주로 사용됩니다.
- 다중 사용자
여러 사용자 동시 접속 가능합니다.- 예: UNIX, NT server
- 다중 사용자 운영체제는 여러 사용자가 동시에 시스템에 접속하여 작업할 수 있습니다. 이러한 운영체제는 대규모 서버나 네트워크 환경에서 주로 사용됩니다.
처리 방식
- 일괄 처리
작업 요청의 일정량을 모아서 한 번에 처리됩니다.- 일괄 처리 운영체제는 작업 요청을 모아서 일괄적으로 처리합니다. 작업이 완전히 종료될 때까지 다음 작업이 수행되지 않습니다. 초기 컴퓨터 시스템에서 주로 사용되었습니다.
- 시분할
여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용됩니다.- 시분할 운영체제는 컴퓨터의 처리 능력을 일정한 시간 단위로 분할하여 여러 작업을 번갈아가며 수행합니다. 사용자는 작업을 거의 동시에 수행하는 것처럼 느낄 수 있습니다. 대부분의 현대 운영체제가 이 방식을 사용합니다.
- 실시간
정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 운영체제입니다.- 실시간 운영체제는 작업을 정해진 시간 안에 반드시 완료해야 하는 시스템에 사용됩니다. 예를 들어 원자로, 공장 자동화, 미사일 제어 등에 적용됩니다.
실시간 시스템의 개념 확장
- 경성 실시간 시스템:
- 높은 우선순위의 작업에 대해 엄격한 시간 요구가 있는 시스템.
- 연성 실시간 시스템:
- 높은 우선순위의 작업에 대해 상대적으로 완화된 시간 요구가 있는 시스템.
운영체제 종류
UNIX
- C언어로 작성
- 높은 이식성
- 최소한의 커널 구조
- 확장이 용이
- 프로그램 개발에 용이
- 다양한 버전
DOS
- MS사에서 1981년 IBM-PC를 위해 개발
- 단일 사용자용 운영체제
- 메모리 관리 능력의 한계 (주 기억 장치: 640KB)
MS Windows
- MS사의 다중 작업용 GUI 기반 운영체제
- Plug and Play, 네트워크 환경 강화
- DOS용 응용프로그램과 호환성 제공
- 불안정성
- 다양한 지원 소프트웨어
이 외에도 다양한 운영체제가 있습니다.
결론
운영체제는 타 응용 프로그램과 마찬가지로 메모리에 적재되어 실행되지만, 특별한 프로그램이기 때문에 컴퓨터가 부팅 될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행됩니다.
운영체제는 응용 프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원을 할당하고 응용 프로그램이 올바르게 실행되도록 관리하는 역할을 맡고 있습니다.