본문 바로가기

카테고리 없음

[운체] 운영체제의 시작과 발전

- 운영체제의 정의/목적/기능

- 운영체제 역사/발달/역할

- 다중프로그램을 통한 운영체제 발전/영향

- 운영체제 종류/특징

 

운영체제 : 사용자와 하드웨어의 중계 역할을 함. 프로그램을 실행 관리 제어하는 시스템 소프트웨어임.

운영체제는 컴퓨터가 아님

운영체제는 실체가 있는 소프트웨어임.

컴퓨터가 켜질 때 처음 적재가 되고, 실행된 프로그램을 제어하여 사용자의 요청을 처리하는 소프트웨어임.

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

 

+) 운영체제의 중요부분

- 운영체제는 컴퓨터의 모든 자원 관리

- 운영체제는 자원에 대한 독점 권한 소유

- 운영체제는 관리자

- 운영체제는 소프트웨어

 

운영체제 목적

- 사용자의 컴퓨터 사용 편리성

- 컴퓨터 자원 관리 효율성

 

운영체제 기능

- CPU/프로세스

- 메모리

- 파일 시스템

- 네트워크

- 장

- 보안

- 사용자

- 통계

- 오류 및 대응

- 부팅

 

운영체제 vs 응용소프트웨어

 

-----------------------------------------------------

과거의 운영체제에 대해 알아보자.

 

고정 프로그램 방식 : 전자식 디지털 컴퓨터 제작 - 운영체제 존재 안함 - 솦웨 핟웨 구분 없음

내장 프로그래밍 방식 : 폰노이만, 오늘날의 컴구. - CPU/메모리 분리(실행 프로그램을 메모리에 담은 후 CPU가 실행함) - 솦웨 핟웨 분리 

=> 최초의 내장 프로그래밍 컴퓨터는 IBM. (최대 24개의 명령까지 사용 가능)

 ㄴ 첫 번째 카드에는 다음 카드에 작성된 프로그램을 메모리에 적재하는 코드

 ㄴ 두 번째 카드부터 목적하는 프로그램 작성

=> 목적 프로그램을 읽어들이는 코드를 '로더'라고 함.

로더 프로그램 등장 : 로더 프로그램은 모든 사용자에게 필요. 공통된 로더 작성이 필요하다고 생각함.

원시 운영체제 GM OS : 로더프로그램과 사용자 프로그램을 분리 / 셀프로더 필요X((시스템 당 로더 프로그램 한 개) / 필요할 때마다 실행 / 사용자 프로그램을 읽어서 실행

=> 대기 번호 필요, 시스템 구축 동안 컴퓨터 놀고 있음, 입출력 루틴을 개발자 스스로 작성

최초의 운영체제 GM-NAA I/O : 배치 방식, GM-NAA I/O 프로그램을 메모리에 상주, 

*) GM-LAA-IO : 어셈블러 코드, 로더 프로그램, 운영체제 메인 코드와및  공통 입출력 시작 코드

-----------------------------------------------------

운영체제의 발전 과정에 대해 알아보자

 

1. 1세대 컴퓨터 (운영체제 개념 없음) : 개발자가 직접 펀치카드에 작성, 입력, 실행 / 한 번에 한 개의 작업만 실행 / 세팅하는 동안 유휴상태

2. 배치 운영체제(유휴시간을 줄이기 위해 출현) : 개발자와 관리자 구분 / 개발자가 펀치 카드를 둠 / 배치 운영체제는 '테이프 장치'에 프로그램을 한 번에 하나식 적재 후, 실행함.

3. 다중프로그래밍 운영체제(CPU의 유휴시간을 줄이기 위해 출현) : 미리 여러 프로그램을 메모리에 적재

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

- 메모리 크기

- 프로그램의 메모리 할당 및 관리

- 메모리 보호

- CPU 스케줄링과 컨텍스트 스위칭

- 인터럽트 개념 도입

- 동기화

- 교착 상태 해결

4. 시분할 다중프로그래밍 운영체제(비대화식 처리방식, 느린응답과 오랜 대기를 줄이기 위해 출현) : 대화식 시스템, 터미널에게 각각 시간을 분할하여 CPU 할당

5. 개인용 운영체제 (응답 속도 저차, 터미널 컴퓨터의 공간 제약을 위해 출현) : 마이크로프로세서에서 CPU 장치 개발. 메인 프레임에 비해 저렴하고 소형 ex MS-DOC

6. 임베디드 운영체제 : 소형컴퓨터, 임베디드 컴퓨터에서 장치 제어 작동시키는 기능

7. 모바일 운영체제 : 모바일 컴퓨터 장치 구동 및 응용프로그램 실행하도록 하는 특별 운영체제

 

 

운영체제 종류

- 데스크톱 운영체제

- 서버 컴퓨터 운영체제

- 모바일 운영체제

- 임베디드 운영체제

- 실시간 운영체