- 운영체제의 정의/목적/기능
- 운영체제 역사/발달/역할
- 다중프로그램을 통한 운영체제 발전/영향
- 운영체제 종류/특징
운영체제 : 사용자와 하드웨어의 중계 역할을 함. 프로그램을 실행 관리 제어하는 시스템 소프트웨어임.
운영체제는 컴퓨터가 아님
운영체제는 실체가 있는 소프트웨어임.
컴퓨터가 켜질 때 처음 적재가 되고, 실행된 프로그램을 제어하여 사용자의 요청을 처리하는 소프트웨어임.
컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어임.
+) 운영체제의 중요부분
- 운영체제는 컴퓨터의 모든 자원 관리
- 운영체제는 자원에 대한 독점 권한 소유
- 운영체제는 관리자
- 운영체제는 소프트웨어
운영체제 목적
- 사용자의 컴퓨터 사용 편리성
- 컴퓨터 자원 관리 효율성
운영체제 기능
- 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. 모바일 운영체제 : 모바일 컴퓨터 장치 구동 및 응용프로그램 실행하도록 하는 특별 운영체제
운영체제 종류
- 데스크톱 운영체제
- 서버 컴퓨터 운영체제
- 모바일 운영체제
- 임베디드 운영체제
- 실시간 운영체