[정처기 실기] 「3」 | 운영체제 - (3.2) 운영체제(2)
「1」 소프트웨어 구축
「2」 데이터베이스 구축
> 「3」 운영체제
「4」 네트워크
「5」 정보보안
「6」 신기술 용어
> 1. 운영체제
1. 운영체제
프로세스
프로세스
○ 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램
○ 스레드(Thread) : 프로세스 내에서 실행되는 흐름의 단위
- 사용자 수준의 스레드(속도 빠르고 구현 어려움), 커널 수준의 스레드(속도 느리고 구현 쉬움)
○ 메모리상의 프로세스 영역
- 코드 영역 : 실행할 프로그램의 코드가 저장
- 데이터 영역 : 전역 변수와 정적 변수
- 스택 영역 : 지역 변수와 함수의 매개변수
- 힙 영역 : 동적 할당
○ 프로세스 상태 전이
생성 (New) |
→ | 준비 (Ready) |
Dispatch → → → ← ← ← Time Run out |
실행 (Run) |
→ | 종료 (Exit) |
↖ 입 / 출력 종료 깨움 (Wake Up) ↖ |
↙ 입 / 출력 발생 ↙ |
|||||
대기 (Wait, Block) |
○ PCB(Process Control Block, 프로세스 제어 블록) : 운영체제가 프로세스의 정보를 저장하는 공간
○ 문맥 교환(Context Switching) : CPU 사용을 마치고 다른 프로세스가 CPU를 사용하도록 전환하는 과정
프로세스 스케줄링
○ 스케줄링(Scheduling) : 메모리에 올라온 프로세스들 중 어느 프로세스를 먼저 처리할지 순서를 정하는 것
○ 스케줄링의 목적
- 공평성
- 효율성
- 안정성
- 반응 시간 보장
- 무한 연기 방지
○ 스케줄링 기법
- 선점형 스케줄링(Preemptive) : 운영체제가 실행 중인 프로세스로부터 CPU를 강제로 빼앗음, 높은 오버헤드
: Round Robin, SRT, MLQ, MLFQ
- 비선점형 스케줄링(Non-Preemptive) : 프로세스가 CPU 점유할 때 빼앗을 수 없음, 낮은 처리율
: FCFS, SJF, HRN, 우선순위, 기한부
- 기아현상과 에이징 기법
: 기아현상(Starvation) - 우선순위가 낮은 프로세스가 무한정 기다리는 현상 / SRT, MLQ, SJF, 우선순위
: 에이징 기법(Aging) - 기아현상을 해결하기 위한 기법 / MLFQ, HRN
스케줄링 알고리즘
○ 선점형 기법
- Round Robin : 시간 단위를 정하여 순서대로 CPU에 할당
- SRT(Shortest Remaining Time) : 실행 시간이 가장 짧은 프로세스에 CPU 할당
- 다단계 큐(MLQ, Multi-Level Queue) : 그룹에 따라 다른 준비 상태 큐를 사용하는 기법
- 다단계 피드백 큐(MLFQ, Multi-Level Feedback Queue) : 가장 높은 우선순위의 준비 큐에 등록
○ 비선점형 기법
- FCFS(First Come First Serve) : 먼저 도착한 프로세스를 먼저 처리
- SJF(Shortest Job First) : 실행 시간이 짧은 프로세스에게 CPU 할당
- HRN(Highest Response ratio Next) : 우선순위 = (대기시간 + 실행시간) / 실행시간
- 우선순위(Priority) : 프로세스에 우선순위를 부여
- 기한부(Deadiline) : 일정한 시간을 주어 그 시간 안에 작업을 완료하도록 하는 기법
병행 프로세스와 교착상태
병행 프로세스
○ 두 개 이상의 프로세스가 동시에 존재하며 실행 상태에 있는 것
○ 문제점과 해결책
- 문제점 : 동시에 여러 프로세스를 처리할 때 한정된 자원에 대한 사용 순서 등 문제 발생 가능
- 해결책
: 임계 구역 - 한 번에 하나의 프로세스만 접근할 수 있도록 지정된 영역
: 상호배제 기법 - 공유 공간을 사용 중일 때 사용하지 못하도록 하는 제어 기법
: 동기화 기법 - 하나의 자원에 대한 권한 / 순서를 조정해 주는 기법
병행 프로세스 문제 해결책
○ 상호 배제(Mutual Exclusion) 기법
- 데커의 알고리즘(Dekker's Algorithm)
- 피터슨의 알고리즘(Peterson's Algorithm)
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 램포트의 베이커리 알고리즘(Lamport's Bakery Algorithm)
○ 동기화 기법
- 세마포어(Semaphore) : 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
: 계수 세마포어, 이진 세마포어
- 모니터(Monitor) : 프로그래밍 언어 수준에서 동시성을 제어하는 상호 배제 기법
교착상태(Dead Lock)
○ 상호 배제에 의해 나타나는 문제점으로 여러 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스를 요구하며 무한정 기다리는 현상
○ 교착상태 발생 조건
- 상호배제(Mutual Exclusion) : 한 번에 한 개의 프로세스만이 공유 자원을 사용
- 점유와 대기(Hold & Wait) : 자원을 점유하며 다른 프로세스의 자원을 요구
- 비선점(Nonpreemption) : 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
- 환형대기(Circular Wait) : 순차적으로 다음 프로세스가 요구하는 자원을 가지고 있는 상태
○ 교착상태 해결 방법
- 예방 기법(Prevention) : 4가지 조건 중 하나 이상을 사전에 제거하여 예방
- 회피 기법(Avoidance) : 발생된 교착상태, 은행가 알고리즘(모든 고객의 요구가 충족되도록)
- 발견 기법(Detection) : 교착상태에 있는 프로세스 / 자원을 발견, 점검
- 회복 기법(Recovery) : 교착상태 유발 프로세스 종료, 프로스세스 내 할당된 자원을 선점
디스크 스케줄링(Disk Scheduling)
디스크 스케줄링
○ 하드 디스크에 저장된 데이터에 접근하기 위해 디스크 헤드의 움직임을 최적화하는 기법
○ 디스크 스케줄링 종류
- FCFS(First Come First Served) : 요청이 들어온 순서대로 처리
- SSTF(Shortest Seek Time First) : 현재 헤드에서 가장 가까운 트랙의 요청을 처리
- SCAN : 헤드가 진행 방향에 있는 요청을 처리하고 반대 방향으로 틀어 반대 방향의 요청들을 처리
- C-SCAN : 항상 한 방향에서 반대 방향으로 진행하며 트랙의 요청들을 처리
- LOOK : SCAN 기법을 기초로 하며, 진행 방향의 마지막 요청을 처리한 후 반대 방향으로 처리
- C-LOOK : C-SCAN 기법을 기초로 하며, 한 쪽 방향의 요청을 처리한 후 반대쪽 끝으로 이동 후 다시 한쪽 처리
- N-STEP SCAN : SCAN 기법을 기초로 하며, 대기 중인 요청을 우선적으로 처리, 처리 과정 중 들어오는 요청은 이후 진행 시 처리
- 에션바흐(Eschenbach) : 부하가 큰 항공 예약 시스템을 위해 개발된 기법, 탐색 시간과 회전 지연 시간을 최적화
환경변수와 로그 파일
환경변수
○ 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
○ Unix / Linux 환경변수 : env, set, printenv, export
로그 파일
○ 로그 : 시스템의 모든 기록을 담고 있는 데이터
○ 리눅스 로그 종류
- messages : 시스템 로그 파일
- secure : 보안 인증에 관한 메시지 로그 파일
- maillog : 메일 로그 파일
- xferlog : ftp 로그 파일
- dmesg : 부팅 시의 시스템 로그
- wtmp : 전체 로그인 기록
- utmp : 현재 로그인 사용자 기록
- btmp : 로그인 실패 정보 기록
- lastlog : 최근 로그인 기록
스토리지
스토리지(Storage)
○ 데이터를 저장하는 저장소로, 컴퓨터 시스템의 부품
○ 스토리지 종류
- DAS(Direct Attachted Storage) : PC나 서버에 직접 연결
- NAS(Network Attached Storage) : LAN을 통해 서버와 연결
- SAN(Storage Area Network) : 파이버 채널 스위치를 통해 연결
○ RAID(Redundant Array of Inexpensive Disks) : 복수의 HDD를 하나의 드라이브로 인식하고 사용
- RAID의 구성
: 스트라이핑(Striping) - 연속된 데이터를 여러 디스크에 라운드-로빈 방식으로 저장
: 미러링(Mirroring) - 데이터를 동일하게 복제해 신뢰성을 확보
- RAID의 형태
: RAID-0 - 스트라이핑 사용
: RAID-1 - 미러링 사용
: RAID-2 - 오류 정정을 위한 해밍코드 사용
: RAID-3 - 한 디스크를 패리티 정보 저장용으로 사용
: RAID-4 - RAID-3과 유사하나 블록 단위 분산 저장
: RAID-5 - 각 디스크에 패리티 정보를 포함
: RAID-6 - 두 개의 패리티 정보를 디스크에 분산 저장
출처 | 흥달쌤
'💠기타 > 자격증' 카테고리의 다른 글
[정처기 실기] 「4」 | 네트워크 - (4.2) 네트워크(2) (1) | 2024.04.02 |
---|---|
[정처기 실기] 「4」 | 네트워크 - (4.1) 네트워크(1) (1) | 2024.04.01 |
[정처기 실기] 「3」 | 운영체제 - (3.1) 운영체제(1) (0) | 2024.03.31 |
[정처기 실기] 「2」 | 데이터베이스 구축 - (2.2) SQL 활용, 병행제어와 데이터 전환 (0) | 2024.03.29 |
[정처기 실기] 「2」 | 데이터베이스 구축 - (2.1) 데이터베이스 구축 (1) | 2024.03.29 |