소개글
오퍼레이팅시스템 (OS) 연습문제 풀이 (1장~6장) 입니다.
교재는 아래와 같습니다.
Silberschatz, Galvin, Gagne, "Operating System Principles", 7th edition, Wiley, 2005
풀이문제는,
1-5, 1-7, 1-8, 1-9, 1-12,
2-1, 2-2, 2-5, 2-6, 2-10, 2-11,
3-3,
4-2, 4-3, 4-4, 4-5, 4-8,
5-1, 5-2, 5-4, 5-7, 5-9,
6-8, 6-11
입니다. 모쪼록 도움이 되길 바랍니다. ^^
목차
<문제>
1-5, 1-7, 1-8, 1-9, 1-12,
2-1, 2-2, 2-5, 2-6, 2-10, 2-11,
3-3,
4-2, 4-3, 4-4, 4-5, 4-8,
5-1, 5-2, 5-4, 5-7, 5-9,
6-8, 6-11
본문내용
1.5 Distinguish between the client-server and peer-to-peer models of distributed systems.
client-server란 중앙 컴퓨터에 클라이언트(유저)들이 연결하는 방식으로 1:다 의 연결이라고 할 수 있다. 연결이 쉬운 반면 유저가 많을수록 렉이 발생하기 쉬운 단점이 있다.
Peer-to-Peer(P2P) 방식은 중앙 컴퓨터 없이 유저들끼리 동등한 동료 입장으로 연결되는 방식이며 1:1 의 연결이라 할 수 있다. 이 방식은 서버의 상태에 관계없이 연결할 수 있는 장점이 있으나 유저들 간의 연결이 어렵다는 단점이 있으므로 중계해주는 서버를 두기도 한다.
1.7 What is the purpose of interrupts? What are the differences between a trap and an interrupt? Can traps be generated intentionally by a user program? If so, for what purpose?
인터럽트는 각각의 하드웨어(I/O device)로부터 생성되어 각 프로그램들의 주소를 포함하고 있는 인터럽트 벡터를 통하여 CPU가 현재 실행중인 프로그램의 주소를 저장하고 다른 프로그램을 실행할 수 있도록 명령을 전달하는 역할을 한다. 이와는 달리 트랩은 소프트웨어로부터 생성되는 인터럽트로 에러를 처리하거나 유저의 요구에 의해 의도적으로 생성될 수 있다.
1.8 Direct memory access is used for high-speed I/O devices in order to avoid increasing the CPU`s execution load.
a. How does the CPU interface with the device to coordinate the transfer?
CPU가 DMA 실행을 지시하면 데이터들이 CPU를 거치지 않고 I/O device에서 바로 메모리로 전송되며 그 동안 CPU는 다른 작업을 수행할 수 있다.
b. How does the CPU know when the memory operations are complete?
I/O device에서 CPU로 byte 당이 아니라 데이터 블럭 당 1개의 인터럽트를 생성함으로서 CPU가 전송을 통제할 수 있도록 한다.
참고 자료
Silberschatz, Galvin, Gagne, "Operating System Principles", 7th edition, Wiley, 2005