- 운영체제
- 운영체제의 개념
- 운영체제: 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 운영체제의 종류: Windows, UNIX, LINUX, MacOS, MS-DOS 등
- 운영체제의 목적: 처리 능력 (Throughput), 반환 시간 (Turn Around Time), 사용 가능도 (Availability), 신뢰도 (Reliability)
- 운영 체제의 구성
- 제어 프로그램 (Control Program): 컴퓨터 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 것
- 처리 프로그램 (Processing Program): 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램
- 운영체제의 기능
- 운영체제의 종류
- Windows: 1990년대 마이크로소프트 (Microsoft) 사가 개발한 운영체제
- UNIX: 1960년대 AT&T 벨 (Bell) 연구소, MIT, General Electric이 공동 개발한 운영체제
- LINUX: 1991년 리누스 토발즈 (Linus Torvalds)가 UNIX를 기반으로 개발한 운영체제
- MacOS: 1980년대 애플 (Apple) 사가 UNIX를 기반으로 개발한 운영체제
- iOS: 애플 (Apple) 사에서 개발한 유닉스 기반의 모바일 운영체제
- Android: 구글 (Google) 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- 운영체제의 개념
- 기억장치 관리
- 기억장치관리의 개요
- 기억장치 계층 구조의 특징
<그림1> - 기억장치의 관리 전략
- 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것
- 기억장치의 관리 전략의 종류: 반입 (Fetch) 전략, 배치 (Placement) 전략, 교체 (Replacement) 전략
- 기억장치 계층 구조의 특징
- 가상기억장치 구현기법
- 가상기억장치 (Virtual Memory)의 개요
- 보조기억장치의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법
- 페이징 (Paging) 기법
- 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
- 세그먼테이션 (Segmentation) 기법
- 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
- 가상기억장치 (Virtual Memory)의 개요
- 페이지 교체 알고리즘
- 페이지 교체 알고리즘의 개요
- 페이지 부재 (Page Fault)가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법이 페이지 교체 알고리즘
- 종류: OPT, FIFO, LRU, LFU, NUR, SCR 등
- OPT (OPTimal replacement, 최적 교체)
- 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- FIFO (First In First Out)
- 페이지가 주기억장치에 적재될 때마다 그 때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
- LRU (Least Recently Used)
- 사용 빈도가 가장 적은 페이지를 교체하는 기법
- NUR (Not Used Recently)
- LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법
- SCR (Second Chance Replacement, 2차 기회 교체)
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법
- 페이지 교체 알고리즘의 개요
- 가상기억장치 기타 관리 사항
- 페이지 크기
- Locality
- 워킹 셋 (Working Set)
- 페이지 부재 빈도 방식
- 페이지 부재율 (Page Fault Rate) 에 따라 주기억장치에 있는 페이지 프레임의 수를 늘리거나 줄여 페이지 부재율을 적정 수준으로 유지하는 방식
- 프리페이징 (Prepaging)
- 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼버에 페이지 프레임에 적재하는 기법
- 스래싱 (Thrashing)
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 기억장치관리의 개요
- 프로세스
- 프로세스의 개요
- 프로세스 (Process)
- PCB (Process Control Block, 프로세스 제어 블록)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
- 프로세스 상태 전이
- 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 의미함
- 프로세스 상태 전이 관련 용어
- Dispatch, Wake Up, Spooling, 교통량 제어기 (Traffic Controller)
- 스레드 (Thread)
- 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업 단위로 사용됨
- 스케줄링
- 스케줄링 (Scheduling) 의 개요
- 스케줄링: 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미함
- 스케줄링의 종류: 장기 스케줄링, 중기 스케줄링, 단기 스케줄링
- 스케줄링의 목적
- 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도, 오버헤드 최소화, 응답 시간 최소화, 반환 시간 최소화, 대기 시간 최소화, 균형 있는 자원의 사용, 무한 연기 회피
- 프로세스 스케줄링의 기법: 비선점 (Non-Preemptive) 스케줄링, 선점 (Preemptive) 스케줄링
- 스케줄링 (Scheduling) 의 개요
- 주요 스케줄링 알고리즘
- FCFS (First Come First Service, 선입 선출) = FIFO (First In First Out): 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
- SJF (Shortest Job First, 단기 작업 우선)
- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
- HRN (Highest Response-ratio Next)
- 대기 시간과 서비스 (실행) 시간을 이용하는 기법
- RR (Round Robin)
- 각 프로세스를 시간 할당량 (Time Slice, Qunatum) 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주는 기법
- SRT (Shortest Remaining Time)
- 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법
- 환경변수
- 환경 변수 (Environment Variable) 의 개요
- 환경 변수란: 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임을 의미
- Windows 의 주요 환경 변수
- Windows 에서 환경 변수를 명령어나 스크립트에서 사용하려면 변수명 앞뒤에 '%' 를 입력해야 함
- Windows 에서 set을 입력하면 모든 환경 변수와 값을 출력함
- UNIX / LINUX의 주요 환경 변수
- UNIX나 LINUX에서 환경 변수를 명령어나 스크립트에서 사용하려면 변수명 앞에 '$'를 입력해야 함
- UNIX나 LINuX에서는 set, env, printenv, setenv 중 하나를 입력하면 모든 환경 변수와 값을 표시함
- 환경 변수 (Environment Variable) 의 개요
- 운영체제 기본 명령어
- Windows 기본 명령어
- DIR, COPY, DEL, TYPE, REN, MD, CD, CLS, ATTRIB, FIND, CHKDSK, FORMAT, MOVE 등
- UNIX / LINUX 기본 명령어
- cat, cd, chmod, chown, cp, rm, find, fsck, kill, fork, killall, ls, mkdir, rmdir, mv, ps, pwd, top, who 등
- Windows 기본 명령어
- 프로세스의 개요
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 노트 - 응용 SW 기초 기술 활용 3 (0) | 2025.01.15 |
---|---|
[정보처리기사] 실기 노트 - 응용 SW 기초 기술 활용 2 (0) | 2025.01.15 |
[정보처리기사] 실기 노트 - 프로그래밍 언어 활용 3 (0) | 2025.01.14 |
[정보처리기사] 실기 노트 - 프로그래밍 언어 활용 2 (0) | 2025.01.13 |
[정보처리기사] 실기 노트 - 프로그래밍 언어 활용 1 (0) | 2025.01.13 |