1. 운영체제의 개념 
운영체제(OS; Operating System)의 정의
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하는 여러 프로그램의 모임이다.
사용자와 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종이다.
운영체제의 목적 처신반사
처리 능력, 신뢰성, 반환 시간, 사용 가능도
💡 팁: 운영체제의 성능을 평가하는 기준!
운영체제의 구성 제작감자 처서문어
제어 프로그램(Control Program)
-
작업 제어 프로그램, 감시 프로그램, 자료 관리 프로그램
처리 프로그램(Processing Program)
- 서비스 프로그램, 문제 프로그램, 언어 번역 프로그램
운영체제의 종류 W U LI M A M I
Windows, UNIX, LINUX, MacOS, MS_DOS, Android, iOS
운영체제 운영 기법의 발달 과정 일다시실범분
일괄 처리 시스템 → 다중 프로그래밍 시스템 → 시분할 시스템 → 다중 처리 시스템 → 실시간 처리 시스템 → 범용 시스템 → 분산 처리 시스템
🌟 각 과정 핵심 한눈에 보기
| 발달과정(시스템 명칭) | 핵심 특징 |
|---|---|
| 일괄처리(Batch) | 작업을 모아 한 번에 처리 |
| 다중 프로그래밍(Multiprogramming) | CPU 활용 극대화 |
| 시분할(Time-sharing) | 사용자 체감 동시 사용 |
| 다중 처리(Multiprocessing) | 여러 CPU 병렬 처리 |
| 실시간(Real-time) | 응답 기한 반드시 준수 |
| 범용(General-purpose) | 다양한 작업 가능 |
| 분산 처리(Distributed) | 여러 컴퓨터 공동 처리 |
2. Windows 

최신 Windows의 특징 그32선플DO파기향
Windows는 컴퓨터 시스템의 하드웨어를 효율적으로 관리하고, 사용자가 컴퓨터를 쉽게 사용할 수 있도록 인터페이스를 제공하는 운영체제이다.
- 그래픽 사용자 인터페이스(GUI) 사용
- 선점형 멀티태스킹
- 32비트 또는 64비트 데이터 처리
- FAT32 파일 시스템
- 플러그 앤 플레이(PnP)
- OLE(Object Linking and Embedding)
- 255자의 긴 파일 이름
- 향상된 네트워크 기능
- DOS와 호환
바로 가기 키(단축키)
| 바로 가기 키 | 기능 |
|---|---|
| Alt + F4 | 현재 창 또는 프로그램 종료 |
| Shift + Delete | 휴지통 거치지 않고 바로 삭제 |
| Win + 0 ~ 9 | 작업 표시줄의 해당 순서 앱 실행 |
| Win + D | 바탕화면 보기/숨기기 토글 |
| Win + E | 파일 탐색기 열기 |
| Win + L | 화면 잠금 |
| Win + P | 화면 출력 모드 전환(프로젝터 등) |
| Win + Ctrl + D | 새 가상 데스크톱 추가 |
| Win + Ctrl + F4 | 현재 가상 데스크톱 닫기 |
| Win + Shift + S | 화면 캡처(스니핑 툴) |
| Win + V | 클립보드 기록 보기 |
3. UNIX / LINUX 
UNIX의 개요 및 특징
UNIX는 1960년대 AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 소스가 공개된 개방형 시스템
- 대부분 C 언어로 작성
- 크기가 작아 가벼움
- Multi-User, Multi-Tasking 지원
- 많은 네트워킹 기능 제공
- 계층적 트리 구조의 파일 시스템
- 표준 입/출력을 통해 명령어 파이프 라인 구성
UNIX 시스템의 구성 커쉘유
| 요소 | 특징 |
|---|---|
| 커널(Kernel) |
UNIX의 가장 핵심적인 부분 컴퓨터 부팅될 때 주기억장치 적재 후 상주하면서 실행 하드웨어 보호 및 프로그램과 하드웨어간 인터페이스 프로세스 관리, 기억장치 관리, 파일 관리, 입/출력 관리, 데이터 전송 및 변환 등 여러 가지 기능 수행 |
| 쉘(Shell) |
사용자와 커널 사이의 인터페이스 역할 명령어 해석 및 실행 다양한 쉘 종류: Bourne Shell, C Shell, Korn Shell, Bash 등 |
| 유틸리티 프로그램 |
시스템 관리 및 사용자 작업을 위한 보조 프로그램 파일 조작, 텍스트 처리, 네트워크 관리 등 ls, cp, mv, grep, awk, sed 등 |
LINUX의 개요 및 특징
LINUX는 1991년대 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- 커널 재배포 허용
- 커널 및 소스 공개
- UNIX와 완벽히 호환
- 대부분의 특징이 UNIX와 동일
4. 운영체제의 기본 명령어 

운영체제 기본 명령어 개요
운영체제는 CLI와 GUI로 제어할 수 있음
- CLI(Command Line Interface): 키보드로 명령어를 직접 입력하여 작업 수행
- GUI(Graphical User Interface): 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행
Windows 기본 명령어
CLI 기본 명령어
명령 프롬프트 창에 명령어를 입력하여 작업 수행
| 명령어 | 기능 | 예시 |
|---|---|---|
dir |
디렉토리 내용 보기 | dir C:\ |
copy |
파일 복사 | copy file1.txt file2.txt |
del |
파일 삭제 | del file.txt |
md |
디렉토리 생성 | md newfolder |
cd |
디렉토리 이동 | cd C:\Windows |
🌟 Windows CLI 명령어 요약표
| 파일/디렉토리 관리 | 설명 | 정보확인/네트워크 | 설명 | 시스템 제어/유틸 | 설명 |
|---|---|---|---|---|---|
| dir | 목록 출력 | ipconfig | IP 정보 확인 | tasklist | 프로세스 목록 |
| copy | 파일 복사 | ping | 네트워크 연결 테스트 | taskkill | 프로세스 종료 |
| move | 이동/이름 변경 | tracert | 경로 추적 | cls | 화면 지우기 |
| del | 파일 삭제 | systeminfo | OS 환경 정보 | shutdown | 시스템 종료/재부팅 |
| md / mkdir | 디렉토리 생성 | netstat | 포트/통신 확인 | sfc | 시스템 파일 검사 |
| cd / chdir | 디렉토리 이동 | arp | MAC/IP 변환 정보 | sc | 서비스 제어 |
| ren | 파일 이름 변경 | nslookup | DNS 조회 | driverquery | 드라이버 목록 |
| rd / rmdir | 디렉토리 삭제 | hostname | 호스트명 표시 | reg | 레지스트리 관리 |
GUI 기본 명령어
바탕 화면이나 Windows 탐색기에서 마우스로 아이콘을 클릭하여 실행
UNIX/LINUX 기본 명령어
CLI 기본 명령어
쉘(Shell)에 명령어를 입력하여 작업 수행
| 명령어 | 기능 | 예시 |
|---|---|---|
ls |
디렉토리 내용 보기 | ls -la |
cat |
파일 내용 보기 | cat file.txt |
rm |
파일 삭제 | rm file.txt |
chmod |
파일 권한 변경 | chmod 755 file.txt |
pwd |
현재 디렉토리 경로 보기 | pwd |
🌟 Unix 명령어 요약표
| 파일 관리 | 설명 | 텍스트/로그 처리 | 설명 | 시스템/권한 관리 | 설명 |
|---|---|---|---|---|---|
| ls | 목록 출력 | grep | 패턴 검색 | ps | 프로세스 목록 |
| cp | 파일 복사 | awk | 필드 기반 처리 | kill | 프로세스 종료 |
| mv | 이동/이름 변경 | sed | 스트림 편집 | chmod | 권한 변경 |
| rm | 파일 삭제 | head | 앞부분 출력 | chown | 소유자 변경 |
| mkdir | 디렉토리 생성 | tail | 뒷부분 출력 | ||
| pwd | 현재 위치 | cat | 내용 출력 | ||
| cd | 디렉토리 이동 | find | 검색 | ||
| rmdir | 디렉토리 삭제 | tar | 압축/묶기 |
GUI 기본 명령어
UNIX와 LINUX는 기본적으로 CLI를 사용하지만, X Window라는 별도의 프로그램을 설치하여 GUI 방식으로 운영 가능
5. 프로세스 관리 및 스케줄링 
프로세스(Process)의 정의 실실프프비운PCB
프로세스는 일반적으로 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램, 즉 실행중인 프로그램을 의미하며, 작업(Job) 또는 태스크(Task)라고도 한다.
- 실기억장치에 저장된 프로그램
- 프로세서가 할당되는 실체
- 프로시저가 활동중인 것
- 운영체제가 관리하는 실행 단위
- 실행중인 프로그램
- PCB를 가진 프로그램
- 비동기적 행위를 일으키는 주체
프로세스 상태 전이
- 제출(Submit): 작업 처리를 위해 사용자가 작업을 시스템에 제출
- 접수(Hold): 제출된 작업이 스풀 공간에 저장된 상태
- 준비(Ready): 스케줄러에 의해 프로세서에 할당될 준비가 된 상태 (준비상태 큐)
- 실행(Running): 프로세서에 할당되어 실행 중인 상태
- 대기(Waiting): 실행 중인 프로세스가 입출력 등의 이유로 대기 중인 상태
- 종료(Terminate): 작업 처리가 완료된 상태
스케줄링
스케줄링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미하며, 이를 수행하는 것을 스케줄러라 함.
- 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거침
- 프로세스 스케줄링 기법에는 비선점(Non-preemptive) 스케줄링과 선점(Preemptive) 스케줄링이 있다
비선점 스케줄링 FSHP
이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
| 기법 | 설명 | 특징 |
|---|---|---|
| FCFS | First Come First Served 준비상태 큐에 도착한 순서에 따라 차례로 CPU 할당 |
FIFO 방식, 공정하지만 긴 작업이 있으면 대기시간 증가 |
| SJF | Shortest Job First 실행 시간이 가장 짧은 프로세스에게 먼저 CPU 할당 |
평균 대기시간 최소화, 기아현상 발생 가능 |
| HRRN | Highest Response Ratio Next 대기 시간과 서비스 실행 시간을 이용하는 기법 |
SJF의 기아현상 보완, 응답비율 계산 |
| PS(우선순위) | Priority Scheduling 가장 높은 우선순위 프로세스에게 먼저 CPU 할당 |
우선순위에 따른 처리, 기아현상 발생 가능 |
선점 스케줄링 SR다다
우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
| 기법 | 설명 | 특징 |
|---|---|---|
| SRT |
Shortest Remaining Time 남은 실행 시간이 가장 짧은 프로세스에게 CPU 할당 |
SJF의 선점 버전, 동적 우선순위 |
| RR |
Round Robin 시간 할당량(Time Quantum)을 정하여 순환 방식으로 CPU 할당 |
공정한 처리, 대화형 시스템에 적합 |
| 다단계 큐 |
Multi-level Queue 프로세스를 여러 그룹으로 분류하여 각각 다른 큐에서 관리 |
프로세스 유형별 차별적 처리 |
| 다단계 피드백 큐 |
Multi-level Feedback Queue 프로세스가 큐 간 이동 가능한 다단계 큐 |
동적 우선순위 조정, 복잡하지만 유연함 |