티스토리 뷰
41. 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수는?
페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 5, 1, 2 |
일단 페이지 교체 알고리즘에 대해서 알아야 문제를 해결할 수 있다.
- FIFO : First In First Out 알고리즘. 가장 먼저 들여온 페이지부터 교체하는 방법.
- LRU : Least Recently Used 알고리즘. 가장 오랫동안 사용되지 않은 페이지부터 교체하는 방법
- LFU : Least Frequently Used 알고리즘. 사용된 횟수(참조 횟수)가 가장 적은 페이지부터 교체하는 방법
일단 위의 페이지 참조 알고리즘을 기억한 뒤에 또 알아놔야할 단어의 의미가 바로 "페이지 결함"이라는 단어다. 페이지 결함이라는게 "페이지의 부재로 인한 오류로 발생하는 결함"을 짧게 줄여쓴거라고 생각하면 되겠다.
그러니까 기억장치에 페이지가 없으면 오류를 발생시키고 페이지를 채워넣어준다는 의미로 이해하면 된다.
그래서 아래의 표를 확인하면 답을 확인할 수 있다.
참조 페이지 | 1 | 2 | 3 | 1 | 2 | 4 | 5 | 1 | 2 |
메모리 | 1 | 1 | 1 | 1 | 1 | 1 | 5 | 5 | 5 |
2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | ||
3 | 3 | 3 | 3 | 3 | 3 | 2 | |||
4 | 4 | 4 | 4 | ||||||
오류발생페이지 | 1 | 2 | 3 | 4 | 5 | 1 | 2 |
7개의 오류가 발생하는 것을 알 수 있다.
만약 여기서 알고리즘이 FIFO가 아니라 LRU 알고리즘인 경우엔 어떻 되는지 확인해보자.
참조 페이지 | 1 | 2 | 3 | 1 | 2 | 4 | 5 | 1 | 2 |
메모리 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ||
3 | 3 | 3 | 3 | 5 | 5 | 5 | |||
4 | 4 | 4 | 4 | ||||||
오류발생페이지 | 1 | 2 | 3 | 4 | 5 |
5개의 오류가 발생한다.
그리고 LFU 알고리즘도 잘 생각해보면 5개의 오류가 발생한다는 것을 알 수 있다.(참조 페이지 때문에 LRU, LFU 두개의 알고리즘이 같은 오류를 발생한다.) 암튼 나는 이거 말 뜻을 이해 못해서 첨엔 틀렸었는데 여러분들은 그러지 말자.
42. 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식으로 정해진 시간 내에 결과를 도출하는 시스템은?
이건 문장을 잘 읽어보면 답이 "실시간 처리 시스템"이 답이라는 것은 알 수 있지만 보기의 처리 시스템들을 공부하긴 해야겠지.
- 분산 처리 시스템 : 중앙의 호스트 시스템이 모든 데이터를 처리하는 것이 아니라 지역별로 떨어진 시스템을 통신망으로 연결하여 분산된 각각의 지역 시스템이 독립적으로 데이터를 처리하도록 분산시킨 데이터 처리방식
- 배치 처리 시스템 : 일괄처리 시스템은 데이터를 일정한 시간이나 기간동안 일정한 양이 될 때 까지 각 종 매체에 데이터를 모아두었다가 일정 시기에 일괄적으로 데이터를 처리하는 방식
- 시분할 처리 시스템 : 하나의 CPU 사용시간을 일정한 간격으로 분할하여 실행될 멀티 프로그램에 각각 할당하여 동시에 번갈아가면서 실행하는 방식
43. 운영체제에서 스레드(Thread)의 개념으로 가장 옳지 않은 것은?
일단 스레드에 대한 개념을 파악하도록 하자.
- 프로세스나 태스크보다 더 작은 단위
- 다중 프로그램에서 CPU에게 보내져 실행되는 프로그램 단위
- 프로세스 스케쥴링 부담을 줄여 성능 향상시키기 위함
문제에 있는 "입출력 장치와 같은 자원의 할당에 관계된다."는 옳지 않은게 입출력장치는 DMA(Direct Memory Access)로 데이터를 처리하기때문에 CPU와 관련이 없다. CPU와 관련이 없으면 스레드하고도 관련이 없겠지.
44. 파일 디스크립터(File Descriptor)에 관한 설명으로 옳지 않은 것은?
파일 디스크립터는 파일 서술자로 이야기 할 수 있고 이와 과련하여 요약한 자료에 의하면 아래와 같다.
- FCB(File Control Block)
- 보조기억장치 내에 저장, Open 될 때 주 기억장치로 이동
- 파일마다 독립적으로 존재, 시스템마다 다른 구조 가능
- 사용자가 직접 참조할 수 없음
그러므로 답은 1번이 되시겠다. 사용자가 직접 참조할 수 없단다.
45. Cryptography와 가장 관계 없는 것은?
정답은 RISC(Reduced Instruction Set Computer)가 맞다. 나머지 보기들은 암호화관련 알고리즘, 방식과 관련된 내용이지만 RISC는 축소 명령어 집합 컴퓨터라는 것인데 CPU 명령어의 개수를 줄여서 하드웨어 구조를 좀 더 간단하게 만드는 방식을 이야기 한다.
46. 프로세스가 실행되면서 하나의 페이지를 일정시간 동안 집중적으로 엑세스하는 현상은?
- 구역성(Locality) : 프로세스가 실행되면서 하나의 페이지를 일정시간동안 집중적으로 억세스하는 현상
- 스래싱(Thrashing) : 메모리 영역에 접근하게 될 때, 메모리에 페이지 부재(=페이지 폴트)율이 높은 것을 의미, 심각한 성능저하를 초래함
- 워킹세트(Working Set) : 프로세스 주소 공간에서 현재 사용되고 있는 물리 페이지의 리스트 정보로 구성된 프로세스의 데이터 구조체.
- 프리페이징(Prepaging) : 예상되는 모든 페이지를 사전에 한꺼번에 메모리 내로 가져오는 것. 사용이 많이 될 것 같은 페이지를 예측하여 미리 적재
답은 1번 구역성 되시겠다.
47. SJF(Shortest Job First) 스케줄링에서 다음과 같은 작업들이 준비상태 큐에 있을 때 평균 반환시간과 평균 대기시간은?
프로세스 | 실행시간 |
P-1 | 6 |
P-2 | 3 |
P-3 | 8 |
P-4 | 7 |
자, SJF 스케줄링부터 의미를 알아보자.
- CPU 작업 시간이 가장 짧은 프로세스 순으로 스케줄링(빨리 끝나는 것부터 처리)
- 비선점 방식
- 작업 시간이 동일할 경우 FCFS(First Come First Served)정책을 따름
※ FCFS 정책 : 간단하게 이야기하면 선착순 방식. 먼저 프로세스를 요청한 프로세스부터 CPU를 할당해주는 방식
그러면 평균 반환시간과 평균 대기시간을 구해보자. 작업들은 준비상태에 있으니 궂이 도착시간을 기다릴필요가 없다는 점을 알아두자. 이제 위의 작업을 실행시간별로 나누고 그에 해당하는 대기시간을 구해보자.
프로세스 | 대기시간 | 실행시간 |
P-2 | 0 | 6 |
P-1 | 6 | 3 |
P-4 | 9 | 7 |
P-3 | 16 | 8 |
평균 대기시간은 (0 + 6 + 9 + 16) / 4 = 7.75, 평균 반환시간은 {( 0 + 6 ) + ( 6 + 3 ) + ( 9 + 7 ) + ( 16 + 8 )} / 4 = 13.75이 된다.
그럼 가장 정답하고 가까운게 1번이 되겠다.
48. UNIX에서 파일 사용 권한 지정에 관한 명령어는?
아, 이건 chmod. 모르겠다면 Unix 명령어를 좀 공부하자. 이건 기본이다.
mv는 Move. 파일을 이동할때 쓴다.
ls는 List. 파일 목록 볼 때 쓴다.
fork는 Unix 계열 운영체제의 표준 프로세스 생성 함수란다. 나도 첨봄.
49. 운영체제의 프로세스(Process)에 대한 설명으로 옳지 않은 것은?
프로세스란 실행중인 프로그램을 말하며 트랩오류나, 프로그램 요구, 입 출력 인터럽트에 대한 조치는 운영체제에서 수행하는 내용이다.(아, 입출력부분에 DMA랑 햇깔릴 수 있는데 입출력에 대해서는 CPU는 인터럽트를 받는다.)
50. 공유자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 하며, 다른 프로세스가 공유자원에 대하여 접근하지 못하게 제어하는 기법은?
- Mutual Exclusion : 공유자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 함
- Critical Section : 다중 프로그래밍 운영체제에서 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 지원 또는 데이터를 사용하도록 지정된 공유 자원을 의미
- Deadlock : 교착상태는 상호 배제에 의해 나타나는 문제점. 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
- Scatter Loading : 이건 코드의 값이 어떤 위치에 들어갈지 지정해 주는 함수인듯;; 임베디드에서 사용된다는데 적절한 설명을 못찾았다.
'IT관련 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2019년 3월 3일 기출문제 해설 #071 ~ #080 (0) | 2019.07.16 |
---|---|
[정보처리기사] 2019년 3월 3일 기출문제 해설 #051 ~ #060 (0) | 2019.07.15 |
[정보처리기사] 2019년 3월 3일 기출문제 해설 #031 ~ #040 (0) | 2019.07.10 |
[정보처리기사] 2019년 3월 3일 기출문제 해설 #021 ~ #030 (0) | 2019.07.04 |
[정보처리기사] 2019년 3월 3일 기출문제 해설 #010 ~ #020 (0) | 2019.06.25 |