본문 바로가기

운영체제(OS)

운영체제란?

운영체제란?

정의

운영체제(Operating System)는 제한된 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어

종류

운영체제의 종류에는 Windows 98, Windows 10, UNIX, LINUX, MS-DOS 등

단일 작업 처리 시스템에는 DOS, 다중 작업 처리 시스템에는 Windows, UNIX, LINUX 등이 사용

목적

운영체제의 목적에는 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등이 있습니다.

  • 운영체제의 성능 평가 기준 4가지
    • 처리능력 (Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
    • 반환시간 (Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
    • 사용가능도 (Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
    • 신뢰도 (Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도

필요성

초기 컴퓨터에는 정해진 계산만 수행했기 때문에 특별한 사용 규칙이 필요 없었으나, 요구하는 기능들이 많아지고 복잡해지면서 규칙이 필요로 해서 등장한것이 운영체제

-> 운영체제는 사용자 관점의 편의성, 자원 할당자로서 자원 활용의 효율성, 마지막으로 다양한 입출력 장치의 운영 및 제어의 안전성 을 추구

역할

  1. 자원관리 - 응용 프로그램에 한정된 컴퓨터 자원을 나누어주고 회수하며 사용자가 원활한 작업을 할수있게 도움 (효율성)
  2. 자원 보호 - 미숙한 사용자나 악의적인 사용자로부터 컴퓨터 자원을 보호한다 (안정성)
  3. 하드웨어 인터페이스 제공 - 다양한 장치를 사용할 수 있도록 해주는 하드웨어 인터페이스를 제공 (확장성)
  4. 사용자 인터페이스 제공 - 사용자가 운영체제를 편리하게 사용하도록 지원. 사용자에게 GUI를 제공하여 쉽게 작업을 수행할 수 있도록 한다. (편리성)

구조

운영체제는 커널과 인터페이스로 이루어져있다.

  • 커널 : 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로 운영체제의 성능을 좌우한다.
  • 인터페이스 : 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할

커널

  • 커널의 주요기능 : 컴퓨터에 속한 자원들에 대한 접근을 중재하는것인데, 구체적으로 입출력 관리, 자원이 필요한 프로세스에 메모리 할당, 프로세스, 메모리 제어, 프로세스 간의 통신, 파일 시스템 관리, 시스템 콜과 같은 역할을 운영체제 맨 하부에서 수행.
  • 커널 종류
    • 단일형 구조 : 커널의 핵심 기능 모듈들이 구분 없이 하나로 구성. 쉽게 프로그램에서 main() 함수에 모든 기능을 구현한 것 - 장점 : 모듈간의 통신 비용이 줄어들어 효율적인 운영가능 - 단점 : 모듈들이 묶여 있어 버그나 오류 처리하기가 힘들며, 작은 결함이 시스템 전체로 확산 가능, 수정이 어려움

      image


    • 계층형 구조 : 비슷 한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들어 계층간의 통신을 통해 운영체제를 구현 하는 방식 - 장점 : 디버깅이 쉬우며, 오류 발생 시 해당 계층만 수정 가능 - 단점 : 하나의 계층이 위, 아래 계층에도 영향을 끼칠수가 있으며, 많은 계층이 발생하면 커널의 크기가 커지고 하드웨어의 용량도 증가.

      image


    • 마이크로 구조 : 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공하고 나머지 부분은 사용자 영역으로 빼버리는 방식 - 장점 : 모듈이 독립적이기 때문에 안정적, 많은 컴퓨터에 이식하기 좋다. - 단점 : 모듈이 독립적이라 많은 통신이 발생하여 성능 저하.

      image

시스템 호출

응용프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스

  • 사용자 모드 <-> 커널모드를 바뀌게 하는것
  • 시스템콜 종류
    • 프로세스 제어 (Process Control)
    • 파일 조작 (File Manipulation)
    • 장치 관리 (Device Manipulation)
    • 정보 유지 (Information Maintenance)
    • 통신 (Communication)
    • 보호 (Protection)

'운영체제(OS)' 카테고리의 다른 글

동기화 문제  (0) 2023.02.15
인터럽트  (0) 2023.02.09
스케줄링  (0) 2023.02.08
스레드란?  (0) 2023.02.04
프로세스  (0) 2023.02.03