[운영체제] 운영체제란

Judy·2022년 10월 10일
1

운영체제

목록 보기
1/14

운영체제란?

하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 서비스를 지원하는 시스템 소프트 웨어

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


1. 운영체제의 목표

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

동시 사용자와 프로그램이 독자적 컴퓨터에서 수행되는 것처럼 느껴지게 한다. 하드웨어를 직접 다루는 복잡한 부분은 운영체제가 대행한다.

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

한정된 메모리와 CPU 자원으로 가장 좋은 성능을 낼 수 있는지 판단하고 관리하는 역할을 한다.

2. 운영체제의 분류

1) 동시 작업이 가능 여부

  • 단일 작업
    한 번에 하나의 작업만 처리
    MS-DOS -> 프로그램 하나만 가능
  • 다중 작업 ✔️
    동시에 두 개 이상의 작업을 처리
    UNIX, MS Windows 등 현재 운영체제

2) 사용자 수

  • 단일 사용자
    ex) MS-DOS(단일 작업은 당연히 단일 사용자만 가능), MS Windows
  • 다중 사용자 ✔️
    ex) UNIX, NT server

3) 처리 방식

  • 일괄처리 (batch processing)
    작업을 모아서 한 번에 처리
  • 시분할 (time sharing) ✔️
    여러 작업을 수행할 때 일정한 시간 단위로 분할하여 사용
  • 실시간 (Realtime OS)
    정해진 시간 안에 작업 종료가 반드시 보장됨
    특정한 목적을 가진 시스템에서 사용 ex) 미사일 제어, 원자로 제어

➡️ 현대 대부분 운영체제는 다중 작업, 다중 사용자, 시분할 방식으로 운영


3. 운영체제의 예시

1) UNIX

  • 멀티 태스킹 가능
  • C언어로 작성
  • 소스코드 공개
  • 이식성이 높음
  • 최소한의 커널 구조
  • 파생된 버전 중 Linux

2) DOS

  • MS사
  • 단일 사용자용 운영체제

3) MS Windows

  • 다중 작업용 운영체제
  • DOS와 호환성
  • 픙부한 자원 소프트웨어

4. 운영체제의 구조 및 역할

CPU

  • CPU에 어떤 프로그램을 할당할지
  • CPU 스케줄링

Memory

  • 한정된 메모리를 쪼개서 사용하는 방법
  • ex) 과거 이력으로 메모리에 자주 올라오는 것을 예측하여 쫒아냄
  • 메모리 관리

Disk

  • 디스크에 파일 보관
  • 헤드의 움직임을 최소화하면서 많은 요청을 빠르게 처리하는 방법을 고려
  • 디스크 스케줄링

I/O Device

  • 각기 다른 입출력 장치와 정보 주고받기
  • CPU에 요청할 입출력이 있으 경우 Interrupt를 통해 요청
  • 입출력 관리

5. 추가적인 정리 ➕

1) 비슷한 용어 정리

  • 멀티 태스킹 : 한 번에 여러 작업을 수행하는 것 (실제로는 여러 작업을 돌아가며 수행)
  • 멀티 프로그래밍 : 메모리에 여러 프로그램이 동시에 올라가는 것
  • 타임 쉐어링 : CPU의 시간을 나누어 사용하는 것
  • 멀티 프로페서 : 하나의 컴퓨터에 여러 CPU가 있는 것
  • 멀티 스레드 : 하나의 프로세스를 여러 개의 스레드로 동시에 작업하는 것

2) 커널

컴퓨터의 자원을 관리하는 역할을 수행하는 운영체제의 핵심 프로그램

  • 컴퓨터의 물리적 자원(하드웨어)과 추상화 자원을 관리
  • 커널을 사용자와 상호작용을 지원하지 않기 때문에 커널에 명령어를 전달하고 싶으면 쉘을 사용해야 한다.

쉘(Shell) : 사용자가 컴퓨터에게 전달하는 명령을 해석하는 프로그램. 즉, 커널과 사용자간의 다리 역할을 수행


3) BIOS

운영 체제 중 가장 기본적인 소프트웨어이자 컴퓨터의 입출력을 처리하는 펌웨어

  • 사용자가 컴퓨터를 켜면 시작되는 프로그램
  • 주변 장치(하드웨어)와 운영체제(소프트웨어) 사이의 데이터 흐름을 관리
  • 넓은 의미로 컴퓨터에 탑재된 프로그램 중에서 하드웨어와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 가리킨다.

4) 펌웨어

펌웨어

특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나, 수정하는 것도 가능한 장치를 뜻함

  • 하드웨어의 제어와 구동을 담당하는 일종의 운영체제
  • ROM이나 PROM에 저장되어 하드웨어보단 교환하기 쉽고 소프트웨어보단 어렵다.
  • 펌웨어로 동작하는 기기로 리모콘을 예시로 들 수 있다. + 스마트폰, 네비게이션 프로그램, 가전제품 프로그램 등

VS 임베디드 시스템 (embedded system, 내장형 시스템)

기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템

  • 전체 장치의 일부분으로 구성되며 제어가 필요한 시스템을 위한 두뇌 역할을 하는 특정 목적의 컴퓨터 시스템
  • 특정되지 않은 목적을 수행하는 컴퓨터와 대조
  • ex) 스마트폰, 전자제품, 게임기 등
  • 하드웨어 장치의 롬이나 플래시 메모리에 내장하는 소프트웨어를 펌웨어라 하므로 장치에 특정 목적으로 존재하는 시스템이 임베디드 시스템 실제 내장된 소프트웨어는 펌웨어로 볼 수 있다.




참고 링크

운영체제 스터디 - 운영체제란
반효경 교수님 강의 - Introduction
위키피디아 - 운영체제
커널과 셀
위키피디아 - 펌웨어
위키피디아 - BIOS
위키피디아 - 임베디드 시스템

profile
iOS Developer

1개의 댓글

comment-user-thumbnail
2022년 10월 11일

굿

답글 달기