[OS] 1. 운영체제란

상훈·2024년 7월 9일

OS study

목록 보기
1/6
post-thumbnail

운영 체제란?

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

image-20240708232236646

  • 컴퓨터 하드웨어 어떻 인터렉션을 해야하는가?
  • 사용자 또는 소프트웨어 어떻게 인터렉션을 해야하는가?

운영 체제의 목표

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

    • ex) 실행중인 프로그램들에 메모리 공간을 적절히 분배

운영 체제의 의미

  • 좁은 의미 : 커널
    • 운영체제의 핵심 부분으로 메모리에 상주하는 부분
  • 넓은 의미
    • 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념

운영 체제의 분류

1. 동시 작업 가능 여부

  • 단일 작억(single tasking)
    • 한 번에 하나의 작업만 처리
  • 다중 작업(multi tasking)
    • 동시에 두 개 이상의 작업 처리

2. 사용자의 수

컴퓨터 하나에 여러 사용자가 동시에 접근하여 사용할 수 있는가?

  • 단일 사용자(single user)
  • 다중 사용자(multi user)

3. 처리 방식

  • 일괄 처리(batch processing)
    • 작업을 모아서 한꺼번에 처리
  • 시분할(time sharing)
    • 여러 작업을 수행할 때 일정한 시간 단위로 분할하여 사용
  • 실시간(realtime OS)
    • 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야하는 실시간 시스템을 위한 OS
      • ex) 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어

운영 체제의 구조

현실에서는 먼저 온 사람에 대해 업무를 먼저 처리해주는게 일반적. 하지만 운영체제에서는 다름

  1. CPU는 가장 짧은 업무를 처리하는 곳에 먼저 CPU를 배정하고 다른 곳에 짧게 주었다 뺏었다 하는 방식 (CPU 스케쥴링)

  2. 한정된 메모리에 동시에 여러 프로그램을 올릴까? (메모리 관리)

    • 많은 메모리가 필요한 프로그램에서 많은 메모리를 할당
    • 너무 많은 프로그램이 메모리에 할당 되려고 하면 일부 프로그램만 메모리 공간에만 할당하고 나머지는 디스크로
      • 메모리에 올라가있는 프로그램이 CPU에서 잘 수행될 수 있도록
      • 최근 사용 횟수에 따라 메모리에 올려둘지, 디스크로 할당할 지를 결정
  3. 디스크에 파일을 어떻게 보관할 것인가? (파일 관리)

    • 디스크도 스케쥴링이 필요
    • 헤드에 가까운 요청부터 처리
  4. 각각의 입출력장치와 컴퓨터 간에 어떻게 정보를 주고 받을것인가? (입출력 관리)

    • 인터럽트에 기반하여 관리
      • CPU가 자기 일을 하다 입출력장치가 요청을 하면 CPU에 인터럽트를 걸어 해당 요청을 처리
profile
문송 개발자

0개의 댓글