본문 바로가기
Computer Science/OS

[OS] 운영체제란

by Bhappy 2022. 2. 12.

운영체제(Operating System, OS)란?

운영체제란 컴퓨터의 성능과, 사용자의 편의성을 위해 자원을 할당(Resource Allocator)하고 프로그램을 제어(Control Program)하는 시스템소프트웨어다.

 

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

Operating System Concepts

좁은 의미의 운영체제 = 커널 (Kernel)

  • 운영체제의 핵심 부분으로 컴퓨터 전원을 킨 다음 부팅이 된 이후로 메모리에 상주하는 부분

넓은 의미의 운영체제

  • 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념

 

운영체제의 목표

컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공

운영체제는 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공

  • CPU를 빠르게 번갈아 가면서 할당하여 사람들이 느끼기에는 본인 프로그램만 CPU를 점유하여 쓰고 있는 것 같은 느낌
  • 메모리 공간 적절히 분배

하드웨어를 직접 다루는 복잡한 부분을 대행

컴퓨터 시스템의 자원을 효율적으로 관리

프로세서, 기억장치, 입출력 장치 등의 효율적 관리 (하드웨어 자원)

  • 한정된 하드웨어 자원(CPU, Memory)으로 최대의 성능을 내도록 하는 것
  • 사용자간의 형평성 있는 자원 분배

프로세스, 파일, 메시지 등을 관리 (소프트웨어 자원)

 

운영체제의 예

유닉스 계열의 운영체제

  • 대형 컴퓨터를 위해서 만들어진 운영체제
  • 멀티 태스킹이 됨
  • 여러 사용자들이 서버에 접속해서 사용하는 서버를 위한 운영체제
  • C언어를 만들어 이를 이용해 개발
  • 소스 코드 공개
  • 높은 이식성 : 하나의 컴퓨터에서 돌아가는 유닉스를 기계어 집합이 전혀 다른 컴퓨터에 이식하기 ㅜ시움
  • 최소한의 커널 구조 : 커널은 메모리에 상주함. 핵심적인 기능만 커널에 둠
  • 복잡한 시스템에 맞게 확장 용이
  • 공개 소프트웨어 정신 > 소스 코드 공개 > Linux

MS Windows 운영체제

  • 개인용 컴퓨터 PC를 위해 만들어진 운영체제
  • 초기에는 단일 사용자, 단일 작업만 지원해주는 운영체제에서 시작

DOS(Disk Operation System)

  • MS사에서 1981년 IBM-PC를 위해 개발
  • 단일 작업용 운영체제, 메모리 관리 능력의 한계(주 기억장치 : 640KB)
  • 하드웨어 발달로 인해 코드가 복잡해지고 누더기 코드가 되버림

MS Windows

  • MS사의 다중 작업용 GUI 기반 운영 체제
  • Plug and Play, 네트워크 환경 강화
  • DOS용 응용 프로그램과 호환성 제공
  • 불안정성
  • 풍부한 자원 소트트웨어

 

운영체제의 구조

운영체제의 기본적인 목표는 컴퓨터 시스템의 여러가지 자원(CPU, Memory, HardDisk, I/O Device)을 관리하는 것

CPU : 어떤 프로그램에게 CPU를 할당할 것인가? > CPU 스케줄링

  • 먼저 온 순서대로 처리하지 않음
  • CPU 자체는 매우 빠름
  • 처리되는 작업들이 CPU를 점유하고 안놔주려고 하면 아주 빠른 CPU자원을 효율적으로 활요하지 못함
  • 시간차이, 주어진 자원의 특성을 고려하는 방식이 필요
  • 짧은 간격으로 줬다 뺏었다 반복

Memory : 한정된 메모리를 어떻게 쪼개어 쓰지? > 메모리 관리

  • 무조건 n분의 1로 나누기 보다, 특정 프로그램에게 몰아주는게 효율적일 수 있음
  • 메모리는 한정적 : 쫒아내야 함
  • CPU에서 금방 또 다시 사용할 것은 쫒아내지 않아야 함 : 미래를 예측해서 메모리에서 많이 사용된 데이터들은 메모리에서 쫒아내지 않음

디스크에 파일을 어떻게 보관하지? > 파일 관리 

  • 엘리베이터 스케줄링과 비슷 : 순서대로 처리하는게 아니고 중간에 해결할 수 있는 것은 해결하면서 처리
  • CPU 스케줄링과 디스크 스케줄링은 차이가 있음 : 디스크는 헤더를 움직이면서 처리

각기 다른 입출력 장치와 정보를 어떻게 주고 받지? > 입출력 관리

  • I/O 디바이스는 매우 느림
  • 인터럽트 방식 : CPU는 매우 바빠서 항상 자기 할 일을 하고 있음. 입출력 장치가 중간에 인터럽트를 걸어서 CPU에게 알려줌

 


[참고]

KOWC 반효경 교수님 운영체제 강의

Operating System Concepts PPT

'Computer Science > OS' 카테고리의 다른 글

[OS] 프로그램 실행  (0) 2022.02.19
[OS] 컴퓨터 시스템 구조  (0) 2022.02.16
[OS] 운영체제의 분류  (0) 2022.02.13

댓글