미래기록

[정보처리기사] 운영체제 본문

카테고리 없음

[정보처리기사] 운영체제

eh-oh 2019. 10. 2. 14:00

개념

1.정의

-제한된 컴퓨터의 각종 자원을 효율적으로 관리 운영함으로서 사용자에게 최대의 편리성을 제공하고자하는 인간과 컴퓨터 사이의 인터페이스를 위한 시스템 소프트웨어

-인간과 기계 간의 인터페이스 역할 (Man-Machine Interface)

기능

-컴퓨터 시스템 자원 관리

-프로세서, 메모리, 주변 장치, 파일 등을 관리

 

2.역할

사용자들간의 하드웨어의 공동사용, 자원공유

자원의 효과적인 운영을 위한 스케쥴링

입출력에 대한 보조 역할

에러에 대한 처리

사용자들간의 간섭 방지

자원의 사용량 계산

병렬 수행을 위한 편의제공 

데이터에 대한 보안과 신속하 사용 통신 네트워크 관리

 

3.목적

1) 사용의 편리성 : 사용자로 하여금 컴퓨터의 하드웨어와 각종 정보를 효율적으로 관리하여 컴퓨터를 보다 편리하게 사용할 수 있도로고 제공

2) 시스템 성능의 향상 : 성능의 최대 발휘를 목적으로 하며 다음의 기준으로 판단

 -처리능력(throughput) 일정 단위 시간 동안 컴퓨터가 처리하는 작업의 양

 -응답시간(turn around time) 한 작업을 처리할 떄 입력으로부터 결과가 출력될 때까지의 경과 시간

 -사용의 용이성(availability) 사용자가 필요로하는 컴퓨터를 적절한 때에 얼마나 빨리

 -신뢰도(reliability) 컴퓨터가 올바로 작동되는가

 

4.구성

1)제어프로그램(control program)

 -감시 프로그램(supervisor program)

 -데이터 관리 프로그램(data managerment program)

 -작업 제어 프로그램(job control program)

2)처리 프로그램(processing program)

 -언어 번역 프로그램(language translator program)

 -서비스 프로그램(service program)

 -문제 프로그램(problem program)

 

5.운영체제의 구조

-커널: 인터럽트처리기, 디스패쳐, 프로세서 동기를 위한 기능 지원, HW와 밀접하게 관련

-기억장치 관리기

-입출력 시스템

-파일관리

-단기 스케줄러: 시스템 내 활성 큐 과리, CPU 관리, HW와 무관

-자원관리기: CPU를 제외한 다른 자원들을 관리

-장기 스케줄러: 프로세서의 생성, 소멸, 제어를 담당

-명령어 해석기: 사용자와 직접 대화, Shell이라 부름

 

운영체제의 목적

-처리 능력의 향상

-반환 시간의 최소화

-사용가능도 향성

-신뢰도 향상

 

운영체제 기능(역할)

1)부팅(Booting)

2)저장매체 관리

3)사용자 인터페이스

4)컴퓨터 자원 관리

5)파일 관리

6)태스크 및 프로세스 관리

  -다중 프로그래밍(multi-programming)

  -시분할 시스템(time sharing system)

  -다중 처리(multiprocessing)

  -가상기억 장치(virtual memory)

 

상용운영체제의 종류

MS-Dos,Windows95,98,XP,7,2000

Linux,Unix..

 

분류

1.운영체제의 등장

1)1950년대 초

general motors사에서 IBM 701을 위한 최초의 운영체제를 개발하였으며 그 전에는 운영체제의 할 일이 사람에 의해서 직접 처리되었다.

 

2)특징(1950년대)

일괄처리 시스템의 시작

작업제어 언어(JCL)의 등장

 

2.초기 운영체제 시스템

한번에 하나의 작업만 수행하며 시간이 오래걸림

 

3.일괄처리 시스템(batch processing)

1) 1950년대 초기의 컴퓨터 처리방법 중 하나로 처리할 데이터를 일정량을 모아 한꺼번에 처리

2) 상주모니터(resident monitor)

사용자가 한번에 한 작업씩 수행하던 것을 한 개의 batch로 묶어 자동 처리되게 한 OS

상주모니터 구성 요소

 -인터럽트와 트랩 벡터, 장치 구동기, 작업의 순서화(대기작업들), 제어카드 해석기

3) 장점

 -시스템의 사용계획을 구체적으로 세워 능률적으로 사용 가능

4) 단점

 -반환시간이 늦고 프로그램의 오류수정 작업이 어려우며 CPU가 유휴상태가 되기 쉽다

 -보완방법 : 상주모니터, 오프라인 연산, 버퍼링, 스풀링

 

4.다중 프로그래밍 시스템(multi programming)

하나의 중앙처리장치에 여러 개의 프로그램을 실행시키으로써 짧은 시간에 많은 작업을 수행할 수 있게 하여 시스템의 효율을 높여 주는 것

1) 고려사항 : CPU스케줄링, 기억장치관리기법, 장치스케줄링, 교착상태, 병행제어 및 보호문제

2) 장점 : 다중작업을 구현하므로 시스템의 효율이 높다

3) 단점 : CPU의 유휴시간이 길어진다, 기억장치 관리기법, CPU 스케줄링 기법이 필요

 

5.다중 처리 시스템(multi processing system)

하나의 공용 기억장치를 통하여 두개 이상의 프로세서를 제어하는 시스템

공유된 주기억장치의 사용을 스케줄링 하는데 어려움이 존대

장점 : CPU를 여러개 사용하여 작업속도와 신뢰성을 높일 수 있다

 

6.시분할 시스템(time sharing system)

한 대의 컴퓨터로 일정한 시간내에 여러가지 작업을 처리하는 방법

장점 : 여러사람이 공동으로 CPU를 사용하여 여러 개의 프로그램을 기억장치에 적재

단점 : 운영체제를 복잡하게 한다

 

7.실시간 시스템(real time system)

처리 대상 데이터가 발생하는 즉시 처리하여 결과를 산출하는 방식

장점 : 사용자의 노력이 절감되고 처리시간이 단축되며 처리비용이 절감

단점: 입출력 자료의 일시저장 및 대가가 필요하고 특정상태의 재현이 불가능, 시스템에 장애가 발생할 때 단순한 재실행이 불가능

 

8.분산처리 시스템

지역적으로 분산되어 있는 여러 대의 컴퓨터가 프로세서 사이의 특별한 데이터 링크를 통해 교신하면서 한 조직내의 동일한 업무를 수행하고 정보 교환을 위해 네트워크로 상호 결합된 시스템

특징 : 자원공유, 신뢰성, 계산속도 증가, 통신

 

관점

운영체제에 대한 사용자의 관점은 시스템 프로그램 특히 명령어 해석기에 의해 결정

1.프로세스 관점

1) 운영체제를 프로세스의 상태를 변화시키는 프로그램의 일종응로 보는 관점

2) 중앙처리 장치는 한 시점에서 하나의 작업만 수행하므로 각 프로세스의 상태를 변화시켜야 한다.

 

2.자원관리자 관점

운영체제를 시스템 자원들을 관리하기 위해 설계된 프로그램의 집단이라고 보는 관점

1) 프로세스 관리 기능 : 어느 작업에게 CPU를 할당할 것인가를 결정

2) 기억장치 관리 기능 : 어느 프로세스에게 기억장치를 할당할 것인가를 결정

3) 장치관리 기능 : 장치를 할당하는데 어떤 방법이 효율적인지를 결정

4) 정보관리 기능 : 어느 작업에게 어떤 자원을 사용하도록 할 것인지를 결정

 

3.계층구조 관정

계층 1 - 프로세서 관리

 : 동기화 및 프로세서의 스케쥴링을 위한 프로세서 관리를 담당

게층 2 - 기억장치 관리

 : 기억공간의 할당 및 회수 기능을 실행하는 기억장치 관리를 담당

계층 3 - 프로세스 관리

 : 프로세스의 생성, 제거, 프로세스간 메시지전달, 프로세스의 시작과 정지 담당

계층 4 - 주변장치 관리

 : 주변장치의 상태파악 및 입출력 장치의 스케쥴링을 하고 입출력에 대한 전반 사항 지시

계층 5 - 파일 및 데이터 관리

 : 파일 생성과 소멸, 파일 오픈고 ㅏ닫기, 파일의 유지 및 관리 등을 담당

 

4.하드웨어 확장 관점

운영체제를 하드웨어의 기능 확대라는 측면에서 보는 관점

 

5.기능적 관점

운영체제를 시스템 구성원 중의 일부로 보는 관점

 

6. 작업제어 언어 관점

 

시스템프로그램

1.system software 개념

정의 : 특정한 문제를 해결하기 위한 알고리즘을 하드웨에 정의해 주는 명령문과 데이터를 가진 프로그램으로 구성

특징 : 컴퓨터의 작동, 수행에 있어서 기본이 되면 하드웨어 환경을 직접 제어, 컴퓨터 제조회사나 시스템 프로그래머에 의해 작성

 

2.종류

1)매크로(macro)

프로그램에서 동일한 코드가 반복되어 나타나는 경우 이를 매버 나열하기 보다 하나의 간단한 코드로 정의하여 사용하는 기법

 

2)링커(linker)

공동으로 이용할 수 있도록 각 모듈간의 호출 및 공동 데이터의 이용을 가능하게 해주는 시스템 프로그램

 

3)로더(loader)

-절대로더(absolute loader) : 기계어 코드 프로그램에서 미리 지정한 번지에 프로그램과 데이터를 로드한다.

-상대로더(relocating loader) : 로드 과정에서 메모리의 적당한 영역을 찾아 로드

 

Comments