운영체제 200812120 이나현
운영체제 정의 사용자 대신 컴퓨터 시스템의 전반적인 동작을 제어하고 조정하는 시스템 프로그램들의 집합 역할 60년대 : 운영체제를 단지 하드웨어를 제어하는 소프트웨어로만 생각함 80년대 : 운영체제를 펌웨어(Firmware) 즉 마이크로 코드로 전환시켰음 역할 사용자와 컴퓨터 시스템간 인터페이스 기능 제공 자원의 관리 사용자들 간에 하드웨어를 공동으로 사용 사용자들 간에 데이터 공유 사용자들 간의 자원 스케줄링 입출력 보조 역할 에러(Error) 처리
운영체제 종류 동시 사용자 수에 따른 분류 작업 처리 방법에 따른 분류 단일 사용자 시스템(Single User System) ex) IBM-PC, MS-DOS, WINDOWS 95/98 등 다중 사용자 시스템(Multi User System) ex) unix, VMS, MVS 등 작업 처리 방법에 따른 분류 단일 태스킹 시스템 (Single Tasking System) 다중 태스킹 시스템(Multi Tasking System)
운영체제 종류 사용 환경에 따른 분류1 (1) 단순 모니터 CPU 유휴(idle) 시간을 줄이기 위해 자동 작업의 순서화 개념 (2) 일괄처리 시스템(Batch Processing System) 자료를 일정 기간 동안 또는 일정한 분량이 될 때가지 모아 두었다가 한꺼번에 처리하는 방식 (3) 오프라인시스템(off-line system) 입출력장치나 보조장비들이 컴퓨터와 연결되지 않아 직접적인 통제하에 있지 않는 시스템 (4) 온라인시스템(on-line system) CPU와 주변장치와 온라인으로 연결되어 작동하며 온라인 통신을 제공하여 사용자가 해당 프로그램에 직접 명령을 주는 즉시 응답을 받는 시스템
운영체제 종류 사용 환경에 따른 분류2 (5) 시분할 시스템(Time Sharing System) CPU가 여러 작업들을 각 사용자에게 각각 짧은 시간으로 나누어 연속적으로 처리하는 시스템(처리속도 = NS 이상) (6) 다중 프로그래밍 시스템(Multi-Programming System) 한 개의 CPU가 주기억장치에 여러 프로그램들이 존재하면서 다중 작업을 구현한 시스템 (7) 다중 처리 시스템(Multi-Processing System) 여러 개의 CPU를 설치하여 각각 해당업무를 처리할 수 있는 시스템 (8) 실시간 처리 시스템(Real Time Processing system) 실시간 처리 시스템은 단말기를 이용하여 데이터 발생과 동시에 입력시키며 중앙의 컴퓨터는 여러 단말기에서 전송되어 온 데이터를 즉시 처리 후 그 결과를 해당 단말기로 보내주는 시스템 (9) 분산처리 시스템(Distributed Processing system) 소형 오피스 컴퓨터를 분산 배치하여 중앙의 대형 컴퓨터와 온라인으로 접속시키는 방식
운영체제의 발전과정
운영체제의 발전과정 운영체제의 세대별 분류 - 1세대(50년대) : 작업들간의 전이를 원활하게 설계 → 일괄처리 시스템의 효시 - 2대(60년대) : 분할 시스템, 다중 프로그래밍, 다중처리 개발 - 3세대(60년대 후반 ~70년대 중반) → 다중 모드 시스템( 예; UNIX 시스템 ) - 4세대(70년대 후반~ 현재) : → 마이크로 프로세서의 등장
운영체제의 기능 프로세스 관리 운영체제는 시스템내의 각 프로세서들이 어떤 상태에 있는지 특정 상태에서 어떤 요구를 하며, 총 실행 시간이 얼마인지 등에 대한 정보를 근거로 프로세서관리. ex) 스케줄 관리, 할당관리 기억장치 관리 주기억장치 용량이 적기 때문에 모든 프로그램과 데이터를 적재할 수 없기 때문에 효율적으로 관리. 파일 관리 운영체제는 사용자 입력한 프로그램이나 데이터를 보조 기억장치에 저장하고 필요에 따라 보조 기억장치에 접근할 수 있도록 지원. 디렉터리 계층 구조의 개념을 시용. 입출력 관리 실행중인 프로세서가 입출력을 요구할 때 실행은 잠시 중단되고 요구한 입력이 완료될 때까지 더 이상 실행을 하지 않음. 이때 입출력은 운영체제가 대신 처리.
소프트웨어 & 하드웨어 소프트웨어의 정의 소프트웨어의 특징 하드웨어는 컴퓨터 시스템의 각종 기기로 구성 메모리 인터리빙 컴퓨터 하드웨어의 동작을 지시, 제어, 통제하는 일련의 명령어 집합으로 구성된 프로그램 특정 문제 해결을 위한 프로그램, 프로그램 작성 도구, 프로그램에 관련된 모든 문서 및 사용법, 제반 기술과 환경. 소프트웨어의 특징 개념적이고 무형적, 비가시성(Invisibility), 복잡성(Complexity) : 시스템+개발과정, 변형성(Conformity) 하드웨어는 컴퓨터 시스템의 각종 기기로 구성 메모리 인터리빙 재배치 레지스터 폴링 인터럽트 버퍼링 멀티플렉서 채널 사이클 스트링 페이징 기법과 세그먼트 기법
프로그램과 프로그래밍 언어 프로그램의 정의 프로그래밍 언어의 정의 명령어로 적은 것으로 특정문제를 해결하기 위해 컴퓨터에게 일의 처리순서를 지시하는 명령어의 집합. 프로그램 작성 과정- 프로그래밍(programming) 프로그래밍 언어의 정의 프로그래머와 컴퓨터 사이의 대화하는 수단. 특정 프로그래밍 언어를 이용하여 명령문을 기술. 프로그래밍 언어는 기계지향 언어, 범용 프로그램 언어, 간이 언어, 특수문제 언어 등으로 나눔.
프로그래밍 언어의 분류-1 기계지향언어 : 기계어, 어셈블리 언어 ① 기계어 : 0과 1의 연속으로 구성 ② 어셈블리어 : 기계어를 정해진 기호로 바꾸어 작성 범용 프로그래밍 언어 : 컴파일러 언어, 인터프리터 언어 ① 컴파일러 언어(Compiler Language) : 컴파일러를 사용하여 프로그램 전체를 기계어로 변환해 주는 언어 ex) C언어, 포트란, 코볼, PL/1, 파스칼 등 ex) 컴파일러 언어의 종류 : 컴파일러, 인터프리터, 어셈블러, 프리 프로세서 ② 인터프리터 언어(Interpreter Language) : 한 행씩 해석되면서 실행하는 언어 ex) BASIC, APL(A Programming Language)
프로그래밍 언어의 분류-2 간이 언어 ① RPG : Report Program Generator의 약어로써 1965년에 IBM에서 데이터를 이용해 보고서 작성용 업무 프로그램을 쉽게 작성하기 위해 개발된 언어 특수 문제 언어 ① 시뮬레이션(Simulation) : GPSS( General Purpose Simulation System), SIMSCRIPT( Simulation Scripter) ② 리스트처리 언어 : LISP(List Processing; 인공 지능 문제에 사용), SNOBO (StriNg Oriented symBOlic Language; 문자처리를 위해 만든 언어로 패턴의 비교 연산 능력이 뛰어남) ③ 수치제어용 언어 : APT( Automatically Programmed Tools)
프로그램 처리과정 원시프로그램 (Source P/G) 컴파일러= 언어번역 목적프로그램 (Object P/G) 실행프로그램 (Run P/G) 링커 (Linker) 로더(loader) 표준라이브러리 언어번역의 종류 ①어셈블러(Assembler) ②컴파일러(Compiler) ③인터프리터(Interpreter) ③프리프로세서(Preprocessor)
컴퓨터의 종류 처리방법에 의한 분류 사용 용도에 따른 분류 컴퓨터 성능 의한 분류 디지털 컴퓨터(Digital) 아날로그 컴퓨터(Analog) 하이브리드(hybrid) 사용 용도에 따른 분류 특수/전용 컴퓨터 범용 컴퓨터 개인용 컴퓨터 컴퓨터 성능 의한 분류 워크스테이션 미니 컴퓨터 등