어두운 지도를 조금씩 밝혀나가는 데에서 즐거움을 느낀다면
: 프로세서(CPU)가 처리하는 사용자 프로그램, 시스템 프로그램 등의 실행 중인 프로그램 (작업, 태스크)
- 프로세스의 다양한 정의
※ 프로시저
: 한 프로그램을 분할한 작은 단위의 프로그램 (부프로그램)
※ 비동기적 행위
: 여러 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것
- 프로세스 제어 블록 (PCB; Process Control Block)
: 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳 (Job Control Block, Task Control Block)
: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것
- 프로세스의 상태
-> 입출력 장치 공유 가능, 다중 프로그래밍 성능 향상, 입출력 장치의 느린 속도 보완
※ 교통량 제어기 (Traffic Controller) : 프로세스의 상태에 대한 조사와 통보를 담당
※ 문맥 교환 (Context Switching) : 실행 중인 한 프로세스에서 준비 상태의 다른 프로세스로 CPU의 할당이 이동하는 것
: 프로세스 내에서의 작업 단위, 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
: 프로세스가 생성되어 실행될 때 필요로 하는 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 스케줄링의 종류
- 스케줄링의 목적
1. 비선점 스케줄링 (Non-Preemptive Scheduling)
: 이미 할당된 CPU는 다른 프로세스가 강제로 빼앗아 사용(선점)할 수 없도록 하는 스케줄링 기법
2. 선점 스케줄링 (Preemptive Scheduling)
: 한 프로세스가 CPU를 할당받아 실행되는 중일 때 우선 순위가 더 높은 다른 프로세스가 CPU를 빼앗아 사용(선점)할 수 있는 스케줄링 기법
: 프로세스가 준비 상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
: 준비 상태 큐의 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
: 프로세스의 대기 시간과 실행 시간을 이용하여 우선 순위를 부여하는 알고리즘
: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
: 변수명 앞과 뒤에 %를 붙여서 명령어나 스크립트에서 사용, set 명령어를 통해 모든 환경 변수와 그 값을 출력
윈도우 내의 환경 변수 설정 창
: 변수명 앞에 $를 붙여 명령어나 스크립트에 사용, set, env, printenv, setenv를 입력하여 모든 환경 변수와 그 값을 출력
※ X Window
: CLI 방식인 UNIX 계열의 운영체제에서 사용되는 GUI 기반의 시스템 소프트웨어
: 명령 프롬프트(cmd) 창에 명령어를 직접 입력하여 작업을 수행하는 CLI 방식이 가능함
: 쉘(shell)에 명령어를 입력하여 작업을 수행하는 CLI 방식, X Window라는 별도의 프로그램을 설치하여 GUI 방식으로 사용하는 것이 가능
※ 마운팅
: 새로운 파일 시스템을 기존 파일 시스템의 서브 디렉토리에 연결하는 것
4. 프로그래밍 언어 활용 - 응용 SW 기초 기술 활용(프로세스)
155. 프로세스 (Process, Job, Task)
: 프로세서(CPU)가 처리하는 사용자 프로그램, 시스템 프로그램 등의 실행 중인 프로그램 (작업, 태스크)
- 프로세스의 다양한 정의
※ 프로시저
: 한 프로그램을 분할한 작은 단위의 프로그램 (부프로그램)
※ 비동기적 행위
: 여러 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것
- 프로세스 제어 블록 (PCB; Process Control Block)
: 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳 (Job Control Block, Task Control Block)
2) 프로세스 상태 전이
: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것
- 프로세스의 상태
-> 입출력 장치 공유 가능, 다중 프로그래밍 성능 향상, 입출력 장치의 느린 속도 보완
※ 교통량 제어기 (Traffic Controller) : 프로세스의 상태에 대한 조사와 통보를 담당
※ 문맥 교환 (Context Switching) : 실행 중인 한 프로세스에서 준비 상태의 다른 프로세스로 CPU의 할당이 이동하는 것
3) 스레드
: 프로세스 내에서의 작업 단위, 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
156. 스케줄링
: 프로세스가 생성되어 실행될 때 필요로 하는 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 스케줄링의 종류
- 스케줄링의 목적
1) 프로세스 스케줄링 기법
1. 비선점 스케줄링 (Non-Preemptive Scheduling)
: 이미 할당된 CPU는 다른 프로세스가 강제로 빼앗아 사용(선점)할 수 없도록 하는 스케줄링 기법
2. 선점 스케줄링 (Preemptive Scheduling)
: 한 프로세스가 CPU를 할당받아 실행되는 중일 때 우선 순위가 더 높은 다른 프로세스가 CPU를 빼앗아 사용(선점)할 수 있는 스케줄링 기법
157. 주요 스케줄링 알고리즘
1) 선입선출 알고리즘 (FCFS; First Come First Served, FIFO)
: 프로세스가 준비 상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
2) 단기 작업 우선 알고리즘 (SJF, Shortest Job First)
: 준비 상태 큐의 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
3) HRN (Highest Response-Ratio Next)
: 프로세스의 대기 시간과 실행 시간을 이용하여 우선 순위를 부여하는 알고리즘
158. 환경 변수
: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임
1) Windows의 주요 환경 변수
: 변수명 앞과 뒤에 %를 붙여서 명령어나 스크립트에서 사용, set 명령어를 통해 모든 환경 변수와 그 값을 출력
3) UNIX/LINUX의 주요 환경 변수
: 변수명 앞에 $를 붙여 명령어나 스크립트에 사용, set, env, printenv, setenv를 입력하여 모든 환경 변수와 그 값을 출력
※ X Window
: CLI 방식인 UNIX 계열의 운영체제에서 사용되는 GUI 기반의 시스템 소프트웨어
159. 운영체제 기본 명령어
1) Windows 기본 명령어
: 명령 프롬프트(cmd) 창에 명령어를 직접 입력하여 작업을 수행하는 CLI 방식이 가능함
2) UNIX/LINUX 기본 명령어
: 쉘(shell)에 명령어를 입력하여 작업을 수행하는 CLI 방식, X Window라는 별도의 프로그램을 설치하여 GUI 방식으로 사용하는 것이 가능
※ 마운팅
: 새로운 파일 시스템을 기존 파일 시스템의 서브 디렉토리에 연결하는 것
'도서 개발 공부 > 정보 처리 기사 필기' 카테고리의 다른 글