본문 바로가기
IT 및 프로그래밍

운영체제의 다양한 기능

by 데이터 석사 2024. 10. 22.

운영체제는 다양하고 많은 역할을 실행한다. 그리고 이에 따라 주는 기능도 무척 다양한데, 메인 기능을 크게 자원 관리와 시스템 관리로 분류하여 살펴보자.

운영체제의 다양한 기능

자원관리

컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등 이러한 구성하는 요소들을 자원이라고 하는데, 운영체제는 이 자원들을 관리한다.

메모리 관리

운영체제의 메모리 관리하는 기능은 메인 메모리와 보조기억장치로 구분하여 설명할 수 있다.

 

메인 메모리는 대개 프로세서가 직접 주소로 지정할 수 있는 유일무이한 메모리이다. 각 프로세스가 수행할 수 있도록 메인 메모리 공간을 층분히 확보하고, 더불어 각 프로세스가 효과적으로 수행할 수 있도록 메모리를 적당하게 사용해야. 명령어가 메인 메모리에 있어야 프로세서가 명령어를 실행할 수 있으므로, 프로그램을 절대적으로 주소로 맵핑하여 메인 메모리에 저장해야 한다. 메모리에 프로그램을 몇 개 지니게 해야 프로세서 사용률과 컴퓨터 응답 속도를 높일 수 있는데, 이를 위한 다양한 메모리 관리 방법을 개발했다.

 

운영체제는 다음 세부 기능을 실행하여 메인 메모리를 관리한다.

- 메모리의 어느 일부분을 이용하고, 누가 이용하는지 점검한다.

- 메모리에 저장할 프로세스를 선택한다.

- 메모리를 나누어주고 회수하는 방안을 결정한다.

 

프로그램을 실행하려면 먼저 필요한 데이터와 함께 메인 메모리에 존재해야 한다. 대부분의 응용 프로그램은 메인 메모리에 적재할 때까지는 보조기억장치에 지니게 하므로 보조기억장치에서 저장 수단은 매우 중요하다. 메인 메모리는 공간이 제한되어 있어 데이터 전부와 프로그램을 계속 저장할 수 없으므로 보조기억장치를 사용한다.

 

운영체제는 다음 세부 기능을 실행하여 보조기억장치를 관리한다.

- 메모리 접근 요구를 스케줄링한다.

- 빈 여유 공간을 관리한다.

- 파일을 만들고 삭제한다.

- 새로운 파일을 만들 때 저장 장소를 나누어준다.

 

프로세스 관리

프로세스는 수행 중인 프로그램으로 일반적으로 일괄 처리 작업 하나가 프로세스가 되며, 시분할 사용자 프로그램도 하나의 프로세서가 된다. 시스템은 프로세스의 집합으로, 크게 시스템 코드를 실행하는 운영체제 프로세스와 사용자 코드를 실행하는 사용자 프로세스로 구별한다. 또 스풀링과 같은 시스템 작업도 프로세스가 된다. 하나의 프로세스는 프로세스, 메모리, 파일, 입출력장치와 같은 자원이 있어야 일을 실행할 수 있는데, 자원은 프로세스를 만들 때 제공하거나 실행 중에 할당할 수 있다. 모든 프로세스는 프로세스를 나누어 이용하여 병행 수행할 수 있다.

 

운영체제는 다음 세부 기능을 실행하여 프로세스를 관리한다.

- 프로세스를 중단하고 재시작한다.

- 프로세스 동기화 수단을 제공한다.

- 사용자 프로세스와 시스템 프로세스를 만들고 삭제한다.

- 교착 상태를 사전에 막는 방법을 제공한다.

- 프로세스 통신 수단을 제공한다.

- 프로세스와 스레드를 스케줄링한다.

 

주변장치 관리

운영체제는 특수 프로그램인 장치 드라이브를 이용하여 입출력장치와 상호작용한다. 특정 하드웨어에 종속된 프로그램이며, 장치 드라이버는 특정 하드웨어 장치와 연락할 수 있는 인터페이스를 준다.

 

운영체제는 다음 세부 기능을 수행하여 주변장치(입출력장치)를 관리한다.

 

- 일반 장치용 드라이버 인터페이스를 준다.

- 특정 장치 드라이버를 제공한다.

- 임시 저장 시스템 기능을 제공한다.

파일 관리

파일 관리는 입출력 파일의 위치, 저장과 검색 관리를 뜻한다. 운영체제는 파일을 간편하게 이용하려고 보통 디렉터리로 구성하며, 대다수의 사용자가 이것에 접근하려고 할 때는 이 접근을 제어한다. 컴퓨터 시스템은 물리적으로 다양한 형태로 파일을 저장할 수 있는데, 운영체제는 데이터를 효과적으로 이용할 수 있도록 단일화된 저장 형태를 제공한다.

 

운영체제는 다음 세부 기능을 실행하여 파일을 관리한다.

 

- 보조기억장치에 있는 파일을 맵핑한다.

- 안전한 저장장치에 파일을 지니게 한다.

- 파일을 만들고 제거한다.

- 디렉터리를 만들고 제거한다.

시스템 관리

운영체제는 추가로 시스템 보호, 네트워킹, 명령 해석기 기능을 보조한다.

 

시스템 보호

보호는 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근을 컨트롤하는 방법이다. 네트워크로 파일 공유 사이트에 들어갈 때는 다른 이용자의 프로그램에서 보호해야 한다. 컴퓨터 시스템에서는 여러 프로세스를 동시에 수행할 수 있으므로 서로 지켜야 한다. 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 기능서비스를 제공하여 데이터와 시스템을 보안한다.

네트워킹

프로세서는 다양한 방법으로 구성된 네트워크를 사용하여 완전 접속과 일부분 접속 방법으로 이어지게 한다. 이어진 프로세서는 운영체제가 관리하는데, 그 이유는 통신할 때 경로 설정, 접속 정책, 충돌, 보안 등 문제 사항을 고려해야 하기 떄문이다.

명령 해석기

명령 해석기는 운영체제에서 귀중한 시스템 프로그램이다. 사용자가 입력한 명령은 제어문으로 운영체제에 전달하는데, 이 전달이 명령 해석기의 역할이다. 이렇게 명령 해석기는 인터페이스 역할을 수행할 뿐 운영체제는 아니다. 그리고 명령 해석기는 일반적으로 커널과 분리하는 것이 좋다 명령 해서기를 커널에서 분리하면 명령 해석기의 인터페이스를 바꿀 수 있다. 하지만 분리하지 않으면 사용자가 커널의 코드를 바꿀 수 없어 인터페이스를 바꿀 수 없다. 명령 해석기가 커널의 일부분이면 비정상 프로세스가 커널의 특정 부분에 가까이할 수 있으므로 커널에서 분리하는 것이 좋다. 또 사용자나 프로그램에서 대화형으로 입력한 명령어를 이해하고 수행하는 사용자와 운영체제의 인터페이스이다.

 

마무리

운영체제는 메모리, 프로세스, 장치, 파일 등의 자원을 관리하고, 시스템을 보호하고 네트워킹을 지원하며, 명령을 해석하는 역할을 한다. 운영체제의 메모리 관리 기능은 메인 메모리와 보조기억장치를 관리하여 프로그램을 실행하고 데이터를 저장한다. 프로세스 관리 기능은 프로세스를 생성하고 삭제하고 스케줄링하며, 프로세스 간의 동기화를 제공한다. 주변장치 관리 기능은 입출력장치와 상호작용하여 데이터를 입출력한다. 또 파일 관리 기능은 파일을 생성하고 삭제하고 디렉터리를 관리한다. 그리고 시스템 관리 기능은 시스템 보호, 네트워킹, 명령 해석기 기능을 제공한다.