[OS] 운영체제의 도입 배경과 역사

Eugene CHOI·2022년 2월 13일
0

OS

목록 보기
1/4

이 포스트는 이준희님의 운영체제 강의 내용을 정리한 학습 노트입니다.


운영체제의 역할

  • 운영체제는 System Resource 관리자 역할을 합니다.

    System Resource는 PC의 HW를 의미합니다.

    • CPU
    • RAM
    • ROM(SSD, HDD)
    • I/O Devices(Monitor, Moutse, Keyboard, Network)
  • 컴퓨터 HW뿐 아니라 응용SW를 관리합니다.

    응용 프로그램을 관리한다라는 말은 다음을 의미합니다.

    • 응용 프로그램을 실행, 종료
    • 응용 프로그램간의 권한 관리
    • 응용 프로그램을 사용하는 사용자 관리
  • 사용자와 컴퓨터 HW간의 커뮤니케이션을 지원합니다.

즉 응용프로그램은
1. 사용자가 사용하는 응용 프로그램이 효율적으로, 적절하게 동작하도록 지원하고 응용 프로그램
1. 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원하는 소프트웨어입니다.


운영체제는 어디에 있을까?

운영체제는 ROM에 존재합니다.
PC가 작동하면 운영체제는 RAM에 올라가게 됩니다.

cf) 폰노이만 구조


현재 대표적인 운영체제

  • UNIX(현대 운영체제의 기술이 최초로 구현된 운영체제)
  • Windows OS
  • Mac OS

운영체제의 역사

1950년대

최초의 컴퓨터 ENIAC의 등장

  • 운영체제가 없는 최초의 컴퓨터입니다.
  • 응용 프로그램이 시스템 자원을 제어합니다.
  • 진공관(현대의 트랜지스터)의 연결 구조를 바꾸어 프로그래밍을 하였습니다.

1960년대 초반

Batch Processing System 출현

  • 여러 응용 프로그램을 등록시켜 놓으면, 순차적으로 실행하는 시스템
1111111112222

1960년대 후반

새로운 개념이 등장(구현은 되지 않음)

  • Time Sharing System: 여러 Task를 번갈아가며 연산, 다중 사용자를 지원하고 컴퓨터 응답 시간을 줄이기 위함
1231231313111
  • Multi Tasking: 단일 CPU에서, 여러 응용 프로그램의 병렬 실행을 가능하게 하는 것
  • Multi Programming: 최대한 CPU를 많이 활용하도록 하는 시스템입니다. CPU가 작업 중 저장매체에서 파일을 읽는 것과 같은 행동을 하면 CPU는 유휴상태로 들어갑니다. 이 때 CPU를 놀리지 않고 다른 프로그램 연산을 수행하는 것입니다.

시분할 시스템과 멀티태스킹은 일반적으로 같은 개념으로 취급합니다.
요약하면 시분할 시스템을 이용하여 컴퓨터 응답 시간과 전체 응용 프로그램의 실행 시간을 줄이고 사용자가 여러 응용 프로그램이 동시에 실행되는 것처럼 보이게 하는 것입니다.

1970년대

제대로 된 운영체제 UNIX OS가 출현하였습니다.

UNIX OS

  • 미국 AT&T 사의 벨 연구소에서 개발
    • 켄톰슨, 데니스 리치(C언어를 개발한 사람)
  • 현대 운영체제의 기본 기술을 모두 포함한 최초의 운영체제
    • 멀티 태스킹, 시분할 시스템, 멀티 프로그래밍

1980년대

개인용 컴퓨터와 GUI환경의 등장

  • CLI(Command Line Interface): 터미널 환경
  • GUI(Graphical User Interface): 그래픽 환경

1990년대

  • GUI 응용 프로그램의 보급, 개인용 컴퓨터의 범용화
  • 게임, Excel, Word Processor를 사용하기 위한 Windows OS의 대중화
  • WWW(World Wide Web)의 대중화
  • Open Source 운동의 활성화로 LINUX OS 개발 및 소스코드 공개

2000년대

  • 오픈 소스 활성화
    • LINUX OS
    • Apache 웹서버
    • MySQL 데이터베이스
    • 최근엔 Android, Deep Learning, Data Science, IOT etc.
  • 가상머신, 대용량 병렬 처리 등 활성화
profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글