운영체제 연습문제 7장 해답

Posted by 드린
2017. 5. 1. 08:00 팁(TIP)

1.어셈블러를 패스 2개로 구성하는 이유로 가장 적절한 것은?

④기호를 정의하기 전에 사용할 수 있어 프로그램 작성이 용이하기 때문


2.어셈블러 패스 2개로 구성하는 주된 이유는?

②패스를 한 개만 사용하면 프로그램 크기가 증가하여 처리 속도가 감소하기 때문


3.메모리(기억장치) 관리 전략 중 반입 전략에 대한 설명으로 옳은 것은?

①프로그램, 데이터를 주기억장치로 가져오는 시기를 결정하는 전략


4.기억장치 관리 전략 중 반입 방법에 대한 설명으로 옳은 것은?

③요구 반입 방법은 새로 반입된 데이터나 프로그램을 주기억장치의 어디에 위치시킬 것인지 결정한다.


5.기억장치 관리 전략이 아닌 것은?

②삭제 전략


6.기억장치 관리 전략 중 대치 전략의 설명으로 옳은 것은?

②주기억 장치 내의 빈 공간을 확보하려고 제거할 프로그램과 데이터를 선택하는 전략

③프로그램과 데이터에 대한 주기억 장치 내의 위치를 정하는 전략


7.기억장치 관리 전략 중 배치 전략에 대한 설명으로 가장 타당한 것은?

①새로 반입된 프로그램을 주기억장치의 어디에 위치시킬지 결정하는 전략


8.기억장치 관리 전략의 하나로 새로 반입할 프로그램이 들어갈 장소를 마련하려고 어떤 프로그램과 데이터를 제거할지 결정하는 전략은?

②교체 전략


9.메모리 관리 방법 중에서 서로 떨어져 있는 낭비 공간 여러 개를 모아서 큰 기억 공간 하나를 만드는 작업은?

③compaction(압축)


10.통합과 압축에 대한 설명으로 틀린 것은?

③압축은 단편화의 해결 방안이 될 수 없다.


11.로더의 기능이 아닌 것은?

④compile


12.기억장소의 압축 방법에 대한 설명으로 틀린 것은?

④통합 방법이라고도 한다.


13.다음 설명이 의미하는 것은?

단일 사용자 시스템에서 프로그램의 크기는 주기억장치의 용량보다는 클 수 없다. 그러나 사용하지 않는 프로그램의 부분을 보조기억장치로 옮겨 와서 더는 필요하지 않는 프로그램 부분이 사용하고 있던 장소를 다른 프로그램이 사용하게 하면 실제 영역보다 더 큰 프로그램의 실행이 가능하다.

①오버레이


14.절대 로더에서 할당 및 연결 작업의 수행 주체는?

④프로그래머


15.별도의 로더 없이 언어 번역 프로그램이 로더 역할까지 담당하는 것은?

④compile and go loader


16.시스템 소프트웨어와 그 기능에 대한 설명 중 옳지 않은 것은?

②링커: 사용자 프로그램 소스 코드와 I/O 루틴 결합


17.시스템 소프트웨어의 하나인 로더의 기능에 해당하지 않는 것은?

③translation


18.로더의 종류 중 다음 설명에 해당하는 것은?

프로세서가 현재 사용 중인 부분만 로드하고, 미사용 중인 프로그램은 보조기억장치에 저장해 두는 방법으로 load-on-call이라고도 한다.

③동적 적재 로더


19.로더의 기능 중 프로그램을 실행시키려고 기억장치 내에 옮겨 놓을 공간을 확보하는 기능은?

④allocation


20.절대 로더에서 각 기능과 수행 주체의 연결이 옳지 않은 것은?

②기억장소 할당 - 로더


21.역할이 축소되어 가장 간단한 프로그램으로 구성된 로더로, 기억장소 할당이나 연결을 프로그래머가 직접 지정하는 방법이다. 프로그래머 입장에서는 매우 어렵고 한번 지정한 주 기억장소의 위치 변경이 힘들다는 단점이 있는 것은?

③absolute loader


22.목적 프로그램을 기억장소에 적재시키는 기능만 수행하는 로더로 할당 및 연결은 프로그래머가 프로그램을 작성할 때 수행하며, 대치는 언어 번역 프로그램이 담당하는 것은?

①absolute loader


23.디스크 공간 할당 방법 중 연속 할당에 대한 설명으로 옳지 않은 것은?

④단편화가 발생할 수 없으므로 주기적인 압축이 필요 없다.


24.기억장치의 동적 분할 방법에 대한 설명으로 올바르지 않은 것은?

①단편화 현상이 발생하지 않는다.


25.연속 및 분산 기억장치 할당에 대한 설명으로 올바르지 않는 것은?

②분산 기억장치에서는 분산되어 있는 블록 또는 조각을 반드시 인접하여 적재해야 한다.


26.실제 기억장치를 사용하는 시스템에서 주기억장치를 고정된 크기로 분할하여 사용할 때를 설명한 것 중 거리가 먼 것은?

②주기억장치와 보조기억장치 간에 데이터 이동이 빈번히 발생한다.


27.주기억장치에서 빈번하게 기억장소를 할당하고 반납하면서 기억장소를 조각들로 나누는 현상은?

②fragmentation


28.기억장치 배치 전략과 그에 대한 설명으로 옳게 짝지어진 것은?

①최적 적합: 가용 공간 중에서 가장 작은 공백이 남는 부분에 배치


29.새로 들어온 프로그램과 데이터를 주기억장치 내의 어디에 놓을지 결정하는 주기억장치 배치전략에 해당하지 않는 것은?

④last-fit


30.13K의 작업을 요구하여 각각 최적 적합 전략과 최악 적합 전략을 적용할 때 할당 영역의 연결이 옳은 것은?

③최적 적합: 2, 최악 적합: 4

31.150K의 작업을 요구하여 각각 최초 적합 전략과 최적 적합 전략을 적용할 때 할당 영역의 연결이 옳은 것은?

①최초 적합: 2, 최적 적합: 3


32.주기억장치 관리 방법인 최초 적합, 최적 적합, 최악 적합 방법을 각각 사용할 때, 5K의 프로그램을 할당하는 영역을 방법 순으로 옳게 나열한 것은?

①영역1, 영역3, 영역4


33.메모리 관리 방법 중 worst-fit 방법을 사용할 때, 10K 크기의 프로그램을 실행하려면 어느 부분을 할당하는가?

④5


34.주기억장치 배치 전략으로 최적 적합 방법 사용한다고 할 때, 다음 기억장소 리스트에서 17K 크기의 작업은 어느 기억 공간에 할당하는가?

③E


35.주기억장치 관리 비법 중 best-fit을 사용할 때 12K의 프로그램이 할당받는 영역 번호는?

③영역3


36.빈 기억 공간의 크기가 20K, 16K, 8K, 40K일 때, 기억장치 배치 전략으로 worst-fit과 best-fit을 각각 사용하여 17K 프로그램을 적재하면 내부 단편화의 크기는 각각 얼마인가?

②23K, 3K


37.다음과 같이 주기억장치의 공백이 있다고 할 때, 최적 적합 배치 방법은 13KB 크기의 프로그램을 어느 영역에 할당하는가?

③C


38.다음과 같은 메모리 구성에서 15M 크기의 블록을 메모리에 할당하고자 한다. C 영역에 할당할 때 사용한 정책은?

①best-fit


39.다음 표는 고정 분할에서 기억장치 단편화 현상을 보인다. 내부 단편화는 모두 얼마인가?

①170K


40.주기억장치를 다음과 같이 분할할 때 내부 단편화와 외부 단편화의 크기는?

①내부단편화: 260K, 외부단편화: 170K


41.페이징 방법에 대한 설명으로 옳지 않은 것은?

①다양한 크기의 논리적인 단위로 프로그램을 나눈 후 기억장치에 적재하여 실행한다.


42.페이징 방법에 대한 설명으로 옳지 않은 것은?

②내부 단편화가 발생하지 않는다.


43.가상기억장치 구현에서 세그먼테이션 방법의 설명으로 옳지 않은 것은?

①주소 변환하려면 페이지 맵 테이블이 필요하다.


44.세그먼테이션 방법에 대한 설명으로 옳은 것은?

③외부 단편화가 발생한다.


45.세그먼테이션 방법에 대한 설명으로 옳지 않은 것은?

③프로그램을 일정한 크기로 나눈 단위를 세그먼트라고 한다.


46.세그먼테이션 방법에 대한 설명 중 옳지 않은 것은?

④작업 하나를 크기가 똑같은 세그먼트라는 물리적인 단위로 나눠 주 기억 공간의 페이지 프레임에 들어가도록 한다.


47.페이징 방법과 세그먼테이션 방법에 대한 설명으로 옳지 않은 것은?

③페이징 방법에서는 작업 하나를 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재하여 실행한다.


48.페이징 방법과 세그먼테이션 방법에 대한 설명으로 옳지 않은 것은?

④세그먼테이션 방법에서는 내부 단편화가, 페이징 방법에서는 외부 단편화가 발생할 수 있다.


49.다음 설명의 A와 B에 들어갈 내용으로 옳은 것은?

가상기억장치의 일반적인 구현 방법에는 프로그램을 크기가 고정된 일정한 블록으로 나누는 A방법과 크기가 가변적인 블록으로 나누는 B방법이 있다.

② A: paging, B: segmentation


50.다음과 같은 세그먼트 테이블이 있을 때, 실제 주소는 얼마인가?

④2100


51.페이지 번호와 오프셋으로 구성된 가상 주소 중 페이지 번호로 페이지 매핑표에서 구한 실 기억장치의 주소와 가상 주소 중 오프셋으로 실제 주소를 변환하는 방법을 갖는 페이징 매핑법은?

①직접 매핑


52.논리적 주소와 물리적 주소 차이를 설명하시오.

논리적 주소는 메모리 위치를 참조하며, 메모리에 있는 프로세스 코드와 데이터의 현재 위치는 별개

물리적 주소는 메모리에 저장하거나 인출, 데이터에 사용되는 절대 주소 또는 실제 주소


53.프레임 32개로 구성된 실제 물리적 주소 공간으로 매핑되는 1,024바이트의 페이지 8개인 논리적 주소 공간을 생각해보자.

1) 논리적 주소에 몇 개의 비트가 있는가?

13비트

2) 물리적 주소에 몇 개의 비트가 있는가?

15비트


54.다음 할당 알고리즘을 설명하시오.

1)최초 적합

사용 가능한 공간 리스트에서 충분한 크기의 첫번째 분할 공간에 할당

2)최적 적합

사용 가능한 공간 중에 가장 작은 크기의 단편화가 생기는 곳에 할당

3)최악 적합

사용 가능 공간 중에 가장 큰 분할 공간에 할당

4)100KB, 500KB, 200KB, 300KB, 600KB 순으로 기억장치가 분할되었을 때 1~3의 알고리즘은 프로세스 212KB, 417KB, 112KB, 426KB를 어떤 순서로 할당하는 가? 어느 알고리즘이 기억장치를 가장 적절하게 사용하는 가?

최초 적합

212=>500

417=>600

112=>500

426은 들어갈 공간이 없으므로 대기


최적 적합

212=>300

417=>500

112=>200

426=>600


최악 적합

212=>600

417=>500

112=>388

426은 들어갈 공간이 없으므로 대기


최적 적합이 최상


55.내부 단편화와 외부 단편화의 차이를 설명하시오.

내부 단편화는 프로그램의 사이즈가 정해진 단위의 블록으로 나뉘다가 정해진 단위의 사이즈보다 조금 커져 조금 큰 부분을 하나의 블록에 저장하게 되어 블록 안에 생기는 빈 공간을 말한다.

외부단편화는 세그먼트와 세그먼트 사이의 공간이 다른 세그먼트는 들어갈 수 없을 정도의 빈공간이 생기는 것


56.왼쪽 세그먼트 테이블을 참고하여 오른쪽 1~6의 논리적 주소에서 물리적 주소를 구하시오.

1) 0, 430: 219+430=649

2) 1, 10: 2300+10=2310

3) 1, 11: 2300+11=2311

4) 2, 500: 세그먼트가 100바이트의 길이로 운영체제로 넘어간다.

5) 3, 400: 1327+400=1727

6) 4, 112: 세그먼트가 96바이트의 길이로 운영체제로 넘어간다.



57.세그먼트 하나가 다른 프로세서 2개의 주소 공간에 속할 수 있는 방법을 설명하시오.

세그먼트들은 서로 다른 두개의 일들을 나타내는 세그먼트 테이블안의 항목들이 똑같은 물리적 위치를 나타낼 때 공유될 수 있으며, 그 두개의 세그먼트 테이블은 동일한 베이스 포인터를 가져야만 하고 공유된 세그먼트 수는 그 두개의 과정에서 똑같아야 한다.


58.페이지 테이블을 메모리에 저장한 페이징 시스템이 있다. 다음 질문에 답하시오.

1)메모리 참조가 200나노초 걸린다면, 페이지로 된 기억장치의 참조는 얼마나 걸리는가?

400나노초: 페이지 테이블 액세스 시간= 200 + 메모리 액세스 시간=200

2)연관 레지스터를 추가하여 모든 페이지 테이블 참조의 75%를 연관 레지스터를 찾는 다면, 실제 메모리 접근시간은 얼마나 되는가?

0.75 * 200 나노초 + 0.25 * 400 나노초 = 250 나노초


59.페이지 테이블에서 항목 2개가 메모리의 동일한 페이지 프레임을 가리킨다면 그 결과는 어떻게 될까? 많은 양의 메모리를 한 장소에서 다른 장소로 복사할 때 이것을 사용하여 어떻게 필요한 시간의 양을 감소시킬 수 있는가? 한 페이지를 다른 페이지로 업데이트했을 때 어떤 효과가 있는가?

하나의 페이지에 있는 두개의 항목들을 메모리에서 동일한 페이지로 나타나게 하면 사용자들은 코드와 데이터를 공유할 수 있다.

많은 양의 메모리를 복사하는 것은 서로 다른 페이지 테이블들을 동일한 메모리 할당을 나타내게 하므로 효과가 나타날 수 있다.

한 프로세스 집단을 효과적으로 수행하는데 필요한 메인 메모리의 양을 줄이는 동시에 주어진 시스템을 더 많은 사용자가 쓸 수 있게 해준다.


60.바인딩을 설명하시오.

하나의 프로그램에 각각 재적재할 수 없는 주소에 의해 사용된 실제주소를 설정하는 것


61.중첩의 개념과 단점을 설명하시오.

실행기간 동안에 필요한 각종 사용자 코드 등을 적재하여 필요한 시기에 해당되는 프로그램을 불러들여 수행하는 방법이다.

오버레이들이 서로 방해한다는 단점이 있다.


62.동적 적재의 개념과 장점을 설명하시오.

루틴이 요청되었지만 아직 메모리상에서 존재하지 않을 때에만 루틴을 적재하는 것

루틴들은 적재되기 전에는 결코 사용될 수 없다. 그러므로 자유로운 메모리


63.재할당 레지스터를 설명하시오.

하나의 프로그램을 위해 가장 낮은 물리 주소를 주기위해 사용되는 base 레지스터


64.고정 분할 영역을 만드는 방법을 열거하시오.

기준 레지스터와 한계 레지스터를 사용하는 방법

현재 실행중인 위, 아래 바운드 레지스터를 사용하는 방법


65.세그먼트를 설명하시오.

프로그램을 논리적 세그먼트로 분리하고 이 세그먼트 공간을 메모리속으로 각각 할당하는것


66.페이지 크기가 4KB이고 메모리 크기가 256KB인 메모리 페이징 시스템이 있다고 가정하여 다음 질문에 답하시오.

1)페이지 프레임 수는?

256/4=64개

2)이 메모리 주소를 해결하는 데 필요한 비트는?

18비트

3)페이지 번호에 사용하는 비트와 페이지 오프셋에 사용하는 비트는?

페이지 번호: 6비트, 페이지 오프셋: 12비트


67.크기가 212바이트인 동일한 분할과 232바이트의 메인 메모리를 갖는 고정 분할 방법을 사용하는 시스템이 있다고 가정하자. 프로세스 테이블은 각 상주 프로세스의 분할 포인터를 유지한다. 프로세스 테이블의 포인터에 필요한 비트는?

20비트


68.페이지 크기가 1KB라고 가정하면, 다음 주소 참조에서 페이지 번호와 오프셋은?

1)2375         페이지 번호: 1, 오프셋: 327

2)19366        페이지 번호: 18, 오프셋: 934

3)30000        페이지 번호: 29, 오프셋: 304

4)256           페이지 번호: 0, 오프셋: 256

5)16385        페이지 번호: 16, 오프셋: 1


69.페이징 시스템에서 프로세스는 소유하지 않는 메모리에 액세스할 수 없다. 다음 질문에 답하시오.

1)프로세스가 소유하지 않는 메모리에 액세스할 수 없는 이유는?

프로세스는 그 페이지가 페이지 테이블에 없기 때문에 페이지를 참조할 방법이 없다.

2)운영체제가 다른 메모리에 액세스할 수 있을까? 그리고 운영체제가 다른 메모리에 액세스할 수 있게 해야 하는가, 아니면 하지 않아도 되는가?

액세스를 허용하기 위해, 운영체제는 비 프로세스 메모리에 대한 항목은 프로세스의 페이지 테이블에 단순하게 추가되도록 할 필요가 있다.


70.페이징 시스템에서 페이지 테이블이 어떤 기능을 하는지 설명하시오.

특정 프로세스의 페이지 테이블은 메모리의 특정 페이지 번호에 대응하는 물리적 메모리에 있는 페이지의 번호를 포함한다. 논리 주소를 물리 주소로 변환하는 메모리 관리 장치로 사용된다.


71.컴파일러에서는 함수 호출이나 순환의 시작 부분으로 점프하는 코드와 데이터를 참조하는 주소를 생성해야 한다. 메모리 시스템에서 이 주소는 물리적 주소인가, 아니면 논리적 주소인가?

논리적 주소


#운영체제 #7장 #연습문제 #풀이 #해답 #구현회 지음

    • 잉여
    • 2017.12.11 19:34
    보면서 공부 열심히 하고 있는데 궁금한게 있습니다.
    32번의 두번째 최적적합은 영역 3이 아닌 영역1이 아닌지 궁금합니다.
    최적적합이 할당 가능한곳에서 가장 적은곳에 하는거 아니였나요?
이 댓글을 비밀 댓글로