연습문제
-
운영체제 6장 연습문제 풀이운영체제 2021. 11. 10. 22:36
1. 다음 중 가장 바람직한 스케줄링 정책은? ① 프로세서 이용률을 줄이고 반환시간을 늘린다. ② 대기시간을 줄이고 반환시간을 늘린다. ③ 응답시간과 반환시간을 줄인다. ④ 반환시간과 처리율을 늘린다. 답 : ③ 응답시간과 반환시간을 줄인다. ? : 스케줄링은 시스템의 성능을 향상시키는데, 자원 할당의 공정성 보장, 단위시간당 처리량 최대화, 적절한 반환시간 보장, 오버헤드 최소화, 자원 사용의 균형 유지, 반환시간과 자원의 활용 간에 균형 유지, 실행 대기 방지 등의 목적으로 사용한다. ① 프로세서 이용률을 늘리고, 반환시간을 줄여야 한다. ② 대기시간과 반환시간 모두 줄여야 한다. ④ 반환시간은 줄이고, 처리율을 늘려야 한다. 2. 프로세서 스케줄링 특성 중 대화형 시스템에서 가장 중요한 인자로 사용..
-
C++ 연습문제 9.2C++ 2021. 10. 30. 23:42
시간으 나타내는 Time 클래스를 만들어 보자. Time 클래스에는 시(int hour_), 분(int minute_), 초(int second_)를 나타내는 멤버 변수를 포함하고 있다. 다음 main 함수와 실행 결과를 참고하여 두 객체 사이의 + 연산이 가능하도록 만들어 보라. main.cpp : #include #include "time.h" using namespace std; int main() { Time time1(4, 50, 40); Time time2(3, 40, 30); Time time3 = time1 + time2; time1.Print(); time2.Print(); time3.Print(); return 0; } 내 코드(time.h) : #include using namespa..
-
C++ 연습문제 8.5C++ 2021. 10. 30. 22:59
Array 클래스는 임의 개수의 int형 원소를 저장할 수 있는 클래스이다. 이르르 위해 배열을 가리키는 포인터 변수(int *ary_)와 원소의 개수를 의미하는 int형 변수(int cnt_)를 멤버 변수로 가지고 있다. 다음 main 함수와 실행 화면을 참고하여 Array 클래스를 작성해보라. 단, 객체 소멸 시 소멸자를 통해 해당 객체를 위해 동적으로 생성한 메모리를 해제해야만 한다. main.cpp : #include #include "Array.h" using namespace std; int main() { Array ary1(5); Array ary2(7); Array ary3(ary1); ary2.Set(0, 11).Set(1, 12).Set(2, 13); ary1.Print(); ary2..
-
자료구조 5장 연습문제 풀이자료구조 2021. 10. 21. 22:13
1. 8개의 원소가 있는 선형 리스트에서 3번 자리에 새로운 원소를 삽입하려면 몇 개의 원소를 이동해야 하는가? 답 : 5 ? : (마지막 원소의 인덱스 - 삽입할 자리의 인덱스) + 1 = (7 - 3) + 1 = 5 2. 선형 리스트 A를 2차원 배열 A[5][3]으로 표현했을 때, A[3][1] 원소는 몇 번째 원소인가? 행 우선 순서 방법과 열 우선 순서 방법에 따라 각각 구하시오. 답 : 행 우선 순서 방법 = 10 / 열 우선 순서 방법 = 8 ? : 2차원 배열 A[ni][nj]일 때 행 우선 순서 방법 = i x nj + j / 열 우선 순서 방법 = j x ni x i A[3][1] = 3 x 3 + 1 = 10 / 1 x 5 + 3 = 8 3. 시작위치가 100번지이고 원소의 길이가 5..
-
자료구조 2장 연습문제 풀이자료구조 2021. 10. 21. 21:09
1. 소프트웨어 생명주기와 각 단계를 시스템 예를 들어 설명하시오. 답 : 소프트웨어 생명주기의 단계는 다음과 같다. 요구 분석 → 시스템 명세 → 설계 → 구현 → 테스트 → 유지 보수 요구 분석 단계에서는 개발해야 할 소프트웨어의 성격을 정확히 이해하고 개발 방법과 필요한 자원과 예산을 예측해야 한다. 시스템 명세 단계에서는 시스템 기능 명세서를 작성하여 소프트웨어의 입력 데이터는 무엇이며, 입력 데이터로 처리하는 내용과 그 결과 생성되는 출력이 무엇인지 정의해야 한다. 이때 기능 명세서는 개발 과정에서 의견 차이나 오류로 인해 재개발 작업이나 사용자 불만이 발생하지 않도록 가능한 정확하게 작성되어야 한다. 설계 단계에서는 개발 목표 기능을 어떻게 해결할 것인지를 구체적으로 정의해야 한다. 구현 단계..
-
운영체제 5장 연습문제 풀이운영체제 2021. 10. 19. 02:46
1. 프로세스가 자원을 사용하는 정상적인 작동 순서는? ① 요청 - 사용 - 해제 ② 요청 - 해제 - 사용 ③ 사용 - 요청 - 해제 ④ 해제 - 요청 - 사용 답 : ① 요청 - 사용 - 해제 ? : 프로세스는 자원 요청 - 자원 사용 - 자원 해제 순서로 자원을 사용한다. 2. 공유 자원을 어느 시점에서 프로세스 하나에만 사용할 수 있도록 하며, 다른 프로세스가 공유 자원에 접근하지 못하도록 막는 것은? ① mutual exclusion ② critical section ③ deadlock ④ scatter loading 답 : ① mutual exclusion ? : 상호배제에 대한 설명이다. 3. 교착 상태는 하나 이상의 프로세스가 더 이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태를..
-
운영체제 4장 연습문제 풀이운영체제 2021. 10. 19. 01:13
1. 병행 프로세스들의 고려 사항이 아닌 것은? ① 공유 자원을 상호 배타적으로 사용해야 한다. ② 병행 프로세스 사이는 협력이나 동기화가 되어야 한다. ③ 병행 프로세스들은 프로그래머가 외부적으로 스케줄링할 수 없도록 한다. ④ 교착 상태를 해결해야 하고, 병행 프로세스들의 병렬 처리도를 극대화해야 한다. 답 : ③ 병행 프로세스들은 프로그래머가 외부적으로 스케줄링할 수 없도록 한다. ? : 다중 처리 시스템에서는 프로세서들이 모든 입출력장치와 메모리를 참조할 수 있다. 2. 한 프로세스가 공유 메모리나 공유 파일을 사용할 때 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 방법은? ① deadlock ② mutual exclusion ③ interrupt ④ critical section 답 : ..
-
운영체제 3장 연습문제 풀이운영체제 2021. 10. 18. 23:38
1. 프로세스를 바르게 설명한 것끼리 나열한 것은? ㉠ 실행 가능한 PCB가 있는 프로그램 ㉡ 프로세서가 할당하는 개체로 디스패치가 가능한 단위 ㉢ 목적 또는 결과에 따라 발생하는 사건들의 과정 ㉣ 동기적 행위를 일으키는 주체 ① ㉠, ㉡, ㉢ ② ㉠, ㉡, ㉣ ③ ㉠, ㉢, ㉣ ④ ㉡, ㉢, ㉣ 답 : ① ㉠, ㉡, ㉢ ? : 프로세스는 비동기적 행위를 일으키는 주체이다. 2. 프로세스 제어 블록을 가지고, 현재 실행 중이거나 곧 실행 가능하고, 프로세서를 할당받을 수 있는 프로그램으로 정의할 수 있는 것은? ① 작업 집합 ② 세그먼테이션 ③ 모니터 ④ 프로세스 답 : ④ 프로세스 ? : 문제는 프로세스에 대한 설명이다. 3. 프로세스의 정의로 적당하지 않은 것은? ① 하드웨어로 사용하는 입출력장치 ②..