[운영체제] 운영체제의 정의와 발전과정

김진웅·2023년 11월 25일

Operating System

목록 보기
1/3
post-thumbnail

운영체제의 정의

  • 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어

  • 컴퓨터가 켜질 때 메모리에 처음으로 적재되어 나머지 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리해주는 소프트웨어

  • 컴퓨터의 자원독점적으로 관리하는 특별한 소프트웨어


    • 자원
      • 하드웨어 자원
      • 소프트웨어 자원
      • 데이터 자원
    • 독점
      • 자원에 대한 모든 관리 권한은 운영체제에게 있음
    • 관리
      • 실행중인 프로그램 관리, 메모리 관리, 파일 및 디스크 장치 관리, 입출력 장치 관리 등
    • 소프트웨어
      • 커널(kernel)이라고 불리는 핵심 코드와 도구 프로그램, 디바이스 드라이버 등으로 구성


운영체제의 목적

  • 사용자의 컴퓨터 사용 편리성
  • 컴퓨터의 자원 관리 효율성

운영체제의 기능

  • CPU/프로세스(스레드) 관리
  • 메모리 관리
  • 파일 시스템 관리
  • 장치 관리
  • 입출력 관리
  • 네트워크 관리
  • 보안 관리
  • 기타 관리
    • 사용자 관리, 통계, 오류 발견 및 대응, 부팅 등


내장 프로그래밍 방식

  • 내장 프로그램 컴퓨터의 의미 (첫 번째 내장 프로그래밍 컴퓨터 : IBM 701)
    • CPU와 메모리 분리
    • 소프트웨어와 하드웨어 분리
    • 실행할 프로그램을 메모리에 담고, CPU가 프로그램을 실행하는 방식
    • 폰노이만이 제안한 내장 프로그램 컴퓨터 구조
      • 중앙처리장치(CPU)
        • 제어장치 + 연산장치 + 레지스터
  • 로더
    • 뒷 카드들을 메모리에 적재하는 프로그램을 첫 번째 카드에 작성하는 코드를 로더라고 부름
    • 로더가 운영체제로 발전


원시 운영체제

  • GM OS

    • 로더 프로그램을 사용자 프로그램에서 분리
    • 그 당시 로더 프로그램을 모니터라고 불렀음
    • 원시적인 최초의 운영체제


  • GM-NAA I/O

    • 최초의 운영체제
    • 운영체제로서의 모습을 갖춤
    • 구조
      • 어셈블러 코드
      • 로더 프로그램
      • 운영체제 메인 코드와 공통 입출력 코드

운영체제의 발전

  • 배치 운영체제

    • idle 시간을 줄여 컴퓨터의 활용률을 향상시키기 위해 등장
    • 개발자와 관리자를 구분하고 배치 운영체제는 자동으로 테이프 장치에 대기중인 프로그램을 한 번에 하나씩 적재하고, 실행

  • 다중프로그래밍(Multiprogramming) 운영체제

    • 기존의 운영체제의 실행 형태는 CPU작업 – I/O작업 – CPU 작업 – I/O작업의 반복 => CPU의 유휴시간이 발생

    • 프로그램 실행 도중 I/O가 발생하면, CPU에게 메모리에 적재된 다른 프로그램을 실행시킴


  • 시분할 다중프로그래밍(Time Sharing Multiprogramming) 운영체제

    • 배치 처리와 당시 다중프로그래밍의 2가지 문제점을 인식하여 개발
      • 비 대화식 처리방식
      • 느린 응답시간, 오랜 대기 시간
    • 각 프로그램에게 고정된 시간 만큼 CPU를 할당하여 번갈이 실행시키는 기법

  • 운영체제의 종류

    • 데스크톱 운영체제
    • 서버 컴퓨터 운영체제
    • 모바일 운영체제
    • 임베디드 운영체제
    • 실시간 운영체제




출처

명품 운영체제 (저자 황기태)

profile
IT Velog

0개의 댓글