요구사항이 비슷한 여러 개의 작업을 모아서 한꺼번에 처리하는 방식으로 한 번에 하나의 프로그램만 실행
2
New cards
다중처리 시스템
CPU를 여러 개 두고 업무를 분담하여 처리
3
New cards
링커의 기능
목적프로그램과 라이브러리, 실행 프로그램 등을 연결하여 실행 가능한 로드 모듈을 만든다
4
New cards
시분할 시스템
시한성을 갖는 자료가 발생할 때마다 즉시 처리하여 결과를 출력하거나, 요구에 응답하는 방식
5
New cards
운영체제의 기능
자원의 스케줄링 기능을 제공 / 자원보호 기능을 제공 / 사용자와 시스템 간의 편리한 인터페이스 제공 / 사용자들 간에 데이터 공유
6
New cards
UNIX에서 사용자 인터페이스를 제공하며, 명령어 해석기라고도 일컬어지는 것은?
Shell
7
New cards
분산 시스템
네트워크상에 분산된 여러 컴퓨터로 작업을 처리하고 그 결과를 상호 교환하도록 구성한 것
8
New cards
커널이 하는 일
프로세스 관리 / 메모리 관리 / 파일 시스템 관리 / 입출력 관리 / 프로세스 간 통신 관리
9
New cards
운영체제의 목적
처리 능력 향상 / 반환 시간의 최소화 / 사용 가능도 증대 / 신뢰도 향상
10
New cards
Time Sharing System
CPU의 시간을 각 사용자에게 균등하게 분할하여 사용하는 체제로서 모든 컴퓨터 사용자에게 똑같은 서비스를 하는 것을 목표로 하고 있다. CPU의 전체 사용 시간을 작은 작업 시간량(time slice)으로 나누어서 그 시간량 동안만 번갈아 가면서 CPU를 할당하여 각 작업을 처리한다
11
New cards
Real-time processing system
비행기 제어, 교통 제어, 레이더 추적 등 정해진 시간에 반드시 수행되어야 하는 작업들이 존재할 때, 실시간으로 처리하는 방식
12
New cards
Batch processing system
모아서 처리
13
New cards
Distributed processing system
분산 처리
14
New cards
많은 원격 접근들은 캐싱이 사용될 때 지역 캐쉬에 의해서 효율적으로 처리될 수 있
15
New cards
다.
O
16
New cards
캐쉬-일관성 문제는 캐싱의 가장 큰 결점이다.
O (어떻게 처리할 지가 가장 큰 문제)
17
New cards
캐쉬-일관성 문제는 쓰기 접근 빈도가 많은 접근형태에서 캐싱이 우수하다.
x (쓰기 접근 빈도가 적을 수록 캐싱이 우수해 비슷하게 유지되기 때문)
18
New cards
스풀링
스풀 공간으로 보조기억장치의 일부를 사용하며, 소프트웨어적인 기법
19
New cards
스풀링은 여러 작업의 입출력과 계산을 동시에 수행할 수 있다.
O (입력 + 기법)
20
New cards
스풀링은 제한된 수의 입출력 장치 사용으로 인한 입출력 작업의 지연을 유도한다.
X (작업의 지연을 방지함)
21
New cards
스풀링은 저속의 입출력 장치에서 읽어온 자료를 우선 중간의 저장장치에 저장하는 방식이다.
O
22
New cards
프로세스
PCB를 갖고 있으며, 현재 실행 중 이거나 곧 실행 가능하며, CPU를 할당받을 수 있는 프로그램
23
New cards
프로그램 실행을 위해 메모리에 올라온 동적인 상태를 나타내는 것은?
프로세스
24
New cards
프로세스의 정의
PCB를 가진 프로그램 / 비동기적 행위를 일으키는 주체 / 프로세서가 할당하는 실체 / 활동 중인 프로시저(Procedure)
25
New cards
Request는 프로세스 상태의 종류에 해당한다.
X (프로세스의 상태에는 생성 / 준비 / 실행 / 대기 / 완료로 구성되어 있다.)
26
New cards
PCB에 수록된 것은 무엇일까?
프로세스의 현재 상태 / 프로세스 식별자 / 프로세스의 우선순위 / CPU 레지스터 정보
27
New cards
운영체제가 프로세스 관리를 위해 필요한 정보를 PCB에 수록한다.
O (PCB는 프로세스를 실행하는데 필요한 정보를 보관하는 자료구조이다)
28
New cards
프로세스가 생성될 때마다 해당 PCB가 생성되며, 프로세스가 소멸 되어도 PCB는 소멸되지 않는다.
X (프로세스가 생성될 때마다 해당 PCB[프로세스 제어 블록]가 생성되며 프로세스가 소멸되면 PCB도 소멸된다)
29
New cards
프로세스 + PCB
프로세스
30
New cards
프로세스 - PCB
프로그램
31
New cards
프로세스가 CPU를 점유하고 있는 상태(프로그램이 메모리에 올라와 프로세스가 된 상태)
실행 상태
32
New cards
준비 상태
생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태
33
New cards
실행 상태
준비 상태에 있는 프로세스 중 하나가 CPU를 얻어 실제 작업을 수행하는 상태
34
New cards
주어진 시간을 다 사용하고도 작업이 끝나지 않았다면 프로세스는 실행 상태에서 00 상태로 돌아가 다음 차례를 기다린다.
준비
35
New cards
대기 상태
실행 상태에 있는 프로세스가 입출력(I/O)을 요청하면 입출력이 완료될 때까지 기다리는 상태
36
New cards
입출력이 완료되어 인터럽트가 발생하면 대기 상태에 있던 프로세스는 00 상태로 옮겨진다.
준비
37
New cards
완료 상태
프로세스가 작업을 끝낸 상태
38
New cards
완료 상태에서는 사용하던 자원들을 반납하지만, 메모리에서 지워지지 않으며 해당 PCB도 삭제되지 않는다.
X (완료 상태에서는 자원 반납과 메모리와 PCB 모두 삭제된다)
39
New cards
fork()
UNIX의 시스템 콜(call) 중에서 새로운 프로세스를 생성시키는데 사용하며 다중 인스턴스를 만든다
40
New cards
fork()를 통해 만들어진 자식 프로세스가 어떤 함수를 사용하여 작업 종료를 알릴까?
exit(), return을 사용
41
New cards
부모 프로세스가 자식을 기다리는 함수에 해당하는 것은?
wait() 함수
42
New cards
exec()
프로세스는 그대로 놔둔 채 코드를 바꾸는 함수이다
43
New cards
하나의 스레드는 프로세스이다. 이때 사용할 수 있는 다른 말은 무엇일까?
상태를 줄인 경량 프로세스
44
New cards
프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신한다.
O (접근과 통신을 같이 진행한다)
45
New cards
스레드를 사용하면 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.
O (서로 공유를 하기 때문에 효율이 증대된다)
46
New cards
하나의 프로세스에는 하나의 스레드만 존재하여 독립성을 보장한다.
X (하나만 사용하려면, 프로세스만 쓰면 된다. 하나의 스레드 \= 프로세스이기 때문)
47
New cards
CPU 스케줄러
프로세스가 해야 할 일을 CPU에 전달하며 실제 작업은 CPU가 수행한다
48
New cards
스레드
CPU스케줄러가 CPU에 전달하는 실행 단위이며 프로세스의 코드에 정의된 절차에 따라 CPU에 작업을 요청한다
49
New cards
프로세스 제어 블록이 만들어지는 곳은 어디인가?
커널 영역
50
New cards
문맥 교환
두 프로세스의 PCB를 교환하고 작업 환경을 바꾸는 작업
51
New cards
멀티스레드의 장점
스레드끼리 자원을 공유하면서도 동시에 여러 작업을 처리할 수 있기 때문에 낭비 요소를 최소화할 수 있다
52
New cards
스레드의 문맥 교환 시간이 프로세스 문맥 교환 시간보다 짧기 때문에 효율성이 높아지는 스레드는 무엇인가?
멀티스레드
53
New cards
하나의 스레드로 구성된 프로세스는 입출력 작업이 이루어지는 동안에는 대기 상태에 머물게 되어 응답성이 떨어진다.
O
54
New cards
작업을 여러 개의 스레드로 나누면 입출력을 요청한 스레드만 대기 상태에 머물고, 다른 스레드는 실행 상태에서 작업할 수 있기 때문에 응답성이 높아진다.
O
55
New cards
다중 코어를 지원하는 CPU에서 멀티스레드를 사용한다면 여러 개의 코어에 스레드를 나눠줄 수 있으므로 000이 좋아진다.
적응성
56
New cards
시스템 내의 전체 작업 수를 조절하는 것으로 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수를 결정한다.
고수준 스케줄링
57
New cards
고수준 스케줄링에 의해 실행이 결정된 프로세스의 수를 조절하여 시스템의 과부하를 막는다.
중간 수준 스케줄링
58
New cards
활성화된 프로세스들의 실제 진행을 담당한다.
저수준 스케줄링
59
New cards
우선순위가 높은 프로세스에 해당하는 것은?
커널 프로세스, 전면 프로세스, 대화형 프로세스, 입출력 집중 프로세스
60
New cards
우선순위가 낮은 프로세스에 해당하는 것은?
사용자 프로세스, 후면 프로세스, 일괄 작업 프로세스, CPU 집중 프로세스
61
New cards
사이클 훔치기
느린 입출력 프로세스에 CPU의 작업을 양보함으로써 시스템의 효율성이 향상되는 것
62
New cards
비선점형 스케줄링
어떤 프로세스가 CPU를 점유하면 작업을 완료할 때까지 다른 프로세스가 CPU를 뺏을 수 없는 스케줄링 방식
63
New cards
(과거의 일괄 작업 시스템에서 사용)
64
New cards
선점형 스케줄링
어떤 프로세스가 CPU를 할당받아 실행 중이더라도 스케줄러가 CPU를 강제로 뺏을 수 있는 스케줄링 방식
65
New cards
(대화형 시스템, 시분할 시스템에 적합)
66
New cards
선점형 스케줄링은 문맥 교환 같은 부가적인 작업으로 인해 낭비가 생긴다.
O (선점형 스케줄링의 큰 단점)
67
New cards
하나의 프로세스가 CPU를 독점할 수 없기 때문에 빠른 응답 시간을 요구하는 스케줄링은 무엇인가?
선점형 스케줄링
68
New cards
스케줄링 알고리즘의 종류
선입선출(FCFS) / 최단 작업 우선(SJF) / 최고 응답률 우선(HRN) / 라운드 로빈(RR) / 최소 잔류 시간 우선(SRT) / 우선순위 / 다단계 큐(MLQ) / 다단계 피드백 큐(MLFQ)
69
New cards
선입선출(FCFS)
먼저 들어온 작업에 먼저 CPU를 할당한다. 가장 단순한 선점형 알고리즘
70
New cards
최단 작업 우선(SJF)
실행 시간이 짧은 작업부터 CPU를 할당한다. 이 방식의 경우 작업 시간이 긴 프로세스가 계속 뒤로 밀리면서 아사(starvation)현상이 발생
71
New cards
최단 작업 우선 스케줄링 알고리즘에서 아사 현상의 완화 방법은 무엇인가?
나이 먹기(aging) / 완화가 되나 여전히 공평성을 위배하고 있다.
72
New cards
최고 응답률 우선(HRN)
알고리즘 작업 시간과 기다린 시간을 혼합하여 CPU를 할당한다. 아사 현상을 해결하기 위해 만든 비선점형 알고리즘
73
New cards
라운드 로빈(RR)
선점형 알고리즘 중 우선순위가 적용되지 않는 가장 단순하고 대표적인 알고리즘
74
New cards
최소 잔류 시간 우선(SRT)
CPU를 할당받을 프로세스를 선택할 때 남아 있는 작업 시간이 가장 적은 프로세스를 선택하는 알고리즘
75
New cards
우선순위
우선순위가 높은 프로세스부터 CPU를 할당한다. 선점형과 비선점형 방식에 모두 적용할 수 있는 알고리즘
76
New cards
다단계 큐(MLQ)
우선순위에 따라 여러 개의 큐를 사용하는 알고리즘 중 고정 우선순위 방식
77
New cards
다단계 피드백 큐(MLFQ)
우선순위에 따라 여러 개의 큐를 사용하고 한 번 CPU를 잡은 프로세스의 우선순위를 떨어뜨린다. 각 큐의 타임 슬라이스 크기가 다른 변동 우선순위 알고리즘
78
New cards
운영체제의 목표
효율성, 안정성, 확장성, 편리성 강화
79
New cards
커널
운영체제의 핵심이 되는 기능들이 모여있는 컴퓨터 프로그램으로 컴퓨터 자원을 사용할 수 있도록 다양한 (시스템) 함수를 제공
80
New cards
사용자 인터페이스
커널에 명령을 내리고 그 결과를 알려주는 것
81
New cards
디바이스 드라이버
커널과 하드웨어의 인터페이스
82
New cards
운영체제 작업 방식의 발전
일괄 작업시스템 -\> 대화형 시스템 -\> 시분할 시스템 -\> 다중 사용자 시스템
83
New cards
클라우드 시스템
언제 어디서나 컴퓨팅 파워와 소프트웨어에 접근할 수 있는 유연한 컴퓨터 환경을 제공
84
New cards
시스템 호출
사용자가 자발적으로 커널에 진입할 수 있는 유일한 방법
85
New cards
API
응용 프로그램이 자신과 연관된 프로그램을 만들 수 있도록 제공하는 인터페이스
86
New cards
SDK
프로그램 개발자를 위해 API, 코드 편집기, 에뮬레이터 같은 각종 개발용 응용 프로그램까지 하나로 묶어서 배포하는 개발 툴
87
New cards
커널의 종류
단일형 구조 커널 / 계층형 구조 커널 / 마이크로 구조 커널
88
New cards
단일형 구조 커널
핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성된 커널
89
New cards
계층형 구조 커널
비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고, 계층 간의 통신을 통해 운영체제를 구현하는 방식의 커널