운영체제의 구조와 기능

김진한·2022년 5월 5일
0

운영체제(OS)

목록 보기
1/8

운영체제의 구조


운영체제 구조에서는 사용자영역과 커널 영역으로 나뉜다. 사용자 영역은 응용프로그램이, 커널영역은 커널이 있다.

  • 단일구조
    사용자 영역에 있는 여러 응용프로그램들은 시스템 호출 인터페이스를 이용해서 커널에게 작업을 요청한다. 커널에는 메모리 관리자, 프로세서 스케줄러, 파일 시스템 등 많은 기능들이 있다. 각 기능들은 바로 직접통신이 가능하다(커널 내 모듈간 직접 통신 가능). 이는 효율적으로 자원을 관리 및 사용할 수 있다는 장점이 있다. 단점으로는 커널이 거대해진다는 것이다. 오류 및 버그, 추가 기능 구현 등 유지 보수가 어렵다. 또한 한 모듈의 문제가 전체 시스템에 영향을 줄 수가 있다. 만약 악성코드가 침입하면 전체 시스템에 문제가 생길 수 있다.

  • 계층구조
    계층구조는 단일구조의 형태에서 기능별로 따로 떼어서 계층적으로 묶은 것이다. 이렇게 기능별로 따로 떼어놓은 것을 모듈화라고 한다. 계층간 검증 및 수정이 용의하며, 설계 및 구현이 단순하다는 장점이 있다. 단점으로는 단일구조 대비 성능이 저하된다는 점이 있다. 특정 기능을 수행하기 위해서는 여러 계층을 거쳐야 하기 때문이다.

  • 마이크로 커널 구조
    커널에는 필수 기능만 담고, 다른 것들은 응용프로그램(사용자영역)에서 응용프로그램처럼 실행하는 구조이다. 메모리 관리 및 프로세스관리, 프로세스 통신 같은 것들만 커널에서 한다. 그 외 파일 시스템, 프로세서 스케줄링, 장치관리자 등은 사용자 영역에서 한다.

  • 커널
    OS의 핵심 부분이며 항상 메모리에 올라가있다. 시스템 관리처럼 가장 빈번하게 사용하는 기능들을 담당한다

  • 유틸리티
    커널을 제외한 비상주 프로그램들을 말한다. 메모리에 항상 올라온 것은아니고 필요할 때 올리고 사용한다.

  • System calls
    커널한테 무언가를 요청하는 통로와 같다.




운영체제의 기능


- 운영체제의 기능은 한마디로 관리이다. 프로세스 관리, 프로세서 관리, 메모리 관리, 파일 관리, 입출력 관리, 보조 기억장치 및 기타 주변장치 관리 등의 작업을 한다.

Process Management

  • 프로세스 관리
    프로세스는 커널에 등록된 실행 단위이다. 한마디로 실행중인 프로그램이다. 사용자 요청을 처리하고, 기능을 수행하는 수행의 주체라고도 할 수 있다.

  • OS의 프로세스 관리 기능
    생성/삭제, 상태관리, 자원 할당, 프로세스 간 통신 및 동기화(synchronization), 프로세스 정보 관리, 교착상태(deadlock) 해결 등

    교착상태란 여러개의 프로세스가 하나의 자원을 동시에 쓰려고 하는 상태다. 교착상태를 중지하는 역할도 운영체제가 한다.


Processor Management

  • 중앙처리장치(CPU)
    프로그램을 실행하는 핵심 자원이다.

  • 프로세스 스케줄링
    시스템 내의 프로세스 처리 순서를 결정한다.

  • 프로세서 할당 관리
    프로세스들에 대한 프로세서를 할당한다. 프로세서는 한 번에 하나의 프로세스만 사용 가능하다.


Memory Management

  • 주기억장치(RAM)
    작업을 위한 프로그램 및 데이터를 올려놓는 공간이다.

  • Multi-user, Multi-tasking 시스템
    프로세스에 대한 메모리 할당 및 회수, 메모리 여유 공간 관리, 각 프로세스의 할당 메모리 영역 접근 보호

  • 메모리 할당 방법(scheme)
    전체 적재, 일부적재


File Management


I/O Management

  • 입출력은 운영체제(OS)를 반드시 거쳐야 한다. 실행중인 프로세스가 바로 입출력을 할 수 없다.
    실행중인 프로세스 -> 운영체제/커널 -> 입출력 처리장치
    입출력 처리장치 -> 운영체제/커널 -> 실행중인 프로세스

Others

  • Disk, Networking, 보안 등

0개의 댓글