1. 통신 방식 중 동기화를 지원하는 단방향 통신 방식은?
- 공유 메모리 : 단방향 통신, 비동기화통신
- 파이프 : 단방향 통신, 동기화 통신
- 공유 파일 : 단방향 통신, 비동기화 통신
- 소켓 : 양방향 통신, 동기화 통신
- 통신 구현 방식에 따라 동기화/비동기화(바쁜대기) 통신 구분
- 통신 방향에 따라 단방향, 반양방향, 양방향
2. 통신 방식 중 다른 컴퓨터에 있는 프로세스 간 통신에 사용하는 방식은
3. 통신 기기 중 반양방향 통신에 해당하는 것은?
4. 파일 관련 함수에서 파일에 접근할 수 있는 권한을 주는 함수는?
- open() : open() 함수를 이용하여 사용하고자하는 파일이 있는지, 있다면 읽기/쓰기 권한을 return 한다.
5. 파일 관련 함수에서 파일에 접근할 수 있는 권한을 돌려주는 함수는?
6. 인터넷에서 하나의 포트를 여러 프로세스가 공유할 수 있도록 만든 장치는?
- 소켓 : 하나의 클라이언트는 멀티 소켓에 하나씩 연결된다.
7. 소켓 관련 함수에서 데이터를 보내는 함수는?
8. 2개 이상의 프로세스가 공유 자원을 병행해서 읽거나 쓰는 상황을 가리키는 단어는?
9. 2개 이상의 프로세스가 동시에 접근해서는 안되는 공유 영역을 가리키는 단어는?
10. 임계구역을 보호하기 위해 사용하는 가장 기본적인 방법은?
11. 임계구역을 보호하기 위한 세가지 조건 중 임계구역에는 하나의 프로세스만 들어가야한다는 조건은?
12. 임계구역을 보호하기 위한 세가지 조건 중 임계 구역에는 하나의 프로세스만 들어가야 한다는 조건은?
- 3가지 조건 : 상호 배제, 한정 대기, 진행의 융통성
- 상호배제 : 임계구역에는 하나의 프로세스만 들어갈 수 있다.
13. 임계구역을 보호하기 위한 세가지 조건 중 스레드가 다른 프로세스의 진행을 방해하면 안된다는 조건은?
14. 임계구역을 보호하기 위한 세가지 조건 중 무한히 기다리는 프로세스가 있어서는 안된다는 조건은?
15. 임계구역을 보호하기 위해 하드웨어의 도움을 받아 실행되는 코드를 가리키는 것은?
- 검사와 지정 : 바쁜 대기를 사용하여 검사하기 때문에 자원낭비 발생
16. 임계구역 보호 도구 중 P() 와 V()를 사용하고 여러 자원에 적용 가능한 것은?
17. 임계구역 보호 도구 중 공유 자원을 숨기고 접근하기 위한 인터페이스를 제공하여 자원을 보호하고 동기화를 처리하는 방식은?
18. 세마포어에서 내부 변수를 RS라 했을 때 Semaphore(n)의 내부 코드에 가장 가까운 것은?
1. RS = n;
2. n = RS;
3. RS = RS + n;
4. n = RS + n;
19. 세마포어에서 2개의 공유 자원에 대해 3개의 스레드가 작업하는 경우 올바른 초기화 함수는?
20. 공유 메모리나 공유 파일, 파이프, 소켓을 이용한 통신 중에서 동기화를 지원하며 하나의 부모-자식 프로세스 간 통신에 사용하는 단방향 통신 방식은 ( ) 다.
21. 공유 메모리나 공유 파일, 파이프, 소텟을 이용한 통신 중에서 동기화를 지원하지 않는 통신 방식은 ( )다.
22. ( )는 대표적인 단방향 통신 기기다.
23. ( )는 대표적인 양단방향 통신 기기다.
24. ( ) 함수는 파일에 접근할 수 있는 권한을 준다.
25. ( ) 함수는 파일에 접근할 수 있는 권한을 돌려준다.
26. ( ) 함수는 데이터를 보낼 때 사용한다.
27. 파이프 관련 함수에서 ( )는 데이터를 받을 때 사용한다.
28. ( )란 인터넷에서 하나의 컴퓨터 내에 있는 서로 다른 프로세스를 구분하기 위해 사용하는 주소다.
29. 소켓 관련 함수에서 ( ) 는 데이터를 읽어오는 함수다.
30. ( )은 2개 이상의 작업이 동시에 접근해서는 안 되는 공유 영역이다.
31. ( )는 프로세스가 임계구역을 사용한 후에 다른 프로세스에 임계구역을 사용하라고 알리는 것을 말한다.
32. ( )은 임계구역을 보호하기 위해서 사용하는 가장 기본적인 방법이다.
33. 임계구역을 보호하기 위한 세 가지 조건은 ( )이다.
34. 임계 구역을 보호하기 위한 세 가지 조건 중 ( )는 임계구역 하나의 하나의 프로세스만 들어가야 한다는 것이다.
35. 임계구역을 보호하기 위한 세 가지 조건 중 ( )은 경직된 동기화와 가장 관련이 높다.
- 경직된 동기화 : 프로세스의 작업이 다른 프로세스로 인해 방해받는 현상을 말한다.
- 진행의 융통성
36. 임계구역을 보호하기 위한 세 가지 조건 중 ( )는 무한히 기다리는 프로세스가 있어서는 안된다는 것이다.
37. ( )은 하드웨어 도움을 받아 임계구역을 보호하는 코드다.
38. 임계구역 보호 도구중 ( )는 P()와 V()를 사용하고 여러 자원에 대하여 적용이 가능하다.
39. 임계구역 보호 도구 중 ( )는 lock과 unlock, 동기화를 자동으로 처리하는 방식이다.
40. 세마포어에서 2개의 공유 자원에 대해 3개의 프로세스가 작업하는 경우에 올바른 초기화 함수는 ( )다.
41. 프로세스 간 통신에 대하여 간략히 설명하시오,.
- 각 프로세스는 독립적으로 진행된다. 각 프로세스가 데이터를 주고받아야하는 경우 프로세스 간 통신을 진행해야한다. 프로세스 간 통신 방법으로는 공유 파일, 공유메모리 통신 방법과 파이프 통신 방법, 그리고 소켓 통신 방법이 있다. 각 프로세스 방법은 통신 방향과 통신 구현 방식에 차이가 있다.
- 공유 파일, 공유 메모리 통신 방법은 단방향으로 진행되고 비동기 방식으로 구현된다.
- 파이프 통신 방법은 단방향으로 진행되고 동기 방식으로 구현된다.
- 소켓 통신 방법은 양방향으로 진행되고 동기 방식으로 구현된다.
42. 임계 구역과 임계구역 문제를 해결하기 위한 세 가지 조건에 대하여 설명하시오.
- 임계 구역은 공유되는 자원으로 한 번에 두개 이상의 프로세스가 접근하여 작업을 하면 안돼는 구역을 말한다.
- 임계구역 문제를 해결하기 위해서는 상호 배제, 한정 대기, 진행의 융통성 조건을 만족해야한다.
43. 임계구역 문제를 해결하기 위한 다음 코드의 문제점을 지적하고 무엇이 위반되는지 설명하시오.
- lock의 변수를 바꿔주지 못하고 타임슬라이스가 끝나는 경우 다른 프로세스는 실행되지 못하고 무한 대기를 할수 있는 상황이 생길 수 있다. 이 경우 한정 대기 조건을 만족하지 못한다.
44. 세마 포어 내부 코드에 대하여 설명하시오.
- 세마 포어는 사용가능한 공유 자원의 개수로 초기화를 진행한다.
- 프로세스가 공유 자원을 사용하고자 할때, 사용 가능한 공유 자원이 있는 경우 프로세스는 공유 자원을 사용할 수 있다.
- P()를 통해 사용 가능한 공유 자원이 있는 경우 공유 자원의 개수를 -1 한 후 작업을 진행하고, 사용 가능한 공유 자원이 없는 경우 세마포어 대기큐로 프로세스가 이동된다.
- 작업을 진행하고 작업을 마친 후 공유 자원의 개수를 다시 +1 한다.
- V()를 통해 세마포어 대기 큐에 있는 대기중인 프로세스에게 동기화 신호를 보내서 대기중인 프로세스가 작업을 진행할 수 있도록 한다.
45. 모니터의 탄생 배경과 특징을 설명하시오.
- 세마포어는 사용자가 직접 초기화 작업과 P(), V() 함수를 호출해야한다. 사용자 실수 또는 고의로 인해 임계 구역을 보호하지 못하는 경우가 생길 수 있다. 이를 해결하기 위해 공유 자원 및 임계 구역을 내부로 숨겨 사용자가 직접 사용하지 못하도록 자원을 보호하고 사용하기 위한 인터페이스를 제공하면서 자원을 보호하고 사용자가 편하게 자원을 사용할 수 있도록 하기위해 모니터가 탄생했다.
- 공유자원 및 임계구역에 직접적으로 접근할 수 없고 인터페이스를 통해만 접근할 수 있는 점을 보면 운영체제의 시스템 호출과 비슷한 특징을 가진다.