728x90
728x170
문 제 1. a, b, c, d
문 제 2.
유저모드 동기화는 커널모드로의 전환을 수반하지 않는다. 즉, 운영체제 레벨에서 제공되는 기능의 동기화가 아니다. ( o )
커널모드 동기화는 운영체제를 통해서 제공되는 기능이므로, 유저모드 동기화에 비해서 많은 기능을 제공한다. ( o )
커널모드 동기화 과정에서는 유저모드에서 커널모드로, 다시 커널모드에서 유저모드로의 전환과정이 수반된다는 단점이 있다. ( o )
특별한 경우가 아니면 커널모드 동기화를 사용하는 것이 원칙이다. 유저모드 동기화는 커널모드 동기화가 제공되기 이전의 동기화 기법이다. ( x )
문 제 3.
scanf 함수의 호출과 같이 일정시간 이상 대기상태에 놓일 수 있는 함수의 호출은 가급적이면 임계영역에 포함시키지 말아야 한다. 따라서 예제 SyncSema_win.c의 Read 함수는 다음과 같이 정의하는 것이 옳다.
unsigned WINAPI Read(void * arg)
{
int i, rdData;
for(i=0; i<5; i++)
{
fputs("Input num: ", stdout);
scanf("%d", &rdData);
WaitForSingleObject(semTwo, INFINITE);
num=rdData;
ReleaseSemaphore(semOne, 1, NULL);
}
return 0;
}
728x90
그리드형
'IT > 데이터베이스_네트워크' 카테고리의 다른 글
윤성우의 열혈 tcp/ip 소켓 프로그래밍 22장 연습문제 솔루션 (0) | 2021.05.24 |
---|---|
윤성우의 열혈 tcp/ip 소켓 프로그래밍 21장 연습문제 솔루션 (0) | 2021.05.24 |
윤성우의 열혈 tcp/ip 소켓 프로그래밍 19장 연습문제 솔루션 (0) | 2021.05.24 |
윤성우의 열혈 tcp/ip 소켓 프로그래밍 18장 연습문제 솔루션 (0) | 2021.05.24 |
윤성우의 열혈 tcp/ip 소켓 프로그래밍 16장, 17장 연습문제 솔루션 (0) | 2021.05.24 |
댓글