운영체제
그림으로 배우는 구조와 원리 운영체제 연습문제 2장 풀이 & 답
Vect R ・ 2021. 7. 19. 21:05
URL 복사 이웃추가
본문 기타 기능
신고하기
직접 풀어서 정리한 것입니다.
풀이나 답에 오류가 있을 수 있습니다.
1. 운영체제의 기능으로 적당하지 않은 것은?
(1) 컴퓨터 시스템의 초기화 기능
(2) 효율적인 자원 관리와 할당 기능
(3) 고급 언어로 작성한 프로그램을 기계어로 번역하는 기능
(4) 오류 검사 및 복구 기능
풀이: (3)은 컴파일러 혹은 인터프리터의 기능이다. 요즘 시스템에서는 몇몇 고급 언어의 컴파일러 및 인터프리터를 시스템 프로그램의 일종으로 가지거나 동적으로 받도록 모듈의 형태로 OS에 기능을 추가하는데, 그렇다고 해서 컴파일 기능이 운영체제의 기능이라고 볼 수는 없다.
2. 운영체제의 목적과 가장 거리가 먼 것은?
(1) 사용자 인터페이스 제공
(2) 주변장치 관리
(3) 데이터 압축 및 복원
(4) 신뢰성 향상
풀이: (3)은 효율적인 메모리 관리를 위해 제공되는 기술이다.(최근 Windows에서 제공하는 포맷을 할 때 사용되기도 하는 듯한데... 이쪽은 잘 모르겠다...)
물론, 요즘에는 네트워크 상에서 통신할 때의 편의성을 위해 일부 기능이 제공되는 듯하기는 하다.
3. 운영체제의 성능 판단 요소로 거리가 먼 것은?
(1) 처리 능력
(2) 비용
(3) 신뢰도
(4) 사용 가능도
풀이: (2)는 성능 판단보다는 가성비(?)의 문제라 볼 수 있다. 물론, 비용이라는 단어가 오버헤드의 의미로 사용되었다면 성능 판단 요소로 볼 수 있으나, 첫 항목이 '처리 능력'인 것으로 보아 그런 것은 아니라고 판단된다.
4. 운영체제의 설명으로 옳지 않은 것은?
(1) 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로 동작하는 일종의 하드웨어 장치이다.
(2) 운영체제는 컴퓨터를 편리하게 사용하고 컴퓨터 하드웨어를 효율적으로 사용할 수 있게 한다.
(3) 운영체제의 성능 평가 요소에는 처리 능력, 반환시간, 사용 가능도, 신뢰도 등이 있다.
(4) 운영체제는 프로세스, 메모리, 주변장치, 파일 등을 관리한다.
풀이: 운영체제는 사용자 및 응용 프로그램과 하드웨어 간의 인터페이스로 동작하는 일종의 소프트웨어(시스템 소프트웨어)이다.
5. 운영체제의 역할과 거리가 먼 것은?
(1) 시스템의 오류 검사 및 복구
(2) 자원의 스케줄링 기능 제공
(3) 원시 프로그램에 대한 토큰 생성
(4) 자원 보호 기능 제공
풀이: (3)과 같은 항목을 어떤 프로그램이 담당하는지는 잘 모르겠으나, 아마도 컴파일러가 아닐까 하고 생각해 본다. 어찌 되었든 운영체제의 역할은 아니다.
6. 운영체제의 운용 방법 중 시분할 체제의 설명으로 옳지 않은 것은?
(1) 일괄 처리 형태에서 사용자 대기시간을 줄이는 대화식 처리 형태이다.
(2) 여러 사용자가 프로세서를 공유하고 있지만, 마치 자신만이 독점하여 사용하는 것처럼 느끼게 한다.
(3) 좋은 응답시간을 제공하려고 각 사용자에게 일정 프로세서 시간만큼 차례로 할당하는 SJF 스케줄링을 제공한다.
(4) 단위 작업 시간을 time slice라고 한다.
풀이:
(3) 시분할 시스템은 time slice마다 프로세서 점유를 변경하는 방식이다.
이러한 방식의 스케줄링을 RR(Round-Robin) 방식이라고 한다.
+ SJF는 Shortest Job First의 약자로, 가장 빨리 끝날 것 같은 작업에 우선순위를 부여하는 비선점형 스케줄링 방식이다.
7. 컴퓨터 시스템 성능을 향상시키는 스풀링의 설명으로 옳지 않은 것은?
(1) 여러 작업의 입출력과 계산을 동시에 수행할 수 있다.
(2) 스풀 공간으로 주기억장치의 일부를 사용하며, 소프트웨어적인 방법이다.
(3) 제한된 수의 입출력장치만 사용하여 입출력 장치의 지연을 방지한다.
(4) 저속의 입출력장치에서 읽어 온 자료를 우선 중간의 저장 장치에 저장하는 방법이다.
풀이: 스풀링은 소프트웨어적인 방법이 맞지만, 스풀 공간으로는 보조기억장치를 사용한다.
8. 운영체제의 목적 중 다음 설명에 해당하는 것은?
컴퓨터 시스템 내의 한정된 각종 자원을 여러 사용자가 요구할 때, 어느 정도 신속하고 충분히 지원할 수 있는지를 나타내는 정도이다. 사용 가능한 하드웨어 자원의 수나 다중 프로그래밍의 정도 등 요소가 좌우하는 것으로, 같은 종류의 시스템 자원 수가 많을 때 높아질 수 있다.
(1) Reliability
(2) Throughput
(3) Turn around time
(4) Availability
풀이:
(1)은 신뢰도를 의미한다. 이는, 작업에 대해 성공하는 정도를 의미한다.
(2)는 처리량을 의미한다. 단위 시간 동안 얼마나 많은 업무를 수행하는지를 본다.
(3)은 응답 시간이다. 특정 동작을 지시할 때 얼마나 빨리 처리하는가이다.
(4)는 가용성을 의미한다. 얼마 정도의 업무까지 감당할 수 있는가를 의미한다.
음... 일단, 위에서 '어느 정도 신속하고 충분히 지원할 수 있는지를 나타내는 정도'
라는 문장을 보면, (3)과 (4) 중에 하나라는 사실을 알 수 있다.
다만, 나는 이 문장을 통해 (4) 번이 더 답에 가깝지 않을까 하는 생각이 들었다.
그 이유는 위 문장에서
'어느 정도' 신속하고, '충분히' 지원할 수 있는지를 나타내었으므로,
해석해보자면,
'대충 사용이 가능할 정도의 속도로 지원할 때 가장 많이 지원할 수 있는 정도'의 의미가 되어서 '가용성'의 의미가 커진다.
또한, 그 뒤의 문장 '사용 가능한 하드웨어 자원의 수나 다중 프로그래밍의 정도 등 요소가 좌우하는 것으로, 같은 종류의 시스템 자원 수가 많을 때 높아질 수 있다.'를 보면, (3) 과는 관계가 없는 조건임을 알 수 있다.
자원이 충분하다고 해서, 단일 작업의 속도가 빨라지는 것은 아닐 테니 말이다.
9. 운영체제의 운영 방법 중 'Quantum'과 관계되는 것은?
(1) Real time processing system
(2) Batch processing system
(3) Time sharing system
(4) Distributed processing system
풀이: Quantum은 Time slice의 다른 표현법이다.
그리고, 시분할 시스템에서는 Quantum을 기준으로 CPU가 선점된다.
10. 운영체제의 운영 방법 중 동시에 프로그램을 수행할 수 있는 프로세서를 2개 이상 두고, 각각 그 업무를 분담하여 처리할 수 있는 방법은?
(1) Multiprocessing system
(2) Time sharing system
(3) Real time system
(4) Multiprogramming system
풀이: 다중 처리 시스템에 관한 설명이다.
11. 프로그램이 프로세서가 수행하는 속도와 프린터 등에서 결과를 처리하는 속도의 차이를 극복하려고 디스크 저장 공간을 사용하는 방법은?
(1) 링킹(Linking)
(2) 사이클 스틸링(Cycle Stealing)
(3) 스풀링(Spooling)
(4) 페이징(Paging)
풀이: (2), (4)는 뒤에서 나오는 내용이며, (1)은 컴파일 과정에 존재하는 내용이다. 남은 한 개는 (3) 스풀링뿐이다.
12. 시스템 성능 평가 요인으로 거리가 먼 것은?
(1) 신뢰도
(2) 처리 능력
(3) 응답시간
(4) 프로그램 크기
풀이: 운영체제의 용량이 작으면 좋긴 하겠지만, 이것은 성능과 관련이 없다.
13. 운영체제의 기능으로 거리가 먼 것은?
(1) 자원을 효율적으로 사용하려고 자원의 스케줄링 기능을 제공한다.
(2) 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
(3) 데이터를 관리하고 데이터 및 자원의 공유 기능을 제공한다.
(4) 2개 이상의 목적 프로그램을 합쳐서 실행 가능한 프로그램으로 만든다.
풀이: (4)는 링커(Linker)의 기능이다.
14. 프로세서와 입출력장치의 속도 차이를 줄이는 데 사용하는 방법은?
(1) 기억장치 보호(Storage Protection)
(2) 기억장치 상호 배치(Storage Interleaving)
(3) 버퍼링(Buffering)
(4) 폴링(Polling)
풀이: 프로세서와 입출력장치 사이에 이동하는 데이터를 버퍼에 보관하는 방법을 사용해 둘 사이의 병목을 완화할 수 있다.
15. 하나의 프로세서는 같은 지점에서 여러 작업을 동시에 수행할 수 없기 때문에 프로세서의 전체 사용 기간을 작은 단위 작업 시간(Time slice)로 나누어 그 시간 동안만 번갈아 가면서 프로세서를 할당하여 각 작업을 처리하는 방법은?
(1) 실시간 처리 시스템
(2) 시분할 시스템
(3) 다중 처리 시스템
(4) 일괄 처리 시스템
풀이: 시분할 시스템에 대한 설명이다.
16. 운영체제의 발달 과정을 순서대로 나열한 것은?
(ㄱ) 일괄 처리 시스템
(ㄴ) 분산 처리 시스템
(ㄷ) 다중 모드 시스템
(ㄹ) 시분할 시스템
(1) ㄱ > ㄹ > ㄷ > ㄴ
(2) ㄷ > ㄴ > ㄹ > ㄱ
(3) ㄱ > ㄷ > ㄹ > ㄴ
(4) ㄷ > ㄹ > ㄴ > ㄱ
풀이:
일괄 처리 시스템은 1950년대,
시분할 시스템은 1969년대,
다중 모드 시스템은 1970년대 초반,
분산 처리 시스템은 1970년대 중반에 등장했다.
17. 운영체제의 목적 중 다음 사항과 가장 관계있는 것은?
-시스템이 정확하게 작동하는 정도
-하드웨어적인 오류의 자체 회복 재시도
-소프트웨어의 오류에 대한 상세한 메시지 제공
-상호 조회 시스템 구성
(1) 처리 능력 증대
(2) 응답시간 단축
(3) 신뢰도 향상
(4) 사용 가능도 증대
풀이: 신뢰도 향상과 관련이 있는 항목들이다.
18. 운영체제의 성능 평가 기준 중 시스템이 주어진 문제를 정확하게 해결하는 정도를 의미하는 것은?
(1) throughput
(2) reliability
(3) turn around time
(4) availability
풀이: Reliability(신뢰도)는 주어진 문제의 처리를 성공하는 정도를 의미한다.
19. 몇 개의 작업을 동시에 주기억장치에 적재하여 실행하는 처리 방법은?
(1) 일괄 처리
(2) 다중 프로그래밍
(3) 대화식 처리
(4) 온라인 처리
풀이:
(3) 대화식 처리는 반응속도가 빠른 방식의 처리를 의미한다.
(4) 온라인 처리는 네트워크에 연결된 상태에서 타 기기와 통신하여 작업을 수행하는 방식의 처리를 의미한다.
20. 운영체제의 목적으로 거리가 먼 것은?
(1) 컴퓨터와 사용자 간의 인터페이스 제공
(2) 자원 스케줄링 및 효율적 운영
(3) 신뢰도 향상 및 반환시간 증가
(4) 주변장치 관리
풀이: 반환시간의 증가는 운영체제의 목적과 반대된다.
(애초에 능력을 다운그레이드 하는 것을 목적으로 할 리는 없으니...)
21. 스풀링과 버퍼링을 잘못 설명한 것은?
(1) 버퍼링은 디스크를 큰 버퍼처럼 사용한다.
(2) 버퍼링은 프로세서의 효율적인 시간 관리를 지향하려고 도입했다.
(3) 스풀링은 여러 작업에서 입출력과 계산을 동시에 수행한다.
(4) 스풀링은 시스템의 효율을 높일 수 있는 방향으로 다음에 수행할 작업의 선택과 관련된 스케줄링을 가능하게 한다.
풀이:
(1) 스풀링에 대한 설명이다.
(4) 스풀링을 사용하면 여러 종류의 입출력 동작과 그것들의 연산을 동시에 수행할 수 있으므로, 다음에 어떤 입출력 동작에 대한 연산을 수행할지 선택하는 스케줄링이 가능해진다.
22. 운영체제에 대한 설명으로 옳지 않은 것은?
(1) 다중 사용자와 다중 응용 프로그램 환경에서 자원의 현재 상태를 파악하고, 자원을 분배하는 스케줄링을 담당한다.
(2) 프로세서, 메모리 공간, 기억장치, 입출력장치 등 자원을 관리한다.
(3) 운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
(4) 입출력장치와 사용자 프로그램을 제어한다.
풀이: (3) 이는 언어 해석기의 종류이다.
23. 운영체제의 기능으로 거리가 먼 것은?
(1) 사용자의 편리한 환경 제공
(2) 처리 능력 및 신뢰도 향상
(3) 컴퓨터 시스템의 성능 최적화
(4) 언어 번역 및 자원의 효율적 사용
풀이: (4) 언어 번역은 포함되지 않는다.
24. 다음은 운영체제가 해결할 문제점이다. 이런 문제점이 발생한 직접적인 원인으로 가장 타당한 것은?
-교착 상태 예방, 회피, 발견, 회복 등 처리 문제
-프로세서와 자원의 할당 문제
-메모리 관리 문제
-병행성 제어 문제
-공존하는 프로그램 간의 충돌 해결 문제
(1) 메모리 및 자원의 효율적인 사용
(2) 사용자에게 편리한 인터페이스 제공
(3) 다중 프로그래밍 방법 이용
(4) 프로세서 처리 속도 및 입출력장치의 속도 차이
풀이:
(3) 다중 프로그래밍을 시도하면서...
-여러 프로세스가 동시에 수행되게 되고, 그 과정에서 복수의 프로세스가 전부 다른 프로세스의 수행을 기다리는 교착상태가 발생한다.
-여러 프로세스가 동시에 수행되므로, 프로세스들에 자원을 할당하는 문제와 할당된 자원을 다른 프로세스에게 선점하게 할 때, 기존의 정보를 저장하는 등의 문제가 발생한다.
-여러 프로세스가 동시에 수행된다는 것은 여러 프로세스를 동시에 메인 메모리에 할당한다는 것이다. 즉, 메인 메모리의 크기가 부족해지는 문제가 발생한다.
-여러 프로세스가 동시 수행되므로 당연하게도, 제어에 대한 문제가 발생한다.
-동시 수행하는 다른 복수의 프로세스가 서로의 메모리 영역을 침범하는 등의 충돌 관련 문제가 발생한다.
25. 한정된 시간 제약 조건에서 데이터를 분석하여 처리하는 시스템으로, 비행기 제어 시스템이나 교통 제어 시스템 등에 사용하는 운영체제는?
(1) 분산 처리 시스템(Distributed Processing System)
(2) 일괄 처리 시스템(Batch Processing System)
(3) 실시간 시스템(Real Time System)
(4) 병렬 처리 시스템(Paralled Processing System)
풀이: (3) 실험, 교통수단 등의 통제용으로 사용되는 임베디드는 시간 제약에 따른 동작 수행을 굉장히 중요하게 판단한다.
26. 일괄 처리 시스템에 대한 설명으로 옳지 않은 것은?
(1) 컴퓨터 시스템을 효율적으로 사용할 수 있다.
(2) 적절한 작업 제어 언어를 제공해야 한다.
(3) 실행 결과를 즉시 받아 볼 수 있어서 응답시간이 짧다.
(4) 비슷한 성격의 작업을 한꺼번에 모아서 처리하는 시스템이다.
풀이:
(3) 비슷한 유형의 업무를 모아서 처리하므로 상대적으로 느리다고 볼 수 있다
27. 운영체제를 바르게 설명한 것끼리 나열한 것은?
(ㄱ) 사용자와 시스템 간에 용이한 인터페이스를 제공한다.
(ㄴ) 자원의 효과적 관리 및 스케줄링을 수행한다.
(ㄷ) 시스템의 오류를 검사하고 복구한다.
(ㄹ) 프로그램 실행을 위한 목적 프로그램을 생성한다.
(1) ㄱ, ㄹ
(2) ㄴ, ㄹ
(3) ㄱ, ㄴ, ㄷ
(4) ㄱ, ㄴ, ㄷ, ㄹ
풀이: (ㄹ) 이는 링커(Linker)의 기능이다.
28. 운영체제의 운용 방법 중 시분할 처리 시스템에 대한 설명으로 옳지 않은 것은?
(1) 하나의 프로세서를 여러 작업이 일정한 시간 간격 동안 사용함으로써 각 직업은 프로세서를 공유한다.
(2) Round-Robin 방법이라고도 한다.
(3) 다중 프로그래밍 방법과 결합하여 마치 모든 작업을 동시에 진행하는 것처럼 대화식 처리가 가능하다.
(4) 시스템의 효율을 향상시키려고 작업량이 일정한 수준이 될 때까지 모아 두었다가 한꺼번에 처리한다.
풀이: (4) 일괄 처리 시스템에 대한 설명이다.
29. 운영체제의 수행 기능을 모두 나열한 것은?
(ㄱ) 목적 프로그램과 라이브러리, 로드 모듈을 연결하여 실행 가능한 로드 모듈을 만든다.
(ㄴ) 사용자 간에 데이터를 공유할 수 있도록 한다.
(ㄷ) 사용자와 컴퓨터 시스템 간의 인터페이스 기능을 제공한다.
(ㄹ) 자원의 스케줄링 기능을 제공한다.
(1) ㄱ, ㄴ
(2) ㄱ, ㄷ, ㄹ
(3) ㄴ, ㄷ, ㄹ
(4) ㄱ, ㄴ, ㄷ, ㄹ
풀이: (ㄱ) 링커(Linker)의 기능이다.
30. 다중 프로그래밍 시스템과 시분할 처리 시스템은 모두 다수의 사용자에게 서비스를 제공한다. 가장 적절한 설명은?
(1) 다중 프로그래밍은 실행 시간이 짧은 작업에 유리하고, 시분할 처리는 실행 시간이 긴 작업에 유리하다.
(2) 다중 프로그래밍과 시분할 처리는 모두 일정하게 나눈 시간만큼 작업에 할당한다.
(3) 다중 프로그래밍과 시분할 처리 모두 실행 시간이 긴 작업에 유리하다.
(4) 다중 프로그래밍은 처리량의 극대화를 꾀하고, 시분할 처리는 응답시간의 최소화를 꾀한다.
풀이: (1), (3)은 뒤에서 경험적 성향으로 나오는 이야기이다. 이곳에서는 정보가 부족해서 미리 암기하지 않는 이상에는 답을 내기 어려워 보인다.
31. 운영체제의 작업 수행 방법에 대한 설명으로 옳지 않은 것은?
(1) 하나의 컴퓨터 시스템에서 여러 프로그램을 함께 메인 메모리에 적재하고, 이들이 처리 장치를 번갈아 사용하며 실행하도록 하는 것을 다중 프로그래밍이라고 한다.
(2) 컴퓨터 한 대를 여러 사용자가 동시에 대화식으로 사용하는 방법으로, 처리 속도가 매우 빨라 각 사용자는 시스템을 독립적으로 사용하는 것처럼 인식하는 시스템을 일괄 처리 시스템이라고 한다.
(3) 프로세서를 둘 이상 설치하여 여러 명령을 동시에 처리하는 시스템을 다중 처리 시스템이라고 한다.
(4) 컴퓨터 여러 대가 작업을 나눠 처리하고, 그 내용이나 결과를 네트워크를 이용하여 상호 교환하도록 연결된 시스템을 분산 처리 시스템이라고 한다.
풀이: (2) 시분할 시스템이라고 한다.
32. 운영체제에 대한 설명으로 거리가 먼 것은?
(1) 운영체제는 컴퓨터를 운영하는 제어 루틴으로 구성된다.
(2) 운영체제 이외의 프로그램들은 운영체제가 제공한 기능에 의존하여 컴퓨터 시스템의 자원에 접근한다.
(3) 운영체제는 일종의 시스템 명령어이므로, 사용자는 운영체제와 직접 상호작용할 수 없다.
(4) 운영체제는 컴퓨터 하드웨어와 사용자 사이의 인터페이스 역할을 한다.
풀이:
(1) 운영체제는 컴퓨터를 운영하기 위한 다양한 기능들을 가지고 있으며, 이러한 기능들을 루틴(여기서는 코드의 집합 혹은 프로그램)으로 가지고 있다.
(3) 사용자는 CLI를 통해 운영체제와 직접 상호작용할 수 있다.
33. 운영체제의 주요 기능을 자원 관리와 시스템 관리로 나눠 기술하시오.
풀이 & 답:
자원 관리
-메모리 관리
-프로세스 관리
-입출력장치 관리
-파일 관리
시스템 관리
-시스템 보호
-네트워크 접속 관리
-명령 해석기
34. 운영체제의 발전 목적은?
풀이 & 답:
편리성: 사용자에게 편리한 환경 제공
효율성: 시스템 성능 향상
> 처리량 향상
> 응답시간 단축
> 신뢰도 향상
> 사용 가능도 향상
제어 서비스 향상
> 입출력장치의 동작 관리 및 제어
> 시스템 오류 예방
35. 운영체제의 정의와 역할을 기술하시오.
풀이 & 답:
운영체제는 사용자와 하드웨어 사이의 인터페이스 역할을 하는 프로그램으로, 응용 프로그램의 실행을 제어하고, 자원을 할당 및 관리하며, 입출력 제어 및 데이터 관리와 같은 서비스를 제공한다.
36. 프로세스를 관리하는 운영체제의 주요 활동은?
풀이 & 답:
-프로세스와 스레드의 스케줄링
-사용자 프로세스와 시스템 프로세스의 생성 및 제거
-프로세스 중지 및 재수행
-프로세스 동기화 방법 제공
-프로세스 통신 방법 제공
-데드락 방지
37. 파일을 관리하는 운영체제의 주요 활동은?
풀이 & 답:
-파일 생성 및 삭제
-디렉터리 생성 및 삭제
-보조기억장치에 있는 파일 매핑
-비휘발성 저장 장치에 파일 저장
38. 메모리를 관리하는 운영체제의 주요 활동은?
풀이 & 답:
1. 메인 메모리 관리
-메모리의 사용 부분 및 사용 주체 확인
-메모리에 저장할 프로세스 결정
-메모리 할당 및 회수 방법 결정
2. 보조기억장치 관리
-보조기억장치의 빈 공간 관리
-새로운 파일 작성 시 저장 장소 할당
-메모리 접근 요청을 스케줄링
-파일 생성 및 삭제
39. 시분할 시스템 운영체제를 설명하고 장단점을 기술하시오.
풀이 & 답:
설명: 시분할 시스템은 다중 프로그래밍의 확장으로, 사용자 혹은 프로세스에 대해 프로세서를 점유할 수 있는 시간 단위인 time slice를 정해놓고, 그 시간만큼 점유를 하게 해주는 방식이다.
장점: 모든 사용자 혹은 프로세스에 동일한 점유를 제공하기 때문에, 작업에 대한 반응속도가 빠르다. 또한, 모든 작업에 대해 공정한 분배를 한다.
단점: time slice가 짧을 경우, Context Switch에 대한 오버헤드가 증가하며, 당시에는 RR을 구현하는 방법을 구현하는 것이 운영체제를 복잡하게 만들었다.
40. 다중 프로그래밍 시스템과 다중 처리 시스템의 차이를 설명하시오.
풀이 & 답:
다중 프로그래밍 시스템은 1개의 CPU를 여러 프로세스가 공유하여 사용하는 형태로, 동시성을 가지지만, 실제로는 번갈아가면서 실행시키는 형태이다.
반면, 다중 처리 시스템은 다수의 CPU를 사용해 복수의 프로세스를 병렬적으로 수행하는 형태이므로, 물론, 동시성도 가지겠지만, 2개의 다른 프로세스가 같은 시간에 돌아가는 '병렬성' 또한 가졌다.
41. 다중 프로그래밍의 주요 장점은?
풀이 & 답:
CPU를 점유한 프로세스가 I/O 연산을 수행해 CPU의 낭비를 만드는 것을 제거하여 CPU 사용 효율을 극대화하였다.
42. 운영체제의 사용자 서비스를 설명하시오.
풀이 & 답:
사용자의 편리성을 위한 인터페이스를 제공하였으며, 전문가가 프로그래밍 등의 작업을 편하게 하도록 하는 기능 또한 제공하였다.
제공한 서비스들은 다음과 같다.
-UI 제공
-프로그램 실행
-입출력 동작 수행
-파일 시스템 조작
-통신
-오류 탐지
43. 시스템 호출의 개념과 시스템 호출 방법을 설명하시오.
풀이 & 답:
시스템에 심각한 영향을 줄 만한 모든 명령어는 특권 명령에 해당한다.
이러한 특권 명령은 커널만이 수행할 수 있다.
다만, 응용 프로그램이 이러한 기능을 요할 수 있는데, 이럴 때, 시스템 호출을 사용해 이름 그대로 운영체제(operating SYSTEM)을 호출해 해당 명령의 수행을 부탁한다.
시스템 호출은 2가지 방법으로 사용이 가능하다.
1. 고급 언어에서 제공하는 함수를 사용하는 방법
2. 쉘에 직접 입력하는 방법
44. 계층 구조 운영체제의 장점은?
풀이 & 답:
운영체제의 기능이 단계별로 나뉘어 구성된다.
각 단계는 하위 단계의 기능을 활용해 구성된다.
따라서, 시스템 검사와 오류 수정이 쉽다. (범위가 좁음)
45. 단일 커널 구조 운영체제를 설명하고, 장단점을 기술하시오.
풀이 & 답:
설명: 운영체제의 모든 기능을 하나로 묶어서 구축한 형태이다.
장점: 각 기능 간의 통신이 빠르기 때문에 성능이 뛰어나다.
단점: 모든 기능이 하나의 프로그램으로 구성되므로, 만들기가 어렵고, 이후에 오류가 발생했을 때, 시스템 전체에 영향이 가며, 기능의 확장 또한 어렵다.
46. 마이크로 커널 구조 운영체제를 설명하고 장단점을 기술하시오.
풀이 & 답:
설명: 커널의 크기를 최대한으로 줄이고, 나머지 기능들을 사용자 프로그램으로 만든 형태의 운영체제이다.
장점: 커널의 크기가 작으므로 유지, 보수가 쉽고, 기능을 사용자 프로그램으로 만들었으므로 새로운 기능의 확장이 쉽다.
단점: 프로세스 간 통신 기능이 커널에 있으므로, 프로세스 간 통신을 할 때에는 무조건 커널을 끼고 수행해야 한다. 중요한 점은, 커널과 다른 서비스, 일반 프로세스들은 다른 모드에 해당하므로 Context Switch로 인한 오버헤드가 상당하다.
47. 시스템 및 응용 프로그램의 차이를 기술하시오.
풀이 & 답:
시스템 소프트웨어: 응용 소프트웨어들이 실행될 기본 환경을 제공할 목적으로 존재하는 소프트웨어이다.
응용 소프트웨어: 사용자가 특정 목적을 수행하기 위해 제작 및 사용하는 소프트웨어이다.
Reference
그림으로 배우는 구조와 원리 운영체제 개정 3판
댓글쓰기 이 글에 댓글 단 블로거 열고 닫기
인쇄