OS - Introduction to Operating Systems

YOOJUN·2023년 1월 30일

CS

목록 보기
1/18
post-thumbnail

운영체제

운영체제

컴퓨터 하드웨어 바로 위에 설치되어 사용자와 다른 모든 소프트웨어, 하드웨어를 연결하는 소프트웨어
협의 : 운영체제의 핵심 부분으로 메모리에 상주
광의 : 각종 주변 시스템 유틸리티를 포함

목적

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

프로세서, 기억장치, 입출력 장치의 효율적 관리
사용자간의 효율적인 자원 분배를 통해 주어진 자원으로 최대한의 성능을 내기 위해서 필요
사용자 및 운영체제 자신의 보호

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

사용자 / 프로그램이 각각 독자적으로 실행되는 것 같은 환상 (효율성)
(실행중인 프로그램들에게 메모리 공간을 적절하게 분배)
하드웨어를 운영체제가 다루어줌

분류

1. 단일작업, 다중 작업

  • 단일 작업 (이전) : 한 번에 하나의 작업만 처리

  • 다중 작업 (최근) : 동시에 두 개 이상의 작업 처리

2. 사용자의 수

  • 단일 사용자 (single user)

  • 다중 사용자 (multi user)

3. 처리 방식

  • 일괄 처리 (batch processing) : 작업 요청의 일정량을 한번에 처리. 작업 완전 종료시까지 기다려야함

  • 시분할 (time sharing) : 여러 작업을 수행시 운영체제가 컴퓨터 처리 능력을 시간 단위로 분할하여 사용. 이전 일괄 처리에 비해서 짧은 응답 시간을 가진다.

  • 실시간 (Realtime OS) : 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야하는 정교한 시스템 (ex. 원자로, 미사일, 반도체, 로보트)
    Hard realtime system (경성 실시간 시스템)
    Soft realtime system (연성 실시간 시스템)

    OS 관련 용어 (작업의 동시 수행)

  • 아래의 용어들은 컴퓨터에서 여러 작업을 동시에 수행하는 것을 뜻한다

    Multitasking : 하나의 프로그램이 끝나기 전에 다른 프로그램이 컴퓨터에서 실행
    Multiprogramming : 여러 프로그램이 메모리에 올라가 있음
    Time sharing : CPU의 시간을 분할하여 나누어 쓰는 것
    Multiprocess : 하나의 컴퓨터에 여러개의 CPU가 존재

    운영 체제의 예시

    1. DOS (Disk Operating System)

  • MS사에서 1981년 IBM-PC을 위해 개발

  • 단일 사용자용 운영체제, 메모리 관리 능력 낮음 (640KB)

    2. MS Windows (단일 사용자용 운영체제에서 출발)

  • 다중 작업용 GUI기반 운영 체제

  • Plug and Play, 네트워크 강화

  • DOS용 프로그램과 호환성

  • 불안전성 + 풍부한 지원 소프트웨어

    3. Handheld device를 위한 OS

  • PalmOS, Pocket PC (WinCE), Tiny OS

    4. 유닉스 (UNIX)

  • UNIX를 만들기 위해서 새로운 컴퓨터 언어를 만든 것이 C언어 (기계어와 상당히 유사)

  • 대부분 C언어로 구성됨

  • 높은 이식성, 최소한의 커널 구조

  • 복잡한 시스템에 맞게 확장이 용이, 개발에 용이

  • 소스코드 공개

  • 다양한 버전 (System V, FreeBSD, SunOS, Solaris, Linux)

    운영 체제의 구조

  • CPU 스케줄링 : 누구에게 CPU를 줄까? (최대한의 효율성을 얻기 위해)

  • 메모리 관리 : 한정된 메모리의 용량을 어떻게 나누어 쓰는지 (미래를 예측 (재사용 가능성의 여부) - 메모리에서 사용이 잦거나 최근에 사용된 데이터)

  • 파일 관리 (조각, 연속적) : 디스크에 파일을 어떻게 저장할지

  • 입출력 관리 : 각각의 입출력장치와 컴퓨터간의 정보 공유


profile
거북이 개발자

0개의 댓글