운영체제(Operating System, OS)의 개념 및 기능


1. 운영체제의 개념과 발전

운영체제는 사용자의 작업명령이나 응용 소프트웨어의 실행을 위해 하드웨어 자원을 할당하고 제어하는 

프로그램으로 컴퓨터 시스템 내에서 플랫폼 역할을 한다.

그림 - 운영체제의 역할

 

운영체제는 컴퓨터의 시동을 관장하며, 사용자 인터페이스를 제공하고, 프로그램을 실행시킬 뿐만 아니라, 

메모리나 파일을 관리하고, 주변기기를 관리하며, 네트워크에 연결하는 등의 작업을 수행한다. 


초창기 컴퓨터에서는 별도의 운영체제 개념이 적용되지 않았다.

그러나 1960년대 IBM System/360 시리즈에서 유사한 기종에 같은 시스템 소프트웨어를 적용함으로써 

메인프레임 컴퓨터 시스템에서 운영체제 개념이 태동하게 되었다.

이후 1970년대에 미니컴퓨터에서 UNIX, VMS, Microsoft에서 CP/M, DOS, Apple에서 Mac OS 등의 운영체제가 탄생하였다.


1990년대에는 MS Windows와 같은 그래픽 인터페이스 방식의 운영체제가 주류를 이루었으며, 2000년대에는 

모바일 기기 등 소형기기에는 임베디드 운영체제가 적용되었다.


운영체제는 컴퓨터의 크기별 종류에 따라 구분되기도 한다. 

메인프레임용 운영체제, 미니컴퓨터 및 워크스테이션용 운영체제, PC용 운영체제, 모바일 운영체제에 따라 

시스템 소프트웨어의 규모 및 특성을 달리하고 있다.


2. 운영체제의 기능


1) 컴퓨터의 시동 (Booting)


컴퓨터 시스템을 사용할 때 사용자가 제일 먼저 하는 일은 컴퓨터를 시동시키는 일로서 

운영체제의 가장 기본적인 기능 중 하나이다.

컴퓨터를 시동시키는 방법으로는 전원 버튼을 누름으로써 전원을 연결시켜 컴퓨터를 시작시키는 

Cold booting과 컴퓨터가 켜져 있는 상태에서 재시작 시키는 Warm booting이 있다.


그림 - 컴퓨터를 시동시키는 부팅기능은 ROM에 저장된 Firmware에 의해 수행된다.


이후 시동이 되고 나면 하드디스크에 저장된 운영체제 프로그램 중에서 핵심이 되는 부분이 

커널 (Kernel)이 주메모리에 로드되어 기본 작업을 수행하게 된다. 


커널 부분은 메모리 상주 프로그램 형태로 실행되어 눈에 보이지 않고 백그라운드에서 

작업을 수행하며 운영체제의 나머지 기능은 필요할 때 해당부분을 로드하여 실행한다.


또한 컴퓨터가 시동되면 운영체제에서 하드웨어의 연결 상태를 확인하여 시스템의 구성목록을 관리하게 된다.


2) 사용자 인터페이스 제공


사용자가 컴퓨터 시스템이나 소프트웨어와 대화하려면 사용자 인터페이스를 통해서 가능한데, 

사용자의 명령이나 데이터를 입력받으면 운영체제는 입력된 데이터를 컴퓨터가 이해할 수 있는 

형태로 변환을 해 주고 또한 처리 결과를 사용자가 알 수 있도록 화면에 다양한 형태로 출력해준다.


사용자 인터페이스의 유형으로는 


명령어 방식 (Command Line)


메뉴 방식 (Menu Driven)


그래픽 방식 (Graphical User Interface) 등이 있다.


3) 프로그램 실행관리

시스템 자원을 프로그램이나 주변 기기에 할당하여 실행을 제어하는 작업을 말한다.

컴퓨터내 CPU가 하나인 경우 작업을 순서대로 돌아가며 실행하는 시분할 기법이 사용되며 

사용자가 다수의 작업을 위해 해당되는 다수의 프로그램을 실행할 경우 여러개의 CPU가 수행하는 

다중작업(Multitasking)이 필요하게 된다.


CPU가 작업을 처리하는 방식에는 몇가지가 있다.


시분할 (Time Sharing) 방식,


병렬처리 (Parallel Processing) 방식,


다중처리 (Multiprocessing) 방식등이 있다.


운영체제는 메모리 또한 관리를 하는데 CPU 내에 있는 빠른 속도의 레지스터와 캐시 메모리, 

주메모리인 RAM 및 디스크 등의 메모리 사용을 최적화 하는 것이 목적이다.

현재 수행 중인 작업에서 프로그램과 데이터를 적절한 메모리 영역에 할당하고 

프로그램의 실행이 완료된 후에는 이들을 제거하는 일을 한다.

운영체제에서 커널 부분과 상황에 따라 필요한 기능, 실행 중인 프로그램, 작업 중인 데이터 등을 

주메모리인 RAM에 상주시켜야 하는데 경우에 따라서 RAM 용량이 부족한 경우가 있다.

이런 경우 하드디스크 일부를 RAM 처럼 활용하는 가상메모리 (Virtual Memory) 방식을 적용한다.

실행 중인 프로그램을 적당한 크기로 나누어 현재 실행에 꼭 필요한 부분은 RAM에 배치하고 

당장 필요하지 않는 부분은 하드디스크에 배치하였다가 필요하게 되면 바꾸어 로드하여 RAM 용량이 

훨씬 큰 것처럼 느끼도록 처리한다.


5) 파일 관리


이 기능은 하드디스크에 파일을 계층적 구조의 폴더로 저장시키는 역할을 한다.

일반적으로 파일이름은 문자나 숫자 등으로 구성되며, 이름 끝에 점(.) 다음에는 파일의 종류를 알 수 있도록 확장자를 붙인다.

[예:.exe/.com/.bat/.hwp/.doc/.ppt/.bmp/..zip/.mp3]


6) 기타 기능

보안 기능, 암호화 및 압축 기능, 인터넷 연결 작업, 네트워크 제어 기능 등이 있다.


3. 운영체제의 종류


1) 데스크탑 운영체제

Microsoft의 DOS, Windows 계열 (NT, 98, ME, 2000, XP, Vista, 7, 8, 10, Server)

Apple의 Mac OS

AT&T Bell 연구소의 UNIX

UNIX 계열의 공개 버전인 Linux


2) 네트워크 기반 및 메인 프레임 운영체제

Windows NT, SUN Solaris, IBM OS/2, UNIX, Linux


3) 모바일 기기용 임베디드 (Embedded) 운영체제

Windows CE

Embedded Linux

RTOS (Palm OS, Symbian OS)



+ Recent posts