본문 바로가기

전체 글

(42)
william stallings OS(운영체제) Chapter 7 문제풀이 7.1 메모리 관리가 만족시켜야 하는 요구 사항은 무엇인가? 재배치(Relocation), 보호(Protection), 공유(Sharing), 논리적 구성(Logical organization), 물리적 구성(Physical organization) 7.2 프로그램의 재배치란 무엇인가? 프로그램이 디스크로 스왑아웃되면, 다음에 다시 스왑인 되었을 때 메모리의 다른 공간으로 프로세스를 재배치 하는 것. 7.3 프로그램과 데이터를 모듈화 시킴으로써 발생되는 장점은 무엇인가? 1. 각 모듈의 작성과 컴파일은 독립적으로 이루어질 수 있으며, 서로 다른 모듈 간에 이루어지는 참조는 수행시간에 시스템에 의해 해결된다. 2. 비교적 적은 추가 비용(overhead)으로 각 모듈마다 서로 다른 보호 등급(읽기전용, 수..
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..
운영체제 공부 & 문제풀이 앞으로 이 책을 공부하면서 각 장의 복습문제를 풀고 포스팅 해보려 합니다. 개인의 답안이니 틀린 점이 있다면 지적해주시면 감사하겠습니다!!