진행사항 및 문제풀이 결과
구분 내용 계획일 공부일 문제풀이결과 오답번호 1강 운영체제 개념 8/12 8/14 20 / 29 7, 9, 10, 11, 28 37, 46, 48, 49 2강 시스템 소프트웨어 종류 8/12 8/14 11 / 14 1, 2, 9 3강 프로세스 개요 8/12 8/15 19 / 28 2, 12, 20, 39, 41 49, 55, 57, 62 4강 프로세스 스케줄링(비선점,선점) 8/12 8/15 34 / 37 7, 20, 69 5강 병행 프로세스와 교착상태 8/13 8/15 23 / 28 7, 10, 11, 26, 42 6강 기억장치 관리기법(주,가상) 8/13 7강 페이지 교체 알고리즘 8/13 8강 디스크 스케줄링 8/14 9강 파일 관리 8/14 10강 분산운영체제, UNIX 8/14
♣ 기출문제 오답 정리
3강 - 프로세스 개요
2. 운영체제가 프로세스 관리에 관련되어 수행하는 활동이 아닌 것은?
=> 다. 디스크 스케줄링
20. PCB(process control block)에 포함되는 정보가 아닌 것은?
=> 라. 파일할당 테이블(FAT)
39. 버퍼링과 스풀링에 대한 설명으로 옳지 않은 것은?
=> 라. 버퍼링은 보조기억장치를 버퍼로 사용한다.
41. 버퍼링(buffering)에 대한 설명 중 틀린 것은?
=> 가. 디스크 전체를 매우 큰 버퍼처럼 사용한다.
49. 인터럽트의 종류 중 입/출력 수행, 기억 장치 할당, 오퍼레이터와의 대화 등을 위하여 발생하는 것은?
=> 라. SVC 인터럽트
55. 인터럽트에 대한 설명으로 옳지 않은 것은?
=> 나. 인터럽트 발생시 복귀 주소(return address)는 시스템 큐에 저장한다.
57. 프로그램 검사 인터럽트가 발생되는 이유로 적합하지 않은 것은?
=> 라. 주어진 CPU 사용 시간을 해당 프로세스가 모두 소진할 경우(interval time going out)
62. 프로세스(process)에 대한 설명으로 옳지 않은 것은?
=> 가. 트랩 오류, 프로그램 요구, 입・출력 인터럽트에 대해 조치를 취한다.
4강 - 프로세스 스케줄링
7. 선점(preemptive) 스케줄링의 특징으로 거리가 먼 것은?
라. 모든 프로세스에 대한 요구를 공정히 처리한다.
20. SJF(Shortest-Job-First) 스케줄링 방법에 대한 설명으로 거리가 먼 것은?
다. 각 프로세서의 프로세서 요구시간을 미리 예측하기 쉽다.
69. 다음 표와 같이 작업이 제출되었을 때 Round-Robin 정책을 사용하여 스케줄링하면 평균 반환시간은 얼마인가?
(단, 작업 할당시간은 4시간으로 한다.)
작업 제출시간 실행시간
A 0 8
B 1 4
C 2 9
D 3 5
라. 18.25
5강 - 병행 프로세스와 교착상태
7. 임계 구역(Critical Section)에 대한 설명으로 옳지 않은 것은?
라. 실행 중인 프로세스가 일정 시간 동안 참조하는 페이지의 집합을 의미한다.
10. 한 프로세스가 공유 메모리 혹은 공유 파일을 사용하고 있을 때 다른 프로세스들이 사용하지 못하도록
배제시키는 제어 기법을 무엇이라고 하는가?
나. Mutual Exclusion
11. 데커(Dekker) 알고리즘에 대한 설명 중 옳지 않은 것은?
나. 프로세스가 임계 영역에 들어가는 것이 무한정 지연 될 수 있다.
26. 교착상태 발생의 필요조건에 해당하지 않는 것은?
가. 상호 종속(mutual dependency) 조건
42. 교착상태 예방 기법 중 사용하기에 적절하지 않은 것은?
가. 상호 배제 조건의 부정
♣ 중요 내용 정리
4강 - 프로세스 스케줄링
비선점 선점
FIFO ( First In First Out ) - RR ( RoundRobin ) : 대화식 시분할 시스템
SJF( Shortest Job First ) - SRT ( Shortest Remaining Time )
HRN( highest Response ratio Next )
- 우선순위 계산식 : (대기시간 + 서비스시간) / 서비스시간 )
* 반환시간 = 대기시간 + 실행시간
5강 - 병행 프로세스와 교착상태
병행 프로세스 문제점 해결방법
1. 임계구역 ( Critical Section ) : 하나의 프로세스만 자원을 이용할 수 있도록 보호된 영역
2. 상호배제 기법 ( Mutual Exclusion )
- 데커알고리즘 : 순수 소프트웨어로 상호배제 보장
3. 동기화 기법
* 세마포어(신호기,깃발)
- 다익스트라가 제안
- P 와 V 2개의 연산에 의해 동기화 유지 ( s=0 : 사용중, s=1 : 사용가능 )
* 모니터
- 임계구역과 유사한 개념
- 데이터와 데이터를 처리하는 프로시저 ( 특수 프로그램 기법 )
- 추상화, 정보 은폐 개념을 기초
- 사용시 반드시 모니터 진입부를 호출해야 사용가능 ( 외부에서 직접 액세스 불가 )
* 교착상태 ( Dead Lock )
- 무한정 기다리는 현상 : 예측 못한 다운
: 교착상태 발생 4가지 필요충분 조건
1. 상호배제
2. 점유와 대기
3. 비선점 ( 비양보 )
4. 환형대기
: 교착상태 해결방안
1. 예방기법 : 발생 조건 중 어느 하나를 제거 ( 상호배제 제외 )
- 해결방안 중 자원의 낭비가 가장 심함
2. 회피기법 :
* 은행원 알고리즘 : 다익스트라가 제안한 회피기법
- 최대요구량 - 현재 할당량 = 추가 요구량
3. 발견기법
4. 회복기법 : 교착상태 프로세스 종료 및 선점
6강 - 기억장치 관리기법(주,가상)
1. 기억장치 관리 전략
- 반입(Fetch) 전략 : 언제 주기억장치로 적재할지
- 배치(Placement) 전략 : 주기억장치 어디에 배치할지
1) First Fit - 속도↑, 공간↓
2) Best Fit - 속도↓, 공간↑
3) Worst Fit - 속도↓, 공간↓
- 교체(Replacement) 전략 : 어느영역을 교체할지
: FIFO, OPT, LRU, LFU, NUR, SCR
2. 단편화(Fragmentation) 해결 방법
- 통합( Coalescing ) 기법 : 인접 공간 통합
- 집약 ( Compaction ) 기법 ( 압축, 쓰레기 수집 ) : 분산 공간 통합
3. 주기억장치 할당 기법
주기억장치 - 단일분할할당 - 스와핑 : 프로그램 하나씩 교대로 실행
- 오버레이 : 조각의 일부를 교체 실행
- 다중분할할당 - 고정분할(정적분할) : 미리 고정된 개수와 크기의 부분으로 분할
- 가변분할(동적분할) : 고정분할할당기법의 단편화를 줄이기위한것,
: 필요한 만큼의 크기로 영역 분할
: 외부단편화는 해결 불가
1. 가상기억장치 개요
- 보조기억장치의 일부분을 주기억장치처럼 사용하는 것 ( 용량 증대 효과 )
- 가상기억장치의 주소를 주기억장치의 주소로 변환하는 작업 필요 ==> 매핑 ( Mapping )
2. 가상기억장치 구현 기법
가상기억장치 - 고정분할(정적) - 페이징(Paging) 기법
: 동일하게 나눈 페이지를 동일한 주기억장치영역에 적재시켜 실행
: 주소변환 위해 페이지 맵핑 테이블(페이지 사상표)이 필요 => 낭비
: 페이지 부재(Page Fault) - 참조페이지가 주기억장치에 없는현상
- 가변분할(동적) - 세그먼테이션(Segmentation) 기법
: 다양한 크기의 논리적인 단위로 나눈후 주기억장치에 적재시켜 실행
: 각 세그먼트는 고유한 이름과 크기를 갖고 있음
: 다른 할당 영역 침범 불가 => 기억장치 보호키가 필요
3. 가상기억장치의 성능에 영향을 미치는 요인
- 워킹셋 ( Working Set )
: 자주 참조하는 페이지들의 집합
: 주기억장치에 상주 => 페이지 부재 및 페이지 교체 현상을 줄임
- 스레싱 ( Thrashing )
: 프로세스의 처리 시간보다 페이지 교체 시간이 더 많아지는 현상 ( 페이지 부재 증가 )
: 방지 방법 - 다중 프로그래밍 정도 줄임, CPU 이용률 높임, 워킹셋 사용
- 구역성 ( Locality, 국부성 )
: 프로세스가 실행되는 종안 일부 페이지만 집중적으로 참조하는 성질
1) 시간 구역성 : 최근 참조된 기억장소가 가까운 장래에도 계속 참조될 가능성 높음
- 반복, 스택, 부프로그램, 카운팅, 집계 변수 등..
2) 공간 구역성 : 하나의 기억 장소가 참조되면 그 근처의 기억 장소가 계속 참조될 가능성 높음
- 순차적 코드 수행, 배열 순회, 같은 영역에 있는 변수 참조
7강. 페이지 교체 알고리즘
: 페이지 부재가 발생하였을 경우, 가상기억장치의 필요한 페이지를 주기억장치의 어떤 페이지 프레임을 선택, 교체 해야 하는가를 결정하는 기법
: 종류
1) FIFO ( First In First Out )
* 벨레이디의 모순 현상 : 페이지 프레임 수가 증가하면 페이지 부재가 더 증가
2) OPT ( OPTimal replacement ) : 최적교체 - 실현가능성 없음
3) LRU ( Least Recently Used ) : 가장 오랫동안 사용하지 않은 페이지를 교체
4) LFU ( Least Frequently Used ) : 사용 횟수가 가장 적은 페이지를 교체
5) NUR ( Not Used Recently ) : 최근에 사용하지 않은 페이지를 교체 ( 호출비트, 변형비트 사용 )
8강. 디스크 스케줄링
: 디스크 헤더가 움직이는 경로를 결정하는 방법
: 종류
1) FCFS ( First Come First Service ) : 들어온 순서대로
2) SSTF ( Shortest Seek Time First ) : 대화형 시스템에는 부적합, 일괄처리 시스템에 유용
3) SCAN : 한 방향으로 가장 짧은 거리 ( SSTF가 갖는 탐색시간의 편차를 해소하기 위한 기법 ), 기본 기법
- LOOK 기법 : 끝까지 이동하지 않을 경우
4) C-SCAN ( Circular SCAN ) : 바깥 -> 안 방향으로 가장 짧은 거리
- C-LOOK 기법 : 끝까지 이동하지 않을 경우
5) N-step SCAN : 진행중에 새로이 추가된 요청은 서비스하지 않고 다음 진행시 서비스
예제 ) 현재 헤드의 위치 : 50
헤드 이동 방향 : 트랙 0번 방향
요청 대기열 : 100, 180, 40, 120, 0, 130, 70, 80, 150, 200
C-SCAN : 50→40→0→200→180→150→130→120→100→80→70
(총이동거리 : 10+40+200+20+30+20+10+20+20+10 = 380)
FCFS : 50→100→180→40→120→0→130→70→80→150→200
(총이동거리 : 50+80+140+80+120+130+60+10+70+50 = 790)
SCAN : 50→40→0→70→80→100→120→130→150→180→200
(총이동거리 : 10+40+70+10+20+20+10+20+30+20 = 250)
SSTF : 50→40→70→80→100→120→130→150→180→200→0
(총이동거리 : 10+30+10+20+20+10+20+30+20+200 = 370)
9강. 파일 관리
1. 파일 시스템 특징
- 파일 특성을 결정하는 기준 : 소멸성, 활성률, 크기
- 파일 시스템의 기능
: 사용자가 생성, 수정, 제거가능
: 다른사람들과 파일을 공동으로 사용할 수 있음
: 번역기능 없다!
2. 파일 구성 방식
1) 순차 파일
- 적합한 기억 매체 : 자기 테이프
- 대화식 처리보다 일괄 처리에 적합, 기억장치 효율 좋으나 검색 효율이 떨어진다
2) 색인 순차 파일
- 색인 구성 : 실린더 색인, 트랙 색인, 마스터 색인
3) 직접 파일
- 해싱 등의 사상 함수를 사용
3. 파일 디스크립터 FCB ( File Control Block )
- 시스템이 필요로 하는 파일에 대한 정보를 갖는 제어 블록 => 사용자가 직접 참조 불가
- 정보 : 생성날짜 및 시간, 위치, 액세스 횟수, 이름, 구조, 크기, 접근 제어, 수정시간
4. 디렉토리 구조
1) 1단계 구조 : 관리 불편 => 모든 파일명 다르므로
2) 2단계 구조 : 마스터 / 사용자 파일 디렉토리
3) 트리 구조 : 루트 / 종속(서브) 디렉토리, 운영체제에서 사용되는 디렉토리 구조
4) 비순환 그래프 구조 : 파일 및 경로 공유 가능, 사이클 불가, 디스크 공간 절약
5) 일반 그래프 구조 : 트리구조에 링크를 첨가 -> 순환 가능, 그래프 탐색 알고리즘이 간단, 접근 용이
5. 디스크 공간 할당 기법
1) 연속 할당 ( 단일 P/G ) : 물리적으로 서로 인접하게 저장 -> 액세스 시간 감소, 외부단편화 발생
2) 불연속 할당 ( 링크, 다중 P/G ) : 적재 효율적, 파일크기 미리 알 필요 없음
- 블록 단위 : 블럭체인, 인덱스 블럭체인, 블럭단위파일 사상
- 파일할당표(FAT) : 사용자가 해당 블록의 포인트를 실수로 지워지게 하는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터를 모아 놓은 곳
6. 자원 보호 기법
: 컴퓨터 시스템에서 사용되는 자원들에 대하여 불법적인 접근방지와 손상 발생 방지
: 종류
1) 접근 제어 행렬
: 자원 보호의 일반적인 모델로, 객체에 대한 접근 권한을 행렬로써 표시한 기법
2) 접근 제어 리스트
: 접근제어행렬에서 열(객체) 중심 - 객체와 그 객체에 허용된 조작 리스트
3) 권한 리스트
: 접근제어행렬에서 행(영역) 중심 - 각 사용자에 대한 자격들로 구성
7. 파일 보호 기법
1) 파일의 명명
2) 비밀번호
3) 접근 제어 : 접근 제어 행렬 응용
8. 보안 기법
1) 외부보안 : 불법 침입자나 천재지변으로부터 시스템 보호
2) 내부보안 : 하드웨어나 운영체제의 내장된 기능
3) 사용자 인터페이스 보안 : 패스워드 설정 등,
9. 암호화 기법
1) 비밀키 시스템
- 암호화키 = 복호화키
- 대칭 암호화 방식 : DES
2) 공용키 시스템
- 비대칭 암호화 기법 : RSA
- 키의 분배가 용이, 암호키는 공개, 해독키는 당사자만 알고 있음
* 인증 교환 기법 : 수신자가 메시지 전송도중에 변경되지 않았음을 확인할 수 있으며, 메시지가 정당한 상대방으로부터 전달된 것임을 확인할 수 있는 기법
10강. 분산처리시스템, UNIX
1. 컴퓨터 시스템의 구조
* Flynn 의 4가지 병렬처리 방식
1) SISD ( Single Instruction Single Data )
2) SIMD ( Single Instruction Multi Data ) - 배열, array
3) MISD ( Multi Instruction Single Data ) - 실제구현X
4) MIMD ( Multi Instruction Multi Data )다중 처리기, 다중 컴퓨터
1) 강결합 ( 다중 처리기 )
- 여러개의 처리기(CPU)와 하나의 기억장치(공유 메모리)를 두어 처리
2) 약결합 ( 다중컴퓨터, 분산 처리 )
- 여러 개의 처리기와 독자적인 기억장치(OS)를 두어 통신 회선을 연결해서 처리
2. 처리기(Processor) 연결 방식
1) 하이퍼 큐브 : 연걸점 수가 n 이면 프로세서의 수는 2 의 n승.
2) 공유 버스 기법 : 버스에 이상이 발생하면 전체 시스템이 가동되지 않음
3) 크로스바 교환행렬 : 버스의 수를 기억장치 수만큼 증가시켜 연결한 방식
3. 다중 처리기 운영체제 구성
1) Master/Slave (주/종) 처리기
- 주 프로세서 : 입출력과 연산 담당, 운영체제를 수향
- 종 프로세서 : 연산만 담당, 사용자 프로그램만 담당
2) 분리 수행 처리기
- 각 프로세서가 독자적인 운영체제를 가짐
3) 대칭적 처리기
4. 분산 처리 시스템
: 목적 : 자원공유, 연산 속도 향상, 신뢰도 향상, 컴퓨터 통신
: 특징
- 과부하 감소, 점진적 확장 가능, 빠른 반응 시간, 사용 가능도 향상
- 설계가 복잡, 소프트웨어 개발 어려움, 보안문제 발생
- 분산된 노드들은 통신 네트워크를 이용하여 메시지를 주고받음으로서 정보를 교환한다
: 투명성( Transparency ) : 마치 하나의 커다란 컴퓨터 시스템을 사용하는 것처럼 인식하도록 함
- 위치 투명성 : 저장된 위치를 몰라도 자원을 사용할 수 있다.
- 이주 투명성 : 자원 이동에 제한이 없다
- 병행 투명성 : 자동으로 공유할 수 있다
- 복제 투명성 : 복사를 자유롭게 할 수 있다
* 분산 운영체제의 실제 예
- NFS : 선 마이크로 시스템
- LoCUS : 캘리포니아 대학
- Andrew : 카네기 멜론 대학
5. 위상( Topology ) 에 의한 분류
1) 완전 연결( Fully Connection) 형 = 망형
2) 계층형 ( Hierachy ) = 트리형
3) 성형 = 스타형
4) 링형 = 환형
5) 다중 접근 버스 연결 ( MABC : Multi Access Bus Connection ) 형
1. UNIX 특징
- 높은 이식성과 확장성
- 대화식 시분할 운영체제
- 대부분 C언어로 작성
- 다중 사용자 시스템 ( Multi-user system )
- 다중 태스킹(작업) 운영체제 : 동시에 여러가지 작업을 수행
- 파일 시스템 : 계층(트리) 구조
- 개방형 시스템
* 파이프 라인(pipeline) : 두 프로세스를 연결하여 프로세스간 정보교환이 가능하도록 하는 것(큐, FIFO)
2. UNIX 시스템의 구성
: 사용자 - 쉘 - 커널 - 하드웨어
1) 커널 ( Kernel )
- 가장 핵심적인 부분
- 주기억장치에 적재된 후 상주하면서 실행
- 프로세스, 기억장치, 파일, 입출력관리
2) 쉘 ( Shell )
- 명령어 해석기
- 시스템과 사용자 간의 인터페이스 담당
3. UNIX 파일 시스템의 구조 ( 계층적 트리 구조 )
1) 부트 블록 : 부팅시 필요한 코드를 저장
2) 슈퍼 블록 : 전체 파일 시스템에 대한 정보를 저장
3) Inode 블록 : 각 파일이나 디렉토리에 대한 모든 정보를 저장 ( FCB 와 유사 )
- 파일 소유자 정보, 크기, 주소, 링크수, 종류, 보호권한
- 파일 생성, 사용, 최종 수정시간
* 저장 정보 아닌 경우
: 파일 최초 수정 시간, 파일 경로, 사용횟수, 파일이 사용된 시간대별 내역, 파일의 우선 순위
4) 데이터 블록 : 디렉토리 엔트리와 실제 파일에 대한 데이터 저장
4. UNIX 명령어
1) 프로세스 관련
- fork : 새로운 프로세스 생성, 복제
- exec : 실행
- wait : 자식 프로세스의 하나가 종료될 때까지 부모 프로세스를 임시 중지
2) 파일 등 관련
- mount : 새로운 파일 시스템을 서브 디렉토리에 연결
- ls : 디렉토리 내용 보기 ( 파일의 조작과 무관 )
- chmod : 파일의 권한 모드(읽기, 쓰기, 실행) 설정 -> 파일의 접근을 제한
- cat : 파일 내용을 화면에 표시
- & : 백그라운드 처리를 위해 명령 ( 장점 : 수행중인 명령문이 끝나기 전에 다른 명령문을 줄 수 있다. )
'Dev. 관련자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 15일차 - 각 과목별 진행사항 확인 및 수정계획 수립 (0) | 2012.08.18 |
---|---|
[정보처리기사 필기] 14일차 - 운영체제 6~10강 오답 풀이 (0) | 2012.08.16 |
[정보처리기사 필기] 12일차 - 운영체제 오답 정리 (0) | 2012.08.14 |
[정보처리기사 필기] 11일차 - 데이터통신(6강~10강) 기출문제 풀이 및 해설 (0) | 2012.08.13 |
[정보처리기사 필기] 6~10일차 - 데이터통신 1~10강 이론 공부 (0) | 2012.08.12 |