제이제이
article thumbnail
Published 2024. 3. 7. 23:17
운영체제의 개요 CS/운영체제

운영체제의 개요


1️⃣ 운영체제 정의

정의

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

❓ 커널이란?

  • 컴퓨터 전원을 키면 운영체제는 함께 실행되는데, 메인 메모리에 올라가 있어야 소프트웨어를 실행할 수 있습니다.
  • 이때, 운영체제처럼 큰 프로그램의 모두가 메모리에 올라가는 것이 아닌 필요한 부분만 올라가게 되고, 그렇지 않는 부분은 필요할 때만 메모리에 올려서 사용하게 됩니다.
  • 이때, 전원과 동시에 운영체제에 실행에 꼭 필요한 부분이 메모리에 올라가는 부분을 “커널”이라고 합니다.

2️⃣ 운영체제의 기능

  • 컴퓨터 하드웨어와 사용자 사이에 운영체제가 존재함으로, 운영체제는 다음과 같이 하드웨어를 위한 역할과 사용자를 위한 역할 2가지로 구분할 수 있습니다.

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

  • 운영체제는 여러 사용자 및 프로그램이 동시에 사용되는 듯한 환경을 제시합니다.
  • 이는 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대신 수행함으로써, 사용자 및 소프트웨어는 컴퓨터 하드웨어를 몰라도 사용할 수 있기 때문입니다.

2. 컴퓨터 시스템의 자원을 효율적으로 관리하기 위한 역할

  • 운영체제는 컴퓨터 시스탬 내 자원을 효율적으로 관리함으로써, “자원 관리자”라고 불리기도 합니다.
  • 이때, 자원이란, 컴퓨터의 하드웨어(CPU, 메모리, I/O 장치)뿐만 아닌 소프트웨어 자원까지 포함한 의미입니다.
  • 운영체제는 주어진 자원으로 최대한의 성능을 내도록 “효율성”뿐만 아닌 특정 사용자 및 프로그램 간 자원이 형평적으로 분배되도록 “형평성”을 고려하여 해당 자원을 분배합니다.
  • 또한 악의적인 프로그램이 메모리 영역 위에 올라가, 마음대로 메모리 영역을 참조하든지, 운영체제의 보안을 위협하는 경우에 운영체제를 보호할 수 있도록 작동합니다.

3️⃣ 운영체제의 분류

  • 운영체제는 동시 작업 가능 여부, 다중 사용자 지원 여부, 작업 처리방법, 실시간 처리 방법에 따라서 분류할 수 있습니다.

1. 동시 작업 가능 여부에 따른 분류

단일 작업용 운영체제(과거의 소프트웨어)

  • 한 번에 하나의 프로그램 작업만을 처리할 수 있습니다.

예시

  • MS-DOS 프롬포트 상에서는 한 프로그램이 실행이 끝날 때까지, 다른 프로그램을 실행할 수 없습니다.

다중 작업용 운영체제(현재의 소프트웨어)

  • 한 번에 여러 프로그램의 작업을 수행할 수 있습니다.
  • 여러 프로그램을 실행시키지만, 사용자 관점에서는 각 프로그램에 대한 입력에 대한 결과를 바로 보여주기 때문에 이를 마치 대화하는 듯한 “대화형 시스템”이라고도 불립니다.

예시

  • 웹 서핑을 하면서, 음악 프로그램, 유튜브 등을 실행할 수 있습니다.

⚠️ 다중 작업용 운영체제 이해의 주의점

  • 운영체제는 여러 프로그램을 처리할 때, 한 개의 CPU를 통해 짧은 시간 규모로 여러 프로그램을 실행하기 때문에 마치 여러 프로그램을 동시에 처리하는 듯한 느낌을 줍니다.

  • 이와 같이 한 개의 CPU의 작업 시간을 여러 프로그램들이 조금씩 나누어서 사용하는 시스템을 “시분할 시스템”이라고 합니다.

  • CPU와 달리 메모리의 경우, 여러 프로그램을 조금씩 메모리에 올려두고 처리할 수 있습니다.

  • 이처럼 메모리에 여러 프로그램을 조금씩 올려두고, 처리하는 시스템을 “다중 프로그래밍 시스템”이라고 합니다.

↔ 다중 처리기 시스템

  • 하나의 컴퓨터 안에 여러개의 CPU가 설치되어 여러 프로그램을 동시에 처리할 수 있지만, 운영체제에서는 여러 CPU를 관리하기 위한 복잡한 매커니즘이 필요합니다.

2. 다중 사용자 지원 여부에 따른 분류

단일 사용자 지원 운영체제

  • 한명의 사용자만 허용하는 운영체제를 의미합니다.

예시

  • 개인 PC용 운영체제인 윈도우, Mac OS는 한명을 대상으로 실행합니다.

다중 사용자 지원 운영체제

  • 여러명의 사용자를 허용하는 운영체제를 의미합니다.

예시

  • 메일 서버, 웹 서버 처럼 여러 사용자들의 접근을 지원합니다.

3. 작업 처리방법따른 분류

일괄처리 방법

  • 요청된 작업들을 모아서 일정량에 도달하면 처리하는 방식입니다.
  • 해당 작업이 모두 끝난 후 결과를 얻을 수 있습니다.
  • 사용자 입장에서는 응답 시간이 길다는 단점이 있습니다.

예시

  • 초창기 컴퓨터 프로그램은 펀치 카드에 마킹한 후, 한꺼번에 모아서 작업을 처리했습니다.

시분할 처리 방법

  • 여러 작업을 처리할 때, 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 처리하는 방식입니다.
  • 일괄처리 방법에 비해 짧은 응답 시간을 갖는 장점이 있습니다.

예시

  • 유닉스 계열의 운영체제는 시분할 방식을 통해 사용자의 입력에 대한 결과를 바로 보여주듯이 마치 컴퓨터와 대화하는 듯한 “대화형 시스템”에 해당합니다.

4. 실시간 처리 방법에 따른 분류

  • 정해진 시간 안에 반드시 작업이 수행된 후, 처리가 보장되어야 하는 방법입니다.
  • 시간 제약 조건에 따라 “경성 실시간 시스템”“연성 실시간 시스템”으로 구분할 수 있습니다.

예시

  • 미사일 제어, 반도체 장비, 원자로 제어등이 있습니다.

시간 제약 조건에 따른 분류

경성 실시간 시스템(Hard Real Time System)

  • 주어진 시간을 지키지 못할 경우, 매우 위험한 결과를 초래할 수 있는 시스템을 의미합니다.
  • 미사일 제어, 원자로 제어 등을 의미합니다.

연성 실시간 시스템(Soft Real Time System)

  • 데이터가 정해진 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템을 의미합니다.
  • 스트리밍 서비스 등을 의미합니다.

4️⃣ 운영체제 예시

  • 운영체제는 여러가지 종류가 있으며, 해당 부분에서는 간단하게 유닉스, DOS 등을 살펴보겠습니다.

1. 유닉스(UNIX)

  • 초창기 서버용, 다중 사용자를 위해 탄생하였습니다.
  • 해당 소스코드의 대부분은 C언어로 작성되었습니다.
  • 이에 따라 사람이 읽기 편하며, 여러 하드웨어에서 호환이 됩니다.
  • 소스 코드를 공개한 오픈 소스 코드이며, 이후 리눅스 등 여러 프로그램에 영향을 주었습니다.

2. DOS(Disk Operating System)

  • MS사에서 개발하였으며, 단일 사용자용, 단일 작업 운영체제입니다.

3. MS Windos

  • MS사에서 개발하였으며, 다중 작업을 처리하는 운영체제입니다.
  • 이후 여러 버전을 출시하여 소프트웨어 지원을 확대하였습니다.

4. 스마트폰 OS

  • 스마트폰의 등장에 따라 스마트폰 위에서 작동하는 안드로이드, IOS 등의 운영체제를 의미합니다.

📖 Reference


KOCW 반효경 교수님 - 운영제체

운영체제와 정보기술의 원리 - 반효경 교수님

'CS > 운영체제' 카테고리의 다른 글

컴퓨터 시스템의 동작원리 - Part2  (0) 2024.03.07
컴퓨터 시스템의 동작원리 - Part1  (0) 2024.03.07
profile

제이제이

@아사비치즈스틱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!