운영체제 (Operating System, OS) 개념 및 기능
정의 및 목적
- 컴퓨터 하드웨어와 사용자 간 인터페이스 제공
- 시스템 자원 효율적 관리
- 신뢰성, 처리량, 응답 시간 향상
운영체제의 주요 기능
- 프로세스 관리: 생성, 삭제, 통신, 스케줄링
- 메모리 관리: 공간 할당 및 회수, 가상 메모리
- 파일 관리: 파일 저장, 접근, 보호
- 입출력 장치 관리: 장치 드라이버 관리
운영체제의 주요 종류
- DOS, Windows, Unix, Linux, MacOS, Android, iOS 등
프로세스와 스케줄링
프로세스 (Process)
- 실행 중인 프로그램, PCB로 상태 정보 관리
- 프로세스 상태: 준비(Ready), 실행(Running), 대기(Blocked), 지연(Suspended)
프로세스 스케줄링
- FCFS: 도착 순서대로 실행
- Round Robin: 시간 할당량 기반 순환 실행
- 우선순위 스케줄링: 우선순위 높은 작업 우선 실행
문맥 교환 (Context Switching)
- CPU 사용 중 프로세스 교체
메모리 관리
메모리 관리 기법
- 단일 연속 할당: OS와 사용자 프로그램 분할
- 분할 할당: 메모리를 여러 영역으로 나눠 할당 (최초, 최적, 최악 적합)
가상 메모리 (Virtual Memory)
- 보조기억장치 일부를 주기억장치처럼 사용
- 페이징 (Paging): 페이지 단위로 메모리 관리
- 페이지 교체 알고리즘: FIFO, LRU 등
교착상태 (Deadlock)
발생 조건
- 상호배제, 점유와 대기, 비선점, 순환 대기
해결 방법
- 예방, 회피, 탐지, 복구
임계구역, 상호배제, 세마포어
- 임계구역: 동시 접근 제한 필요 영역
- 상호배제: 한 프로세스만 접근 허용
- 세마포어: 접근 제어 도구
UNIX 시스템
UNIX 개요 및 특징
- 다중 사용자, 다중 작업, 대화형, 계층적 파일 시스템
- 고성능, 확장성, 이식성, 보안
UNIX 주요 구성
- 커널 (Kernel): 자원, 파일, 장치, 프로세스, 메모리 관리
- 셸 (Shell): 사용자와 커널 인터페이스, 명령어 해석기
- 파일 시스템: 정보 관리 (파일, 디렉터리)
명령어 구조
- 명령어 + 옵션 + 인자 (ex. ls -l /tmp)
UNIX 주요 명령어 및 리눅스 필수 명령어
명령어
|
설명
|
date
|
날짜 및 시간 표시
|
time
|
시간 확인
|
which
|
명령어 위치 확인
|
help
|
명령어 도움말
|
cal
|
달력 출력
|
exit
|
셸 종료
|
man
|
명령어 도움말
|
history
|
명령어 기록 확인
|
useradd
|
사용자 추가
|
userdel
|
사용자 삭제
|
usermod
|
사용자 정보 변경
|
passwd
|
비밀번호 변경
|
ls
|
디렉터리 목록 표시
|
chown
|
소유자 변경
|
chgrp
|
그룹 변경
|
cat
|
파일 내용 보기
|
file
|
파일 종류 확인
|
more
|
페이지 단위 파일 출력
|
touch
|
빈 파일 생성
|
grep
|
문자열 검색
|
df
|
디스크 공간 확인
|
find
|
파일 검색
|
chmod
|
파일 권한 변경
|
cp
|
파일 복사
|
mv
|
파일 이동
|
rm
|
파일 삭제
|
cd
|
디렉터리 이동
|
pwd
|
현재 디렉터리 표시
|
mkdir
|
디렉터리 생성
|
du
|
디스크 사용량 확인
|
VIM 명령어
명령어
|
설명
|
:w
|
저장
|
:q
|
종료
|
:wq
|
저장 후 종료
|
:q!
|
저장 없이 강제 종료
|
i
|
입력 모드 전환
|
esc
|
명령 모드 전환
|
:set nu
|
행 번호 표시
|
:set nonu
|
행 번호 숨김
|
dd
|
한 줄 삭제
|
yy
|
한 줄 복사
|
p
|
붙여넣기
|
u
|
실행 취소
|
ctrl + r
|
실행 복구
|
/문자열
|
문자열 검색
|
:%s/old/new/g
|
전체 치환
|
UNIX 접속 및 로그인
접속 절차
- 원격 접속 (Telnet, SSH, PUTTY)
- 사용자 계정 (ID, Password)
로그인 성공 시
- 프롬프트 ($ 또는 #)
- 홈 디렉터리 자동 이동
UNIX 파일 시스템
구조
- 루트(/)부터 시작하는 트리 구조
- 디렉터리, 파일
윈도우 vs 유닉스 파일 시스템 비교
- 윈도우: FAT, NTFS (클러스터 기반)
- 유닉스: i-node 기반 (메타 데이터 포함)
'Theory > OS' 카테고리의 다른 글
운영체제 이론 (1) (0) | 2025.03.13 |
---|---|
M4 Pro 맥북에서 VMware Fusion을 활용한 Ubuntu 실습 환경 구축 (1) | 2025.03.05 |
생활코딩 강의를 통한 리눅스 기초 복습 요약 (0) | 2025.03.03 |