1장 운영체제 2-C반 운영체제 200812100 박소라
운영체제(operating system)란? ->사용자 대신에 시스템을 작동시켜주는 프로그램 컴퓨터 시스템에 의한 작업의 조작을 프로그래머나 시스템 운영자의 개입 없이 효율적이며 연속적으로 처리하여 최대의 성능을 유지할 수 있도록 컴퓨터의 동작을 관리, 제어하는 시스템이며 컴퓨터의 하드웨어와 컴퓨터 사용자간의 인터페이스를 해주는 시스템소프트웨어
운영체제의 역할 1.사용자와 컴퓨터 시스템간 인터페이스 기능제공 2.자원의 관리 3.사용자들 간에 하드웨어를 공동으로 사용 4.사용자들 간에 데이터 공유 5.사용자들 간의 자원 스케줄링 6.입출력 보조 역할 7.에러(Error) 처리
운영체제의 자원 운영체제의 목적 -중앙처리장치(CPU) -기억장치(Memory) -입출력장치(Input/Output) -데이터(Data) 운영체제의 목적 -신뢰도 향상 -처리량 향상 -응답시간의 단축 -사용자의 하드웨어 접근 용이 -제한된 시스템 자원의 높은 성능의 지원
*운영체제의 종류* 동시 사용자 수에 따른 분류 작업 처리 방법에 따른 분류 단일 사용자 시스템(Single User System) 다중 사용자 시스템(Multi User System) 작업 처리 방법에 따른 분류 단일 태스킹 시스템 (Single Tasking System) 다중 태스킹 시스템(Multi Tasking System)
사용 환경에 따른 분류 단순 모니터 일괄 처리 시스템 오프라인 시스템 온라인 시스템 시분할 시스템 다중 프로그래밍 시스템 다중 처리 시스템 실시간 처리 시스템 분산 처리 시스템
CPU 유휴(idle) 시간을 줄이기 위해 자동 작업의 순서화 개념 단순 모니터 CPU 유휴(idle) 시간을 줄이기 위해 자동 작업의 순서화 개념 일괄처리 시스템(Batch Processing System) 자료를 일정 기간 동안 또는 일정한 분량이 될 때가지 모아 두었다가 한꺼번에 처리하는 방식 오프라인시스템(off-line system) 입출력장치나 보조장비들이 컴퓨터와 연결되지 않아 직접적인 통제하에 있지 않는 시스템을 말한다. 온라인시스템(on-line system) CPU와 주변장치와 온라인으로 연결되어 작동하며 사용자와 컴퓨터 시스템 사이에 온라인 통신을 제공하여 사용자가 해당 프로그램에 직접 명령을 주는 즉시 응답을 받는 시스템이다.
시분할 시스템(Time Sharing System) CPU가 여러 작업들을 각 사용자에게 각각 짧은 시간으로 나누어 연속적으로 처리하는 시스템 다중 프로그래밍 시스템(Multi-Programming System) 한 개의 CPU가 주기억장치에 여러 프로그램들이 존재하면서 다중 작업을 구현한 시스템 다중 처리 시스템(Multi-Processing System) 여러 개의 CPU를 설치하여 각각 해당업무를 처리할 수 있는 시스템 실시간 처리 시스템(Real Time Processing system) 실시간 처리 시스템은 데이터 발생 지역에 설치된 단말기를 이용하여 데이터 발생과 동시에 입력시키며 중앙의 컴퓨터는 여러 단말기에서 전송되어 온 데이터를 즉시 처리 후 그 결과를 해당 단말기로 보내주는 시스템 분산처리 시스템(Distributed Processing system) 소형 오피스 컴퓨터를 분산 배치하여 중앙의 대형 컴퓨터와 온라인으로 접속시키는 것 이 방식
운영체제의 구성 <커널> 부팅후 주기억장치에 상주하는 OS의 핵심부분으로 제어프로그램 또는 핵이라 부른다. <유틸리티> 부팅 시 주기억 장치에 적재되지 않으며 보조기 억 장치에 있다가 해당 기능이 호출될 때 필요한 부분만 주기억장치에 적재되어 사용하다가 사용이 끝나면 주기억장치에서 지워진다.
운영체제의 기능 -프로세스 관리 -기억장치 관리 -파일 관리 -입출력 관리
1. 개념적이고 무형적 2. 비가시성(Invisibility) 3. 복잡성(Complexity) 소프트웨어의 정의 소프트웨어는 컴퓨터 하드웨어의 동작을 지시, 제어, 통제하는 일련의 명령어 집합으로 구성된 프로그램과 특정 문제를 해결하기 위한 프로그램 및 프로그램 작성 도구, 프로그램에 관련된 모든 문서 및 사용법, 제반 기술과 환경을 말한다. 소프트웨어의 특징 1. 개념적이고 무형적 2. 비가시성(Invisibility) 3. 복잡성(Complexity) 4. 변형성(Conformity)
프로그램의 정의 컴퓨터가 처리하는 일의 순서를 명령어로 적은 것으로 특정문제를 해결하기 위해 컴퓨터에게 일의 처리순서를 지시하는 명령어의 집합. 이러한 과정을 프로그래밍(programming) 이라고 함. 프로그래밍 언어의 정의 사람이 컴퓨터에게 명령을 하는 수단으로 프로그래머와 컴퓨터 사이의 대화하는 수단이다. 프로그래머가 필요로 하는 특정 프로그래밍 언어를 이용하여 명령문을 기술한다. 프로그래밍 언어는 기계지향 언어, 범용 프로그램 언어, 간이 언어, 특수문제 언어 등으로 나눌 수 있다.
프로그래밍 언어의 분류 그밖의 프로그래밍 언어의 분류 <기계지향언어 > -기계어, 어셈블리 언어 <범용 프로그래밍 언어> - 컴파일러 언어, 인터프리터 언어 그밖의 프로그래밍 언어의 분류 - <간이 언어>, <특수 문제 언어> 언어번역의 종류 1.어셈블러(Assembler) 2.컴파일러(Compiler) 3.인터프리터(Interpreter) 4.프리프로세서(Preprocessor)
하드웨어의 정의 - 메모리 인터리빙 - 재배치 레지스터 - 폴링 - 인터럽트 - 버퍼링 - 멀티플렉서 채널 - 사이클 스트링 - 페이징 기법과 세그먼트 기법 하드웨어는 컴퓨터 시스템의 각종 기기로 구성 14
컴퓨터의 종류 처리방법에 의한 분류 사용 용도에 따른 분류 컴퓨터 성능 의한 분류 - 디지털 컴퓨터(Digital) - 아날로그 컴퓨터(Analog) - 하이브리드(hybrid) 사용 용도에 따른 분류 - 특수/전용 컴퓨터 - 범용 컴퓨터 - 개인용 컴퓨터 컴퓨터 성능 의한 분류 - 개인용 컴퓨터 - 워크스테이션 - 미니 컴퓨터 등 15
감사합니다.