운영체제 1장 강의 정리 2A200512097박훈
1. 운영체제의 개요 OS(Operating System)라 불리는 사용자가 컴퓨터를 사용할 수 있게 도와주는 시스템 소프트웨어 하드웨어를 효율적으로 관리, 제어하여 사용자 대신에 시스템을 작동시켜주는 프로그램.
2. 운영체제의 역할 사람과 하드웨어 사이의 인터페이스 제공. 자원 스케줄링 보호시스템 네트워크 관리 프로세스, 메모리, 보조기억장치 관리 입출력 시스템, 파일관리 보호시스템 네트워크 관리
3. 운영체제가 관리하는 자원 프로세스(CPU)관리 기억장치(Memory) 보조기억장치관리(HDD, FDD) 프로세스의 중지와 계속 통신, 동기화 수단, 교착상태 처리를 위한 수단 제공 기억장치(Memory) 적재할 메모리 위치 결정 메모리 공간의 할당과 회수 보조기억장치관리(HDD, FDD) 기억장소 할당 디스크 스케줄링 빈 공간 관리 수행시 메모리 적제
3. 운영체제가 관리하는 자원 입출력 장치 관리 하드웨어의 복잡성 숨김 장치 드라이버 제공
4. 운영체제의 목적 신뢰도 향상 평가기준 : MTBF+MTTF+MTTR 신뢰도 : 시스템 전체 운영시간 중 가동중인 시간 의미. 신뢰도 = MTBF + MTTR MTBF(Mean Time Between Failure: 평균 고장 시간 간격) : 시스템 구성성분이 한번 고장 나서 수리한 후 다음 고장까지의 평균 시간이 길수록 신뢰도가 높다. MTTR(Mean Time To Repair: 평균 수리 시간) : 수리하지 않은 시스템이 고장까지 동작하는 평균 시간이 길수록 신뢰도가 높다. MTBF(Mean Time Between Failure: 평균 가동 시간) : 고장이 났을 때 수리되어 다시 정상으로 작동될 때까지의 평균시간으로 짧을수록 바람직하다.
4. 운영체제의 목적 처리능력 향상 응답시간(Tum-Around Time)의 단축 사용가능도(Availability)의 향상
5. 운영체제의 종류 동시 사용자 수에 따른 분류 단일 사용자 시스템(Single User System) 하나의 프로세서를 한명의 사용자만 이용하는 시스템 Ex) IBM-PC, MS-DOS, Window 등 다중 사용자 시스템(Multi User System) 여러 사용자 프로그램들이 동시에 하나의 프로세서를 이용하는 시스템 Ex) UNIX, VMS, MVS 등
5. 운영체제의 종류 작업 처리 방법에 따른 분류 단일 테스킹 시스템(Single Tasking System) 한번에 하나의 작업만 처리 할 수 있는 시스템 다중 테스킹 시스템(Multi Tasking System) 주기억장치에 여러 프로그램들을 실어 작업 처리 할 수 있는 시스템
5. 운영체제의 종류 사용 환경에 따른 분류 단순 모니터 : CPU 유휴 시간을 줄이기 위한 자동 작업의 순서화 개념 다중 프로그래밍 시스템 : 하나의 CPU로 주기억장치에 수행될 여러 작업을 전환해가며 대기시간 없이 처리 일괄 처리 시스템 : 작업을 일정 기간, 일정 분량을 모았다가 한꺼번에 처리
5. 운영체제의 종류 사용 환경에 따른 분류 다중 처리 시스템 : 컴퓨터에 여러 개의 프로세서를 사용 실시간 처리 시스템 : 단말기를 이용하여 중앙의 컴퓨터에 데이터 입력 후 즉시 결과를 보여주는 시스템 온라인의 개념을 도입 온라인 시스템 : CPU와 주변 장치가 온라인으로 연결되어 작동, 사용자와 시스템 간에 온라인 통신을 제공 사용자가 프로그램에 작업 명령을 주고 즉시 응답을 받을 수 있다.
5. 운영체제의 분류 분산처리 시스템 : 하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니컴퓨터에 분담시킨 후 통신망을 통하여 상호 간에 교신-처리하는 방식 시분할 시스템 : 다중 프로그래밍의 논리적 확장으로 변형된 형태, 각 사용자들에게 CPU에 대한 일정 시간(time slice)을 할당하여 주어진 시간동안 직접 컴퓨터와 대화 형식으로 프로그램을 수행할 수 있도록 개발된 시스템
5. 운영체제의 종류 MS-DOS & Window 마이크로소프트사의 운영체제 MS-DOS는 팀패터슨의 QDOS를 사들여 발전시킴 Window는 스티브 잡스가 개발한 멀티태스킹을 윈도우로 발전시킴
5. 운영체제의 종류 UNIX 다중 사용자 환경의 표준 운영 체제. 이식성이 높고 시스템 간의 통신이나 소프트웨어 개발 등에 있어서 많은 장점 LINUX 리누스 토발즈가 개발한 GNU 프로그램 UNIX의 장점을 갖춘 OS
-SVR4MR, MACH, OSF/1, Unixware 2.0, Windows95/NT 6. 운영체제의 발전과정 구분 1세대 2세대 3세대 4세대 5세대 특징 -일괄처리 -입출력 제어시스템 제공 -상주모니터 -다중 프로그래밍 -다중프로세서 -시분할 시스템 -실시간 시스템 -가상메모리 -IBM360/370 OS -스풀링 -NOS -DOS -MS-DOS -User Friendly시스템 -인공지능 실현 -Mutimedia OS, 개방형 OS -SVR4MR, MACH, OSF/1, Unixware 2.0, Windows95/NT 장치 진공관, 코어메모리 트랜지스터, 코어메모리, 디스크 IC(집적회로) MIS, LSI, VLSI ULSI, 광소자 언어 기계어, 어셈블리어 포트란, 코볼, 알골-60, 리스프 PL/I, 알골-68, 파스칼 프롤로그, 컨커런트파스칼, 기능언어, 논리언어 자연어, 그림문자, 음성
7. 운영체제의 구성 운영체제(OS) 감시 프로그램 (supervisor program) 제어 프로그램 (control program) 자료관리 프로그램 (data management program) 작업 관리 프로그램 (job control program) 운영체제(OS) 언어번역 프로그램 (language translator program) 컴파일러(compiler) 어셈블러(assembler) 처리 프로그램 (processing program) 서비스 프로그램 (service program) 정렬/조합(sort/merge) 연계 편집(linkage editor) 유틸리티(utility) 사용자 중심 프로그램 (user problem processing program)
8. 소프트웨어 정의 – 주어진 문제를 해결하기 위해 명령문과 데이터로 이루어진 프로그램 특징 개념적, 무형적 비가시성:형체가 없음 복잡성:시스템+개발과정 변형성:정형화된 구조가 없음
9. 프로그램과 프로그래밍 언어 정의 – 컴퓨터가 처리하는 일의 순서를 명령어로 적은것 언어의 정의 – 사람이 컴퓨터에게 명령을 하는 수단
9. 프로그램과 프로그래밍 언어 언어의 분류 기계지향언어 -기계어 : 0과 1로 구성, 기본 언어 범용 프로그래밍 언어 -어셈블리어 : 기계어를 정해진 기호로 바꾸어 작성 범용 프로그래밍 언어 -컴파일러 언어 : 고급언어로 작성한 코드를 기계어 코드로 변환 -인터프리터 언어 : 고급언어의 코드를 한 행씩 해석 하며 실행
9. 프로그램과 프로그래밍 언어 언어의 분류 간이 언어 -RPG : IBM에서 개발된 보고서 작성용 프로그램 특수 문제 언어 -시뮬레이션 : GPSS, SIMSCRIPT -리스트처리 언어 : LISP, SNOBOL -수치제어용 언어
10. 프로그램 처리과정 원시프로그램 (Source P/G) 컴파일러= 언어번역 목적프로그램 (Object P/G) 링커 실행프로그램 (Run P/G) 링커 (Linker) 로더(loader) 표준라이브러리
11. 하드웨어 정의 – 컴퓨터의 각종 기기 메모리 인터리빙 재배치 레지스터 폴링 인터럽트 버퍼링 멀티플레서 채널 사이클 스트링 페이징 기법, 세그먼트 기법
12. 컴퓨터의 종류 처리 방법에 의한 분류 디지털 컴퓨터 : 모든 자료를 0과 1로 나타내는 연산처리를 가지는 컴퓨터 아날로그 컴퓨터 : 연속적인 파형을 사용하여 정보를 산출해내는 컴퓨터 하이브리드 : 디지털과 아날로그의 장점을 본따 만든 컴퓨터 예로 택시요금계산기
12. 컴퓨터의 종류 사용 용도에 따른 분류 특수/전용 컴퓨터 : 특정한 문제를 전문적으로 해결하기 위해 제작된 컴퓨터 범용 컴퓨터 : 일반적인 분야의 문제들을 해결하기 위해 만들어진 컴퓨터 개인용 컴퓨터 : 크기가 작고 각 개인이 사용하게 만들어진 보급용 컴퓨터
12. 컴퓨터의 종류 컴퓨터 성능에 의한 분류 개인용 컴퓨터 : 데스크탑, 랩톱, 노트북, 팜톱, PDA 워크스테이션 : 네트워크에 연결하여 서버로 사용 미니 컴퓨터 : 중형 컴퓨터 대형 컴퓨터 : 메인 프레임 컴퓨터 슈퍼 컴퓨터 : 우주 및 항공, 기상예보, 유전자 해독등에 사용