운영체제의 개념
운영체제의 개념과 기능에 대하여 알아보자.
윌리엄 스탈링스는 운영체제란 사용자가 컴퓨터 시스템을 손쉽게 사용하도록 하고, 시스템 자원을
효율적으로 관리할 수 있도록 하는 프로그램의 집합이라고 정의하였다.
간단히 말하자면 컴퓨터와 사용자를 의사소통하게 하는 프로그램이라 생각하면된다.
컴퓨터는 0과 1로 이루어져 있다.
사용자가 '자'라고 입력하면 '자'라는 것은 0과 1로 변환되어 컴퓨터로 전송하여
인식할 수 있게 하는것이다.
반대로 컴퓨터에서 어떠한 오류나 결과값을 0과 1로 구성하여 전송한다면 운영체제에서 그것을
해석 혹은 변환하여 사용자에게 오류라고 화면에 비춰주는 것이다.
이러한 운영체제의 기능을 정의하자면 어떻게 정의할 수 있을까?
- 입출력 장치 관리
아이콘이나 명령 창에서 프로그램을 실행시킨다면 운영체제는 이를 처리할 프로세스를 생성한다.
이 프로세스는 저장 장치 내의 운영체제가 미리 할당하여둔 위치에서 해당 데이터를 읽는다.
따라서, 특정 프로그램의 실행 과정에서 운영체제가 하는 첫번째 기능은 입출력 장치의 관리이다.
- 시스템 자원 관리
저장 장치에서 읽은 데이터는 메모리에 할당되어 저장된다.
이때 운영체제는 시스템의 자원에 해당하는 메모리와 프로세스를 제어하는데,
이를 시스템 자원 관리라고 하며 이것이 운영체제의 두번째 기능이다.
실행된 프로그램은 여러 다른 프로그램과 운영체제가 제공하는 적절한 규칙에 따라
CPU와 램, 데이터 버스 등의 시스템 자원을 할당 받아 사용한다.
- 에러 검추로가 조치
프로그램이 항상 정상적으로 실행되는 것은 아니다.
많은 프로그램이 에러를 발생시키며 비정상적으로 동작하기도 한다.
이러한 경우, 이에 대한 조치 역시 운영체제가 한다.
잘못 실행된 프로세스를 찾아 제거하고, 잘못 할당된 메모리를 다시 초기화하며
사용자에게 잘못된 실행임을 알린다.
이를 에러 검출과 조치라고 하며 이것이 운영체제의 세번째 기능이다.
여기까지가 운영체제의 기본적인 기능이다. 하지만, 운영체제가 지속적으로 발전하며 현재의 운영체제는
이 세가지 기능 이외에도 시스템 성능 감식, 계정 관리, 네트워크 관리 등 많은 것을 할수가 있다.
또한 운영체제는 여기서 뭠추기 않고 지속하여 발전하며 기능이 매우 다양해지고 있다.
현재는 운영체제와 워드프로세서만을 설치하여도 컴퓨터를 이용하여 대부분의 기능을 사용할 수 있다.
운영체제는 크게 제어프로그램이 처리 프로그램으로 이루어져 있다.
제어 프로그램은 시스템의 동작을 감시하고, 여러가지 프로그램이 올바르게 동작하도록 제어하며,
하드웨어를 구동한다. 제어 프로그램에는 시스템의 동작 상태를 지속하여 모니터링 하는 감시 프로그램,
전체 시스템 자원을 관리하는 마스터 스케줄러, 특정 프로세스에 대한 자원의 사용을 관리하는 작업
스케줄러가 있다.
처리 프로그램은 이러한 제어 프로그램의 관리를 받으며 실제의 문제를 실행하고 해결한다.
처리 프로그램에는 고급 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있는 형태의
기계어로 변경시켜주는 언어 번역 프로그램, 여러 프로그램이 공통으로 사용하는 일정 패턴을
수행할 수 있는 서비스 프로그램, 그리고 메모장이나 계산기와 같이 특정한 기능을 위한 응용 프로그램
이 있다.