
파란색은 개인적으로 작성한 풀이이고, 빨간색 채점과는 관련이 없습니다. 젓가락과 숟가락이 하나씩만 있는 식탁에서 두 사람이 식사를 한다고 하자. 숟가락과 젓가락을 동식에 들어야 한 입 식자가 가능하며, 숟가락이든 젓가락이든 한 번에 하나 씩 들어야 한다. 한 개만 가진 사람은 나머지 한 개가 준비될 때까지 기다려야 한다. 한 입 식사 후 들고 있던 숟가락과 젓가락은 모두 내려놓으며, 둘은 대화할 수 없다고 할 때, 두 사람이 식사하는 동안 교착 상태가 발생하는 상황을 사례를 들어 설명하라.A와 B는 식사를 반복적으로 진행한다. 그러다 A와 B는 동시에 각 각 숟가락과 젓가락을 들게 되는데, 그 순간 A와 B는 갖지 못한 두 수저를 기다리게 된다. 단 조건 상 자신이 가진 수저는 놓을 수 없기에 무한히..
여러 스레드가 공유 변수를 접근하려고 경쟁할 때 공유 변수의 값이 훼손되는 상황이 발생할 수 있다. 공유 변수가 훼손되지 않도록 스레드 사이에 공유 변수에 대한 접근 시간과 방법 등을 조절하는 기법을 무엇이라고 하는가? ① 멀티스레드가 동시에 공유 데이터를 접근할 때 공유 데이터가 훼손되지 않도록 막는 기법의 핵심 정책은 무엇인가? ①다음은 무엇에 대한 정의인가?다수의 스레드로부터 공유 데이터의 훼손을 막기 위해 임계구역이 오직 한 스레드만 배타적 독점적으로 사용하도록 관리하는 기술 ①원자명령(atomic instruction)이란? ①Test and Set Lock 혹은 TSL 명령에 대한 설명이 틀린 것은? ④다음 원자명령에 대한 설명으로 옳은 것은? ④원자명령과 가장 거리가 먼 것은? ④임계구역에 ..

컴퓨터프로그래밍 9주 Quiz(문제 1) 두 정수 x, y를 입력받고 두 수중에 큰 수를 작은 수로 나눈 몫과 나머지를 출력하는 프로그램을 완성하시오.(1) 화면 Capture(2) 프로그램 소스코드#define _CRT_SECURE_NO_WARNINGS#include int main(){ int x, y; printf("1번 학번 이름\n"); while (1) { // 그대로 두면 계속 테스트 할 수 있음 그대로. 이용할 것 scanf("%d %d", &x, &y); // 큰 수를 작은 수로 나눈 몫과 나머지 출력 if(x>y) printf("몫:%d 나머지:%d\n", x / y, x % y); else ..
다음 빈 칸에 적절한 단어를 삽입하라프로그램의 실행 과정은 두 가지 상황이 번갈아 진행되는데, 그것은 한동안 CPU 연산이 계속되는 cpu burst 상황과, I/O 작업이 이루어지는 I/O burst 상황이다. CPU 연산이 주를 이룰 때 CPU 집중 프로세스라고 부르고 I/O 작업이 주를 이룰 때 I/O 집중 프로세스라고 한다. CPU 스케줄링은 CPU의 idle 시간을 줄이기 위해 도입되었다.CPU 스케줄링 알고리즘을 평가하는 기준과 거리가 먼 것은?② 동시성해설: 동시성(Concurrency)는 스레드 동시성의 개념이다. (p.204)CPU 스케줄링의 평가 기준 사이의 관계를 잘못 설명한 것은?③ 시스템 정책 우선으로 스케줄링하면 CPU 활용률은 높아진다.해설: 모르겠음CPU 스케줄링이 행해지는 ..
스레드가 도입된 배경으로 프로세스의 문제점을 잘못 설명한 것은?④ 프로세스 스케줄링의 복잡성을 줄이려 했다.해설: p.192프로세스와 스레드의 관계에 대한 설명으로 틀린 것을?③ 프로세스는 자신에게 속한 모든 스레드의 부모이다.해설: 프로세스는 자신에게 속한 모든 스레드의 컨테이너이다. 자신에게 속한 스레드의 부모는 메인 스레드이다.멀티태스킹 프로그램을 작성하는데 있어서 각 태스크를 프로세스로 만드는 것과 스레드로 만드는 방법 중 스레드로 만드는 방법이 유리한 이유로 맞는 것은?② 프로세스들은 주소 공간이 완전히 분히되어 있어 공유 공간을 만들기 위해 운영체제의 도움을 받아야 하지만, 멀티스레드를 이용하는 경우 프로세스 내에 공유 변수 등을 통해 쉽게 통신할 수 있기 때문이다.해설:① 프로세..
일반 학생이 푼 문제로 정답이 아닐 수 있습니다.(명품 운영체제 수정판)개념체크다음 글에서 프로세스와 프로그램 중에서 선택하라.프로그램은(는) 컴파일되어 실행 가능한 형태로 저장 장치에 저장된 상태일 때 부르는 용어이며, 프로세스은(는) 메모리에 적재되어 실행 중인 상태일 때 부르는 용어이다.프로세스의 특징을 설명한 것 중 맞는 것은?④ 프로세스를 스케줄링 하는 것은 커널의 기능이다.해석:① pid는 같은 번호를 가질 수 없다.② 프로세스간 데이터 공간은 공유되지 않는다.③ 프로세스 실행 및 대기, 종료와 관련된 사항은 모두 운영체제가 관리한다.프로세스에 대한 설명으로 틀린 것은① 동일한 프로그램이 실행되어 생성된 프로세스는 항상 동일한 프로세스 번호를 할당받는다.해석: 동일한 프로그램이..
일반 학생이 푼 문제로 정답이 아닐 수 있습니다. (명품 운영체제 수정판) 개념체크 컴퓨터 시스템에서 주소를 발생시킬 수 있는 하드웨어를 있는 대로 골라라? ① CPU 해설: 주소를 발생시키는 것은 CPU가 유일하며, 나머지는 발생된 주소에 대한 응답을 한다. (p.67) CPU의 주소 선이 총 24개 있다면 이 CPU가 액세스할 수 있는 메모리의 최대 크기는? ② 16MB 해설: 2^24 Byte = 2^4*2^20 Byte = 2^4 MB = 16 MB 캐시 메모리가 있는 컴퓨터에서 CPU가 실행할 명령어와 코드가 반드시 있어야 하는 곳은? ① 캐시 메모리 해설: 캐시메모리에 값이 없다면 캐시로 불러와야 한다. 없는 경우엔 캐시 미스를 발생시킨다. 다음 CPU 레지스터 속에 저장된 값의 의미는 무엇인..
일반 학생이 푼 문제로 정답이 아닐 수 있습니다. (명품 운영체제 수정판) 개념체크 운영체제의 기능과 거리가 먼 것은? ① 프로세스 스케줄링 ② 파일 입출력 ③ 사용자나 프로세스가 CPU를 사용한 시간에 대한 통계 ④ 컴파일 해설: 컴파일은 컴파일러가 한다. 운영체제의 특징과 동떨어진 내용은? ① 운영체제의 기능이 자원을 관리하는 것이지만, 운영체제가 컴퓨터의 모든 자원을 관리하지는 않는다. 해설: 운영체제는 컴퓨터의 모든 자원을 관리한다. 자원에 대한 훼손을 막고 자원을 효과적으로 공유할 수 있도록 하기 위함이다. 고정 프로그래밍 방식을 설명하는 것으로 틀린 것은? ② 해설: 고정프로그래밍 방식이 이용되던 시절에는 운영체제가 존재하지 않았다. 모바일 운영체제의 특징이 아닌 것은? ③ 해설: 모바일 운영..