염몽 개발일지
article thumbnail

운영체제

 


운영체제의 개념

운영체제 정의

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

운영체제 정의 핵심 단어

  1. 운영체제는 모든 컴퓨터의 자원 관리 (하드웨어 자원, 소프트웨어 자원, 데이터 자원)
  2. 운영체제는 자원에 대한 독점 권한 (자원에 대한 모든 관리 권한은 운영체제에게 있음)
  3. 운영체제는 관리자 (프로그램, 메모리, 하드웨어, 사용자 계정 등 관리)
  4. 운영체제는 소프트웨어 (커널, UI/도구 프로그램, 디바이스 드라이버 구성)

운영체제의 목적

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

운영체제의 기능

  • CPU / 프로세스 관리
  • 메모리 관리
  • 파일입출력 관리
  • 장치 관리
  • 네트워크 관리
  • 보안 관리 
  • 기타 관리

운영체제의 태동

1940년대 : 고정 프로그램 컴퓨터

  • 운영체제에 대한 개념이 없음
  • 소프트웨어와 하드웨어의 분리 개념 없음
  • 모든 것이 하드웨어로 시작

1945년 ~ : 내장 프로그래밍 방식 등장

  • 1945년 폰노이만에 의해 제안
  • 1951 EDVAC 컴퓨터를 만들 때 적용, 오늘날 컴퓨터의 구조
  • CPU와 메모리 분리
  • 소프트웨어와 하드웨어 분리
  • 실행할 프로그램을 메모리에 적재하고 CPU가 프로그램을 실행

1956 ~ 1957년 최초의 운영체제 GM-NAA-I/O 탄생 

운영체제 태동의 역정

운영체제 태동 시절

- 1세대 컴퓨터 시절 : 운영체제 암흑 시대

  • 운영체제의 개념이 없음
  • CPU의 많은 idle 상태 발생

배치 운영체제

- 출현 배경: 컴퓨터의 idle 시간을 줄여 컴퓨터의 활용률 향상

  • 배치 운영체제 컴퓨터 시스템
    • 개발자와 관리자의 구분
    • 개발자는 펀치 카드를 입력 데크에 두고 결과 기다림
    • 배치 운영체제는 자동으로 테이프 장치에 대기중인 프로그램을 한 번에 하나씩 적재하고, 실행

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

- 출현 배경: 1960년대 중반, CPU 등 하드웨어 속도 개선, 컴퓨터 가격 증가

  • 프로그램의 실행 형태로 인한 CPU idle 시간 발생
  • CPU의 idle 시간 줄이기 -> CPU 활용률 증가 -> 처리율 증가 (더 많은 사용자 프로그램 실행)를 목표로 함

- 다중 프로그래밍 기법 출현

  • 미리 여러 프로그램을 메모리에 적재
  • 프로그램 실행 도중 I/O가 발생하여 대기하게 될 때, 메모리에 적재된 다른 프로그램 실행

- 정의:

  • 여러 프로그램을 메모리에 올려놓고 CPU가 한 프로그램을 실행하다 I/O가 발생하면, 입출력이 완료될 때까지
  • CPU가 메모리에 적재된 다른 프로그램을 실행하는 식으로 CPU의 idle 시간을 줄이는 기법

다중 프로그래밍 시스템에서 3개의 프로세스가 실행되는 과정

배치 운영체제와 다중 프로그래밍 운영체제의 비교

실행 비교

배치 운영체제
다중 프로그래밍 운영체제

배치 운영체제와 다중 프로그래밍 시스템의 성능 비교

 

다중 프로그래밍 도입으로 인한 이슈

  • 큰 메모리 이슈
  • 프로그램의 메모리 할당 및 관리 이슈
  • 메모리 보호 이슈
  • CPU 스케줄링과 컨텍스트 스위칭
  • 인터럽트 개념 도입
  • 동기화 
  • 교착 상태 해결

시분할 다중 프로그래밍 (Time Sharing MultiProgramming)

- 출현 배경: 다중프로그래밍 운영체제와 거의 동시에 연구 시작, 배치 처리와 당시 다중 프로그래밍의 2가지 문제점 인식

  • 2가지 문제점: 비대화식 처리 방식, 느린 응답시간, 오랜 대기 시간

- 시분할 운영체제의 시작

  • 1959년 MIT 대학, John McCarthy 교수에 의해
  • 빠른 프로그래밍 디버깅 필요
  • 사용자에게 빠른 응답을 제공하는 대화식 시스템 제안
    • 터미널 (키보드 + 모니터 + 전화선 + 모뎀)
    • 사용자는 터미널로 메인 컴퓨터에 원격 접속
    • 시간을 나누어 돌아가면서 각 터미널의 명령 처리
  • CTSS 시분할 시스템 개발 : 1962년 MIT

배치 운영체제와 시분할 다중프로그래밍 운영체제의 비교

실행 비교

배치 운영체제
시분할 운영체제

배치 운영체제, 다중 프로그래밍 운영체제, 시분할 운영체제의 성능 비교

개인용 운영체제

- 출현 배경: 시분할 시스템 사용의 불편함 (응답 속도 저하 및 공간 제약)

- 개인용 컴퓨터 필요성 (원격 접속 없이, 가정에서 혼자 사용)

- 개인용 컴퓨터 등장

  • 마이크로프로세스 CPU 장치 개발
  • 메인 프레임이나 미니 컴퓨터에 비해 저렴, 소형 
  • 1980년 개인용 운영체제 MS-DOS 등장

임베디드 운영체제

- 임베디드 컴퓨터 : 자동차, 비행기 제어 시스템, 공장, 키오스크, POS 단말기, 셋톱 박스, 게임기 등 상용 제품 등에 내장되어이들 장치들의 목적을 지원하는 소형 컴퓨터

 

- 임베디드 운영체제: 임베디드 컴퓨터에서 장치들을 제어하고 작동시키는 기능을 수행하며, 장치를 제어하는 프로그램이 원활이 실행되도록 하는 목적

 

모바일 운영체제

- 모바일 컴퓨터: 하드웨어의 급속한 발전으로 휴대 가능한 크기로 들고 다닐 수 있는 모바일 장치 혹은 모바일 컴퓨터 출현

  • 스마트폰, 태블릿, 스마트시계와 같은 입는 컴퓨터 등 어디에서나 휴대가능한 컴퓨터

- 모바일 운영체제: 모바일 컴퓨터 내 장치들을 구동시키고, 이들을 활용하는 다양한 응용프로그램을 실행할 수 있도록 특별히 설계된 운영체제

 

운영체제의 종류

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

'Study > Operating System' 카테고리의 다른 글

OS. 2. 컴퓨터 시스템과 운영체제  (0) 2023.04.08
profile

염몽 개발일지

@염몽이

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