Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

RamaFam

[ 정보처리기사 - 필기 요점 ] 3. 운영체제 본문

공부/정보처리기사

[ 정보처리기사 - 필기 요점 ] 3. 운영체제

RamaFam 2019. 3. 29. 13:49


     

     

운영체제 요점 정리

     

■ 운영체제의 기능 

 -사용자가 프로그램을 수행할 수 있는 환경을 제공한다

 -한정된 자원을 효율적으로 사용하게 한다

 -사용자 인터페이스를 제공한다

 -프로세서메모리주변장치 관리 

 -오류 처리를 담당한다

 -컴퓨터 시스템의 성능 향상을 꾀한다

 ① 처리량의 향상  ② 응답시간 단축  ③ 신뢰도 향상

     

■ 제어 프로그램(Control Program) 

 감시 프로그램(Supervisor program) 

 작업 제어 프로그램 (Job Control program): 작업 스케줄링 담당 

 데이터 관리 프로그램(Data Management program): 자료 파일 관리

     

■ Spooling(Simultaneous Peripheral Operation On-Line) 

 입출력 장치의 느린 처리 속도 보완 

 용량이 크고 신속한 액세스가 가능한 디스크를 이용

     

■ 시분할 체제(Time-sharig system) 

 시스템은 일정시간 단위로 CPU를 한 사용자에서 다음 사용자로 신속하게 전환함으로써각각의 사용자들은 실제로 자신만이 컴퓨터를 사용하고 있는 것으로 여긴다.

     

■ 실시간 체제(Real-Time system) : 처리 시간이 제한되어 있는 자료가 발생할 때마다 이를 즉시 처리하여그 결과를 출력

     

■ 매크로(Macro) : 어셈블리 프로그래밍 시 반복되는 문장

     

■ 매크로 처리 과정 

 패스 1 : 매크로 정의 인식매크로 정의 저장 

 패스 2 : 매크로 호출 인식매크로 확장

     

■ 어셈블러를 두 개의 패스로 구성하는 이유

 한 개의 패스만을 사용하면 기호를 모두 정의한 뒤에 해당 기호를 사용해야만 하기 때문기호를 정의하기 전에 사용할 수 있는 프로그램 작성을 용이하게 위해서

     

■ 로더(Loader) :  프로그램을 실행하기 위하여 프로그램을 보조 기억장치로부터 주기억장치에 올려놓는 기능

     

■ 절대 로더(Absolute Loader)의 기능 

 ① 할당(Allocation) : 프로그래머  

 ② 연결(Link) : 프로그래머 

 ③ 재배치(Relocation) : 어셈블러  

 ④ 적재(Load) :  로더

     

■ 프로세스 제어 블록(PCB: Process Control Block)

 ① 프로세스의 현 상태 

 ② 프로세스의 식별자

 ③ 프로세스의 우선 순위

 ④ 할당된 자원에 대한 포인터

 ⑤ 프로그램 카운터

 ⑥ 레지스터 보관 장소

 ⑦ 프로세스의 부모 프로세스/자식 프로세스에 대한 포인터

     

■ SVC(Supervisor Call) 인터럽트 입출력 수행기억장치의 할당오퍼레이터와의 대화 등을 하기 위해 발생

     

■ 상호배제(Mutual Exclusion) : 어떤 프로세스가 공유 자원을 액세스 할 때 한 순간에 하나의 프로세스만 공유자원을 변경할 수 있도록 하는 기법

     

■ 세마포어(Semaphore)

 ① Dijkstra에 고안

 ② 상호배제 해결 방안

 ③ 여러 개의 프로세스가 동시에 그 값을 수정 못함

 ④ 연산 처리도중 인터럽트 되어서는 안된다.

     

■ 모니터(Monitor) 

 상호배제를 구현하는 기법 

 공유 데이터와 이 데이터를 처리하는 프로시저의 집합

 모니터 내부의 공유 자원을 원하는 프로세스는 반드시 해당 모니터의 프로시저를 호출하여야 한다.

 모니터 외부의 프로세스는 모니터 내부 데이터를 직접 액세스 할 수 없다.

 한 순간에 하나의 프로세스만이 모니터에 진입할 수 있다.

 정보 은폐(Information hiding) 개념

 모니터 내에서 사용되는 연산은 wait와 signal이다

     

■ 교착상태의 발생의 필요 조건

 ① 상호배제(Mutual exclusion) 조건

 ② 점유 및 대기조건

 ③ 비선점(Non-preemption)

 ④ 환형대기 조건

     

■ 교착 상태 회피(Avoidance): Dijkstra의 은행원 알고리즘

     

■ 스케줄링 기법

 1) 선점 기법(Preemptive)

 -하나의 프로세스가 CPU를 점유하고 있을 때 다른 프로세스가 CPU를 빼앗을 수 있는 방법

 -순위가 높은 프로세스가 먼저 수행되어야 할 때 유용

 -빠른 응답 시간을 요구하는 대화식 시분할 시스템에 유용

 -많은 오버헤드를 초래한다.

 2) 비선점 기법(Non-preemptive)

 -프로세스에게 이미 할당된 프로세서를 강제로 빼앗을 수 없고그 프로세스의 사용이 끝난 후에 스케줄링 해야 하는 방법

 -모든 프로세스들에 대한 요구를 공정히 처리한다.

     

■ 스케줄링 알고리즘의 종류

 1) FIFO(First In First Out) 스케줄링

 -먼저 대기 큐에 들어온 작업에게 CPU를 먼저 할당

 -FCFS(First Come First Serves) 스케줄링 방법

 2) 우선 순위(Priority) 스케줄링

 -각 작업마다 우선순위가 주어지며우선순위가 제일 높은 작업 에게 먼저 CPU를 할당되는 방법

 -우선순위가 낮은 작업은 무한 봉쇄나 기아상태에 빠질 수 있고이에 대한 해결책으로 대기시간에 따라 우선순위가 높아지는 에이징(Aging)기법을 사용할 수 있다.

 3) 기한부(Deadline) 스케줄링

 -작업이 주어진 제한 시간이나 만료시간 안에 작업이 완료되도록 하는 기법이다.

 4) 라운드 로빈(RR: Round Robin) 스케줄링

 -FIFO 스케줄링 선점 스케줄링

 -시간할당량을 무한히 크게하면 FIFO(비선점방식과 같아진다.

 -시간할당량이 작을 경우 문맥교환에 따른 오버헤드가 커진다.

 5) SJF(Shortest Job First) 스케줄링 

 -처리하여야 할 작업 시간(실행 시간 추정치)이 가장 적은 프로세스에게 프로세서를 할당하는 기법

 6) SRT(Shortest Remaining Time) 스케줄링

 -SJF 스케줄링 기법 선점 기법

 -실행 시간 추정치가 가장 작은 프로세스에게 먼저 CPU를 할당

 7) HRN(Highest Response ratio Next)

 우선순위대기 시간 서비스 받을 시간 서비스 받을 시간

     

■ 비선점 스케줄링 기법 : FIFO, SJF, HRN

     

■ 배치 전략(Placement)

 1) 최적 적합(Best-fit) : 반입되는 프로그램의 크기에 가장 알맞은 크기(남은 공간이 가장 적은)의 빈 분할 공간에 적재

 2) 최초 적합(First-fit) : 반입되는 프로그램의 크기에 가장 맞는 최초(주기억 장치 주소순으로)의 분할에 적재

 3) 최악 적합(Worst-fit) : 반입되는 프로그램의 크기에 가장 잘 안 맞는 크기(남는 공간이 가장 큰)의 빈 분할공간에 적재 

     

■ 압축(Compaction) : 가변분할에서 빈 분할영역을 주기억 장치 의 한 곳에 합치는 작업을 말하며그 결과는 하나의 커다란 빈 분할영역이 생기게 된다.

     

■ 가상기억 장치(Virtual memory)

 -사용자에게 주기억 장치의 물리적 용량보다 훨씬 큰 가상기억 공간을 사용할 수있게 한다.   -운영체제의 설계가 복잡해진다.

 -오버레이 문제는 자동적으로 해결된다.

 -거의 모든 단편화가 해결된다.

 -페이징 기법과 세그먼테이션 기법이 있다.

1) 페이징 시스템의 장점 

 -연속 할당의 단점인 외부 단편화 현상이 제거

 -주기억 장치의 효율을 높인다

2) 페이징 시스템의 단점

 -페이지 테이블을 사용하므로 기억장소의 낭비를 가져온다.

 -할당된 마지막 페이지 내에는 내부 단편화가 있을 수 있다.

     

■ 가상 기억 장치 관리 정책

 ① Fetch 정책 언제 어느 만큼의 페이지를 물리적인 기억 장치 에 가져올 것인가를 결정하는 정책

 ② Placement 정책

 ③ Replacement 정책

     

■ 페이지 교체 및 할당 알고리즘

 ① Belady의 최적 알고리즘 이후에 가장 오랫동안 사용되지 않 을 페이지를 대치실현은 불가능하다.

 ② FIFO(First In First Out) 알고리즘가장 먼저 주기억 장치에 들어온 페이지를 대치

 ③ LRU(Least Recently Used) 기법가장 치근에 사용되지 않은 페이지즉 가장 오랫동안 사용되지 않은 페이지를 선택하여 대치

 ④ LFU(Least Frequently Used) 기법참조된 횟수가 가장 적은 페이지를 대치시키는 방법

     

■ 스레싱(Thrashing)

 너무 빈번히 페이지 부재가 일어나는 현상

 프로세스 실행에 소요되는 시간보다 페이지 이동에 소요되는 시간이 더 커지므로 CPU 효율이 나빠진다.

     

■ 구역성(Locality)

① 시간 구역성순환(looping), 서브루틴(sub-routine), 스택(stack), 카운팅(counting), 집계(totaling)

 ② 공간 구역성 배열(array), 순차적 코드(sequential code), 관련된 변수의 선언

     

■ 워킹 세트(Working set)

 -프로세스가 자주 참조하는 페이지의 집합

 -스레싱을 방지할 수 있는 기법

 -주기억 장치에 확보된 경우에만 실행해야 한다.

     

■ 페이지 크기가 작을 경우

 -페이지 사상표의 공간을 더 많이 요구한다.

 -단편화가 감소된다.

 -특정한 지역성만을 포함하기 때문에 기억 장치 효율이 좋다. (유용성이 크다)

 -페이지 이동 효율이 낮다

     

■ 페이지 크기가 클 경우

 -페이지 사상표의 크기가 줄어든다.

 -페이지 단편화로 인해 많은 기억 공간을 낭비하게 된다.

 -페이지 이동 효율이 좋다.

 -참조되는 정보와는 무관한 정보가 주기억 장치에 적재될 수 있다.

     

■ 디스크 스케줄링 기법

 1) FCFS(First Come First Served) : 입출력 요청 대기 큐에 들어 온 순서대로 서비스

 2) SSTF(Shortest Seek Time First)

 탐색 거리가 가장 짧은 요청이 먼저 서비스를 받는 기법

 현재 디스크 헤드 위치에서 가장 가까운 디스크 주소에 대한 접근 요구를 우선적으로 처리한다.

 안쪽이나 바깥쪽 트랙이 가운데 트랙보다 서비스를 덜 받는 경향이 있다.

 처리량이 주안점인 일괄처리에 유용

 3) SCAN 

 디스크 헤드가 맨 바깥쪽 트랙에서 가장 안쪽 트랙 쪽으로 이동하면서 해당되는 트랙에 대한 요구를 차례대로 서비스 해 주는 방식

 4) C-SCAN 

 항상 바깥쪽 실린더에서 안쪽 실린더로 이동하면서 가장 짧은 탐색 시간을 갖는 요청을 서비스하는 방법

 5) N-stop SCAN 

 어떤 방향의 진행이 시작될 당시에 대기중이던 요청들만 서비스하고진행 도중 도착한 요청들은 한데 모아서 다음의 반대 방향으로의 서비스 할 수 있도록 한 스케줄링 기법

     

■ 파일 접근 방식

 1) 순차 접근 파일(Sequential access file)

 -레코드들을 하나씩 차례대로 저장한 구조

 -부가적인 정보를 보관하지 않으므로 불필요한 공간 낭비가 없다.

 -다음 레코드의 접근이 빠르다.

 -파일 갱신시마다 파일을 재구성해야 한다.

 -저장 매체의 이용 효율이 가장 높다.

 -임의의 특정 레코드를 검색하는데 효율이 낮다.

 2) 직접 접근 파일(Direct access file)

 -직접 접근 기억 장치의 물리적 주소를 통해 접근 

     

■ 디렉토리의 구조

 ① 단일 디렉토리 구조(=1단계 디렉토리) : 모든 파일들이 유일한 이름을 가지고 있다.

 ② 2단계 디렉토리 구조 중앙에 마스터 파일 디렉토리가 있고그 아래 사용자 파일 디렉토리가 있는 구조

 ③ 계층적 디렉토리 구조(=트리 디렉토리 구조) : UNIX나 윈도우 운영체제에서 채택하고 있는 구조

 ④ 비주기 그래프 디렉토리 구조(=비순환 그래프 디렉토리) : 파일 또는 디렉토리의 공동사용이 가능

 ⑤ 일반적인 그래프 디렉토리구조 각 디렉토리마다 불필요한 파일의 제거를 위한 참조 카운터가 필요하다.

     

■ 디스크 공간 할당 기법

 1) 연속 할당(Continuous allocation)

 -파일의 크기에 알맞은 연속 공간이 없으며 파일을 생성할 수 없다.

 -파일 생성 시점에서 미리 전체적인 파일의 크기를 알아야 한다.

 -논리적으로 연속한 레코드들은 물리적으로 인접하게 보조기억 장치에 저장되므로 순차 접근과 직접 접근 모두 접근 시간이 감소된다.

 -디스크의 내부 또는 외부 단편화가 발생될 수 있다.

 2) 연결 할당(Linked allocation)

 -압축이 필요하지 않은 기법

 -직접 접근이 어렵다.

 -포인터로 인해 실제 사용 가능한 기억 공간이 낭비된다.

 -외부 단편화가 발생되지 않는다.

     

■ 자원 보호 기법

 ① 접근 제어 행렬  ② 접근 제어 리스트  ③ 권한 리스트

     

■ 보안(Security)

 ① 외부 보안  ② 사용자 인터페이스 보안 ③ 내부 보안

     

■ 처리기와 기억 장치와의 관계에 따른 분류

 1) 강결합 시스템(Tightly-Coupled)

 -하나의 운영체제하에서 여러 개의 프로세서가 하나의 메모리를 공유하는 시스템

 -다중 처리(Multiprocesser) 시스템이라고도 한다.

 -프로세서 간 통신은 공유 메모리를 통하여 이루어진다.

 2) 약결합 시스템(Loosely-Coupled)

 -둘 이상의 독립된 컴퓨터 시스템을 통신 링크를 통하여 연결한 시스템

 -분산(Distributed) 시스템 -독자적인 운영체제와 기억장치를 가진다.

 -프로세스 간의 통신은 메시지 전달이나 분산 공유 기억 장치를 통하여 이루어진다.

     

■ 주종(Master/Slave) 다중 처리기 시스템

 -주프로세서는 입출력과 연산을 수행

 -종프로세서는 연산만 수행한다. -주프로세서의 고장시 전 시스템이 멈춘다.

 -주프로세서만이 운영체제를 수행한다.

     

■ 분산 처리 시스템의 장점

 ① 통신과 정보 공유

 ② 자원의 공유와 부하 균형

 ③ 점진적인 확장

 ④ 신뢰성가용성 및 고장 허용성의 증진

 ⑤ 성능 향상 

 ⑥ 연산 속도 향상 (※ 분산처리시스템은 보안유지는 어렵다.)

     

■ 분산 처리 시스템의 구조

 1) 성형 연결(Star connection)

 중앙 컴퓨터 고장시 모든 사이트 간 통신은 불가능하다.

 2) 링 연결(Ring connection) 

 각 사이트는 정확히 다른 두 사이트와 물리적으로 연결됨.

 정보 전달 방향은 단방향 또는 양방향일 수 있다.

 기본비용은 사이트의 수에 비례한다.

 메시지가 링을 순환할 경우 통신비용은 커질 수 있다.

 3) 다중 접근 버스 연결(Multiaccess bus connetion)

 한 사이트 고장 시 나머지 사이트 간의 통신에 영향을 주지 않지만 링크가 고장나면 모든 사이트간의 통신은 불가능하다.

     

■ 분산 파일 시스템의 실례

 ① NFS   ② Locus   Andrew

     

■ 분산 운영체제하에서 이주의 종류 

 -데이터 이주(Data migration)

 -연산 이주(Computation migration) : 많은 양의 파일 처리

 -프로세스 이주(Process migration)

     

■ UNIX 운영체제의 특징

 -대화식 시분할 운영체제

 -다중 태스킹(Multitasking) 운영체제

 -다중 사용자(Multiuser) 운영체제

 -대부분의 명령어가 고급언어인 C언어로 되어 있다.

 -이식성이 좋다.(호환성)

 -풍부한 네트워크 기능을 제공한다.

 -파일 시스템이 계층적 트리 구조이다.

     

■ (shell)

 -사용자 명령을 입력 받아 시스템 기능을 수행하는 명령해석기

 -사용자와 시스템간의 인터페이스 담당

 -보조기억장치에 저장되어 있다.

     

■ 커널(Kernel)

 -항상 주기억장치에 상주되어 있다.

 -비교적 명령어 크기가 적다.

 -프로세스기억장치입출력장치가상메모리작업 스케줄링 등 운영체제의 기능을 제공

     

■ UNIX 명령어

 -chmod: 사용자가 지정한 파일이나 디렉토리의 접근 허가 모드를 바꾼다파일의 접근을 제한하는데 사용되는 명령어.

 -fork: 프로세스를 생성(복제

 -exec : 새로운 프로그램을 수행시키기 위한 시스템 호출이다.

     

■ Inode의 내용파일에 대한 상태 정보가 보관된다.

 ① 파일 소유자의 식별번호

 ② 데이터 블록의 주소

 ③ 파일의 크기 

 ④ 파일이 만들어진 시간

 ⑤ 최종 수정 시간 

 ⑥ 파일에 대한 링크의 수 (※ inode는 파일 경로명을 가지고 있지 않다.)

 (※ 시간은 항상 최종 시간을 갖는다최초시간은 아니다.)

     

■ 파이프(pipe)

 -프로세스 간의 데이터 전송로로서 파이프에 의한 프로세스 간 정보 교환은 공통 파일을 공유함으로써 이루어진다.

 -전송된 데이터는 FIFO(First In First Out)방식으로 상대에게 전달된다

Comments