[운영체제] 운영체제의 기능

hi·2022년 9월 5일
0

운영체제

목록 보기
2/9

운영체제의 기능

운영체제는 크게 자원 (resource) 관리와 시스템 관리로 분류할 수 있음

1. 자원관리
컴퓨터 시스템의 메모리, 프로세스, IO Device, Storage (File System) 등의 구성 요소를 자원이라고 하는데, 운영체제는 이 자원을 관리함



1.1 메모리 관리

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


  • 메인 메모리 관리
    메인 메모리는 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리이다. 명령어가 메인 메모리에 있어야 프로세서가 명령어를 수행할 수 있으므로, 프로그램을 절대 주소로 맵핑하여 메인 메모리에 저장햐야 한다. 운영체제는 다음 세부 기능을 수행하여 메인 메모리를 관리한다.
  • 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
  • 메모리에 저장할 프로세스를 결정
  • 메모리를 할당하고 회수하는 방법을 결정



  • 보조기억장치 관리
    프로그램을 실행하려면 먼저 필요한 데이터와 함께 메인 메모리에 있어야 한다. 그런데 메인 메모리는 공간이 제한되어 있어 모든 데이터와 프로그램을 계속 저장할 수 없으므로 보조기억장치를 이용한다. 운영체제는 다음 세부 기능을 수행하여 보조기억장치를 관리한다.
  • 빈 여유 공간 관리
  • 새로운 파일을 작성할 때 저장 장소를 할당한다
  • 메모리 접근 요청을 스케줄링한다
  • 파일을 생성하고 삭제한다.



1.2 프로세스 관리

프로세스는 실행 중인 프로그램으로 보통 일괄 처리 작업 하나가 프로세스가 되며, 시분할 사용자 프로그램도 하나의 프로세스가 된다. 하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원이 있어야 업무를 수행할 수 있는데, 자원은 프로세스를 생성할 때 제공하거나 실행 중에 할당할 수 있다. 시스템은 프로세스의 집합으로, 시스템 코드를 수행하는 운영체제 프로세스와 사용자 코드를 수행하는 사용자 프로세스로 구분한다. 모든 프로세스는 프로세서를 분할 사용하여 병행 수행할 수 있다. 운영 체제는 다음 세부 기능을 수행하여 프로세스를 관리한다.

  • 프로세스와 스레드를 스케줄링한다.
  • 사용자 프로세스와 시스템 프로세스를 생성하고 제거한다.
  • 프로세스를 중지하고 재수행한다.
  • 프로세스 동기화 방법을 제공한다
  • 프로세스 통신 방법을 제공
  • 교착 상태 (deadlock)을 방지하는 방법을 제공

1.3 주변장치 (입출력장치) 관리

운영체제는 특수 프로그램인 장치 드라이브를 사용하여 입출력장치와 상호작용한다.
장치 드라이버는 특정 하드웨어장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램이다. 운영체제는 다음 세부 긴으을 수행하여 주변장치를 관리한다.

  • 임시 저장 (buffer-caching) 시스템 기능을 제공한다
  • 일반 장치용 드라이버 인터페이스를 제공한다
  • 특정 장치 드라이버를 제공한다

1.4 파일 (데이터) 관리

파일 관리는 입출력 파일의 위치, 저장과 검색 관리를 의미함. 컴퓨터 시스템은 물리적으로 다양한 형태의 파일을 저장할 수 있는데, 운영체제는 데이터를 효율적으로 사용할 수 있도록 단일화된 저장 형태를 제공한다. 운영체제는 파일을 디렉터리로 구성하여 관리한다. 운영체제는 다음 세부 기능을 수행하여 파일을 관리한다.

  • 파일을 생성하고 삭제
  • 디렉터리를 생성하고 삭제
  • 보조기억장치에 있는 파일 맵핑
  • 안전한 (비휘발성) 저장장치에 파일 저장

2 시스템 관리

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

2.1 시스템 보호 (사용자 권한 부여)

보호는 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근을 제어하는 방법이다. 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공하여 데이터와 시스템을 보안한다. 컴퓨터 시스템에서는 여러 프로세스를 동시에 실행할 수 있으므로 서로 보호해야 한다.

2.2 네트워크 (통신)

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

2.3 명령 해석기

명령 해석기는 사용자나 프로그램에서 대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스이다. 사용자가 입력한 명령은 제어문으로 운영체제에 전달하는데, 이 전달을 명령 해석기가 담당한다.

0개의 댓글