본문 바로가기

컴퓨터와 보안/OS(운영체제)

(16)
william stallings OS(운영체제) Chapter 8 문제풀이 8.1 가상 메모리의 사용이 어떻게 시스템 활용도를 높이는가? 가상메모리를 통해 수행 시간에 프로세스가 모두 주기억장치에 적재되어 있을 필요가 없게 되면서 보다 많은 프로세스를 주기억장치에 유지할 수 있고, 주기억장치보다 큰 프로세스를 수행할 수 있다. 보다 많은 프로세스가 주기억장치에 유지되면 임의 시점에 하나 이상의 프로세스가 준비 상태에 있을 가능성이 커지므로, 처리기의 활용도가 높아지고 주기억장치보다 큰 프로세스를 수행할 수 있게되면, 운영체제가 프로세스의 블록들에 대한 필요를 스스로 파악해 주기억장치에 적재할 수 있게됨으로써 프로그래밍에 있어 가장 근본적 제약점 중 하나가 제거된다. 8.2 쓰레싱(thrashing)을 설명하라. 메모리 영역에 접근하게 될 때, 메모리에 페이지 폴트(Page fa..
william stallings OS(운영체제) Chapter 6 문제풀이 6.1 재사용 가능한 자원과 소모성 자원의 예를 들어라. 처리기, 입출력 채널, 주/보조 메모리, 장치, 파일이나 데이터베이스나 세마포어와 같은 자료 구조 등이 재사용 가능한 자원의 대표적인 예이다. 소모성 자원의 대표적인 예는 인터럽트, 시그널, 메시지, I/O 버퍼에 존재하는 정보 등이 있다. 6.2 교착상태가 발생할 수 있는 세 가지 필요조건은 무엇인가? 상호 배제(mutual exclusion)조건, 점유대기(hold and wait)조건, 비선점(no preemption) 조건 등이 있다. 6.3 교착상태를 실제로 야기하는 네 번째 조건은 무엇인가? 환형 대기(circular wait)조건이다. 6.4 교착상태 문제를 해결하기 위해 사용되는 방법들을 기술하라. 교착상태 예방, 교착상태 회피, 교..
william stallings OS(운영체제) Chapter 5 문제풀이 5.1 병행성 개념과 관련된 4가지 설계 이슈를 기술하시오. 상호배제: 특정 프로세스가 공유 자원을 사용 중일 때 다른 프로세스가 이 자원에 접근하지 못하도록 막는 것. 동기화: 프로세스 또는 스레드들이 shared data를 접근하는 경우에 수행되는 시점을 조절하는 것. 데드락: 여러개의 프로세스가 더 이상 진행될 수 없는 자원의 할당, 해제 과정을 기다리고 있는 상태 기아: 병행 프로세스에서 프로세스가 실행되는데에 필수적인 자원을 끊임없이 사용하지 못하는 상태. 5.2 병행성이 발생하는 3가지 문맥은 무엇인가? 다수의 응용프로그램 : 멀티프로그래밍은 처리 시간을 동적으로 공유하기 위해 실행되는 응용 프로그램의 동시성이 필요하다. 구조화된 응용프로그램: 동시성(concurrency)은 구조화된 응용프로..
william stallings OS(운영체제) Chapter 4 문제풀이 4.1 표 3.5는 쓰레드가 지원되지 않는 운영체제의 프로세스 제어블록에 포함된 전형적 요소들을 보여준다. 멀티쓰레드 시스템을 구현할 경우에, 이들 요소들 중 어떤 것이 쓰레드 제어블록에 포함되어야 하고 어떤 것이 프로세스 제어블록에 포함되어야 하는가? 우선 쓰레드 제어블록에는 프로세스 상태정보, 스케줄링과 상태정보가 포함되어야 하고 나머지는 프로세스 제어블록에 포함되어야 한다. 4.2 쓰레드들 사이의 모드 전환이 프로세스들 사이의 모드 전환보다 비용이 더 저렴한 이유를 열거하라. 대부분의 운영체제에서, 독립된 프로세스들 간의 통신에는 보호 및 통신 기법을 제공하기 위해 커널이 개입되어야 한다. 그러나 같은 프로세스 내의 쓰레드들은 메모리 및 파일을 공유하기 때문에, 커널을 호출하지 않고도 서로 통신할 ..
william stallings OS(운영체제) Chapter 3 문제풀이 3.1 명령 궤적(trace)란 무엇인가? 프로세스를 위해 수행되는 일련의 명령어 리스트 3.2 프로세스의 개념을 설명하고, 프로그램과의 차이점에 대해 기술하라. 개념: 수행 중인 프로그램, 컴퓨터 상에 수행 중인 프로그램의 인스턴스, 비동기적 행위를 일으키는 주체, 프로시저에 생명을 불어넣는 것. 차이점: 프로그램과의 차이는 프로그램은 파일 시스템에 존재하는 실행파일 그 자체이고 프로세스는 그 프로그램을 실행 시키는 인스턴스이다. 3.3 그림 3.6의 처리 모델에서, 각 상태를 간단하게 정의하라. 수행(Running): 현재 수행 중인 프로세스, 이 장에서는 단일 처리기로 이루어진 컴퓨터를 가정하고 있으므로, 임의 시점에 단지 하나의 프로세스만이 수행 상태일 수 있다. 준비(Ready): 기회가 주어지..
william stallings OS(운영체제) Chapter 2 문제풀이 2.1 운영체제 설계의 세 가지 목표는 무엇인가? 편리성: 운영체제는 컴퓨터를 보다 편리하게 사용할 수 있게 해준다. 효율성: 운영체제는 컴퓨터 시스템 자원을 효율적으로 사용할 수 있게 해준다. 발전성: 운영체제는 효과적인 개발과 시험이 가능해야 하고, 서비스를 방해하지 않고 새로운 시스템 기능을 도입할 수 있도록 구축되어야 한다. 2.2 운영체제의 이중 동작 모드(Dual Mode Operation)은 무엇인가? 이중 동작 모드(Dual Mode Operation)은 OS가 Application faults로 인해 잘못 동작하거나 망가지지 않게 하는 아주 중요한 핵심 동작 원리이다. '듀얼'이라는 말처럼 OS는 User mode와 Kernel mode 두 가지 모드를 두고 동작하는데 user mode ..
william stallings OS(운영체제) Chapter 1 문제풀이 1.1 컴퓨터의 네 가지 구성 요소를 나열하고 간단하게 설명하라. Processor : 컴퓨터의 동작을 제어하고 데이터를 처리한다. 처리기가 하나만 있는 경우에는 일반적으로 중앙처리장치(CPU)라고 부른다. Main memory : 데이터와 프로그램을 저장한다. 전형적으로 휘발성이기 때문에, 컴퓨터가 shutdown 될경우 메모리의 내용이 없어지게 된다. 대조적으로, 디스크 메모리의 내용은 컴퓨터가 shutdown 되더라도 유지된다. Main memory는 real memory 혹은 primary memory라고도 불린다. I/O module : 컴퓨터와 외부 환경 간의 데이터 이동을 담당한다. 외부 환경은 보조기억장치, 통신장비, 그리고 단말기를 포함한 다양한 외부 장치로 구성된다. System bus..
운영체제 공부 & 문제풀이 앞으로 이 책을 공부하면서 각 장의 복습문제를 풀고 포스팅 해보려 합니다. 개인의 답안이니 틀린 점이 있다면 지적해주시면 감사하겠습니다!!