1장 운영체제의 소개 컴퓨터소프트웨어 2-B 200712113 한아름
운영체제의 개요 운영체제의 종류 운영체제의 발전과정 운영체제의 구성 운영체제의 기능 소프트웨어의 개요 프로그램과 프로그래밍언어 컴퓨터의 종류
운영체제의 개요 (운영체제의 정의) -운영체제란? * 컴퓨터 시스템에 의한 작업의 조작을 프로그래머나 시스템 운영자의 개입 없이 효율적, 연속적으로 처리하여 최대의 성능을 유지할 수 있도록 컴퓨터의 동작을 관리,제어 하드웨어와 사용자간의 인터페이스를 해주는 시스템 소프트웨어 *사용자 대신 시스템을 작동시켜주는 프로그램 (운영체제의 역할) 사용자와 컴퓨터간 인터페이스 기능 제공 자원의 관리 사용자들 간에 하드웨어를 공동으로 사용 사용자들 간에 데이터 공유 사용자들 간의 자원 스케줄링 입출력 보조 역할 에러(Error)처리
운영체제의 개요 (운영체제가 관리하는 주된 자원들) 중앙처리장치(CPU) 기억장치(MEMORY) 입출력장치(INPUT/OUTPUT) 데이터(DATA) (운영체제의 목적) 신뢰도향상(신뢰도평가기준:MTBF+MTTF+MTTR) -시스템의 전체 운영시간 중에서 가동중인 시간의 비율 처리량향상(THROUGHPUT) 응답시간의 단축(RESPONSE TIME) 사용자의 하드웨어 접근 용이 제한된 시스템 자원의 효율적 통제,운영으로 높은 성능의 지원
운영체제의 종류 *동시사용자 수에 따른 분류 -단일사용자ex) IBM-PC, MS-DOS, WINDOWS 95/98 등,다중사용자ex) unix, VMS, MVS 등 *작업처리방법에 따른 분류 -단일 태스킹 시스템, 다중 태스킹 시스템 *사용환경에 따른 분류 -단순모니터 CPU 유휴(idle) 시간을 줄이기 위해 자동 작업의 순서화 개념 -일괄 처리 시스템 자료를 일정 기간 동안 또는 일정한 분량이 될 때가지 모아 두었다가 한꺼번에 처리하는 방식 -오프라인시스템 입출력장치나 보조장비들이 컴퓨터와 연결되지 않아 직접적인 통제하에 있지 않는 시스템 -온라인 시스템 -시분할 시스템 CPU가 여러 작업들을 각 사용자에게 각각 짧은 시간으로 나누어 연속적으로 처리하는 시스템이다.(처리속도 = NS 이상) -다중 프로그래밍 시스템 한개의 CPU가 주기억장치에 여러 프로그램들이 존재하면서 다중 작업을 구현한 시스템 -다중 처리 시스템 여러 개의 CPU를 설치하여 각각 해당업무를 처리할 수 있는 시스템. -실시간 처리 시스템 실시간 처리 시스템은 데이터 발생 지역에 설치된 단말기를 이용하여 데이터 발생과 동시에 입력시키며 중앙의 컴퓨터는 여러 단말기에서 전송되어 온 데이터를 즉시 처리 후 그 결과를 해당 단말기로 보내주는 시스템 -분산 처리 시스템 소형 오피스 컴퓨터를 분산 배치하여 중앙의 대형 컴퓨터와 온라인으로 접속시키는 것 이 방식
운영체제의 구성 및 기능 커널이란? 부팅 후 주기억장치에 상주하는 OS의 핵심부분으로 제어프로그램 또는 핵이라고 부른다. 유닐리티란? 부팅 시 주기억장치에 적재되지 않으며 보조기억 장치에 있다가 해당 기능이 호출될 때 필요한 부분만 주기억장치에 적재되어 사용하다가 사용이 끝나면 주기억장치에서 지워진다. 프로세스관리 운영체제는 시스템내의 각 프로세서들이 어던 상태에 있는지 특정 상태에서 어떤 요구를 하며, 총 실행 시간이 얼마인지 등에 대한 정보를 근거로 프로세서 관리를 한다. ex) 스케줄 관리, 할당관리 기억장치관리 주기억장치 용량이 적기 때문에 모든 프로그램과 데이터를 적재할 수 없기 때문에 효율적으로 관리 해야 한다. 파일관리 파일관리 편리성을 제공하기 위해 디렉터리 계층 구조의 개념을 시용한다 입출력관리 실행중인 프로세서가 입출력을 요구할 때 실행은 잠시 중단되고 요구한 입력이 완료될 때까지 더 이상 실행을 하지 않는다. 이때 입출력은 운영체제 가 대신 처리하게 된다.
소프트웨어의 개요 소프트웨어란? 컴퓨터하드웨어의 동작을 지시,제어,통제하는 일련의 명령어 집합으로 구성된 프로그램과 특정문제를 해결하기 위한 프로그램에 관련된 모든 문서 및 사용법, 제반 기술과 환경 소프트웨어의 특징 개념적이고 무형적: 보조기억장치에 저장 비가시성:형체가 보이지 않음 복잡성:시스템+개발과정 변형성:정형적인 구조가 없다(환경변화)
프로그램과 프로그래밍 언어 (프로그램의 정의) 컴퓨터가 처리하는 일의 순서를 명령어로 적은 것, 특정문제를 해결하기 위해 일의 처리 순서를 지시하는 명령어의 집합,프로그램을 작성하는 과정을 프로그래밍이라고 한다. (프로그래밍언어의 정의) 사람이 컴퓨터에게 명령을 하는 수단, 프로그래머와 컴퓨터 사이의 대화하는 수단. 프로그래밍 언어는 기계지향 언어, 범용 프로그램 언어, 간이 언어, 특수문제 언어로 나뉨
(프로그래밍 언어의 분류) -기계지향언어 -범용 프로그래밍 언어 -간이언어 -특수 문제 언어 기계어 : 0,1의 연속으로 구성된 컴퓨터의 기본언어 어셈블리어 : 기계어를 정해진 기호로 바꾸어 작성할 수 있는 언어 -범용 프로그래밍 언어 컴파일러 언어 : 고급언어로 작성한 코드를 실행시키기 전에 컴파일러를 사용하여 프로그램 전체를 기계어로 변환해 주는 언어 인터프리터 언어 : 프로그램 실행이 한 행씩 해석되면서 실행하는 언어 -간이언어 RPG : IBM에서 데이터를 이용해 보고서 작성용 업무 프로그램을 쉽게 작성하기 위해 개발된 언어 -특수 문제 언어 시뮬레이션:GPSS( General Purpose Simulation System),SIMSCRIPT( Simulation Scripter) 리스트처리 언어 : LISP(List Processing; 인공 지능 문제에 사용), SNOBOL (StriNg Oriented symBOlic Language; 문자처리를 위해 만든 언어로 패턴의 비교 연산 능력이 뛰어나다.) 수치제어용 언어 : APT( Automatically Programmed Tools)
하드웨어 (하드웨어란?) 컴퓨터 시스템의 각종 기기로 구성 *메모리 인터리빙 *재배치 레지스터 *폴링 *인터럽트 *버퍼링 *멀리플렉서 채널 *사이클 스트링 *페이징 기법과 세그먼트 기법
컴퓨터의 종류 (처리방법에 의한 분류) (사용용도에 따른 분류) (컴퓨터 성능에 따른 분류) *디지털 컴퓨터(Digital) *아날로그 컴퓨터(Analog) *하이브리드(hybrid (사용용도에 따른 분류) *특수/전용 컴퓨터 *범용 컴퓨터 *개인용 컴퓨터 (컴퓨터 성능에 따른 분류) *워크스테이션 *미니 컴퓨터 등