CPU : 입력장치로부터 자료를 받아 연산 후 결과를 출력 장치로 전송하는 과정을 제
어하는 핵심 장치 (연산, 레지스터, 제어, 버스) 기억장치 (레지스터, 캐시, 주기억장치,
보조기억장치)
CPU 구성요소
1. ALU (연산장치) : 산술연산, 논리연산
2. 레지스터 : 소규모 데이터, 중간 결과를 기억해두는 고속 영역
3. Control Unit(제어장치) : 명렁어 해석, 제어신호 발생
4. 내부 CPU 버스 : ALU 레지스터간의 데이터 이동
레지스터 종류
PC(Program Counter) : 다음에 수행할 주기억장치 주소 기억
MAR(Memory Address Register) : 주기억장치에 접근하기 위한 주기억장치 주소 기억
MBR(Memory Buffer Register) : 주기억 장치 입/출력 자료 기억
IR(Instruction Register) : 주기억 장치 -> 인출한 명령코드 기억
버스 종류 데이터 버스 : 데이터 전송 용도 주소 버스 : 기억장소 위치, 식별
제어 버스: CPU, 기억장치, I/O 장치사이의 제어신호 전송
CPU 명령 실행 주기
인츨 (Instruction Fetch) : 메모리 데이터를 로드하여 레지스터에 적재
간접 (Indrection) : 간접주소 방식 채택 경우 - CPU가 메모리 참조시 메모리 주소를
참조
실행 (Execution) : 명령 , 데이터 > 산술 , 논리연산 수행
인터럽트 (Interrupt): 예기치않은 문제 발생시에도 업무처리가능 하게 하는 기능
기억장치 계층구조 주 요 내 용
레지스터 기억장치용량 장치비용 속도
캐시 작음 큼 빠름
주기억장치 큼 큼 빠름
보조기억장치 큼 작음 느림
캐시메모리 : CPU와 주기억장치 속도차이 극복을 위한 버퍼 메모리(기억장치) 캐시메
모리 사상방식
직접사상(Direct Mapping): Main Memory 를 여러구역으로 분할하여 캐시슬롯과 직접
매핑
집합 연관사상(Set Associate Mapping): 직접 + 연관 방법 메모리를 세트(블록)으로
분할하여 매핑
연관 사상(Associate Mapping): Main Memory 블록들이 캐시 슬롯에 어느곳이든 적
재 가능
캐시메모리 관리 방식 (CPU 원하는 데이터가 캐시메모리에 적재하도록 관리)
(호출기법)
Demand Fetch : 필요시 캐시 인출
Pre-Fetch : 예상되는 데이터를 미리 패치
교체기법
캐시 메모리 교체 알고리즘
FIFO(First In First Out): 가장 오래 있던 Page 교체 / 자주 사용되는 페이지가 교
체될 수 있음
LFU(Least Frequently Used): 가장 사용횟수가 적은 Page 교체 / 가장 새로 들어온
페이지 교체될 수 있음
LRU(Least Recently Used):가장 오랫동안 사용되지 않은 Page 교체 / 오버헤드 우려
NUR(Not Used Recently): 미사용 Page 교체 (참조/수정비트 사용)
SCR(Second chance Replacement): 최초 참조 비트 1, 1-> 0 두번기회
페이지교체시 문제점
Page Fault(페이지부재), DemadPaging, Thrashing(부재가 너무빈번하여 프로세스 수
행보다 페이지 교체 시간소요가 더 소모됨) 가상메모리(Virtual Memory) : Virtual
Address Space 사용, 물리적 메모리보다 더 큰용량 제공
가상메모리 관리 단위 (페이지 Vs 세그먼트) : 비연속 할당 페이지 : 동일한크기의 최
소 논리 분할 단위 / 내부단편화 세그먼트 : 용도별로 논리적 단위로 나눔 / 외부단
편화
연속할당 : 고정분할, 가변 분할
I/O 인터페이스 ( 주기억장치 - 보조기억장치 입출력 )
CPU 경유 : 프로그램에 의한 I/O, 인터럽트에 의한 I/O
프로그램에 의한 I/O : CPU 가 주변장치를 연속 감시하는 Polling 방식
인터럽트에 의한 I/O : 인터럽트 요청 감지시 수행작업을 중지
CPU 비경유 : DMA(Direct Memory Access Controller) , Channel I/O
DMA : 메모리와 주변장치를 직접 관리, 속도 빠름 ( Cycle Stealing: CPU사용하지않
는 버스 점유, Brust Mode: 점유 )
채널 I/O( Processor): I/O장치의 복잡함으로 DMA 한계를 보완하여 별도 전용
처리기능 프로세서 탑재
Multiplexer Channel : 저속장치, 시분할 방식
Selector : 고속장치, 단일 입출력
운영체제
컴퓨터 시스템의 자원들을 효율적으로 관리, 사용자의 컴퓨터 사용 편의성 환경 제공
운영체제의 목적
처리능력 향상
신뢰성 향상
응답시간의 단축
자원 활용률 향상
가용성 향상
운용체제 주요 자원 관리 기능
프로세스 관리
기억장치 관리
주변장치 관리
파일 관리
프로세스 관리 (Process Management)
프로세스 : 레지스터, 스택, 포인터, 실행중인 프로그램, 데이터 등의 집합체
실행중인 프로그램, PCB 보유, Library Call, 자원할당의 기본 단위
스레드 : 제어의 흐름, 프러세스에서 실행의 개념, CPU 작업의 기본 단위, System Call
CPU 스케줄링 기법
: 컴퓨터의 자원을 효율적으로 사용하기 위한 정책, 자원을 요청하는 프로세스 순서
를 정함 점유방식
선점(Preemptive): 프로세스 CPU 점유 시 다른프로세스 점유 가능 (Round-robin, SRT)
비선점(Non-preemtive): 프로세스 CPU 점유시 독점 (FCFS, SJF, HRN)
비선점 방식
FCFS(First Come First Service): 대기큐에 도차간 순서에 따라 CPU 할당
SJF(Short Job First): 수행시간이 짧은 작업부터 CPU 할당
HRN(Highest Ratio Next): SJF 개선하여 프로세스 우선순위로 할당(선점)
Round-robin : 각 프로세스는 같은 시간을 CPU에서 할당 받음
SRT(Shortest Remaining Time) : 수행시간이 짧은 작업부터 CPU할당하지만 수행중
다른 프로세스가 더 짧은시간 일때 점유 가능
Multi Level Queue : 여러종류의 그룹(큐)로 나누어 각자 독자적인 스케줄링 기법을
사용 Multi Level Feedback Queue: 그룹(큐)들을 라운드로빈 + 비선점방식 (Hybrid
스케줄링) 병행성제어
상호 배제(Mutual Exclusion Techniques) : 다수의 프로세스 동일 자원 접근 시 무결
성 보장, 임계영역 사용
임계영역(Critical Section): 공유자원의 독점을 보장하는 코드 영역 , 병렬컴퓨팅 일부
로도 쓰임, 세마포어 개념이용 세마포어: 공유자원의 개수를 나타내는 변수
모니터 상호배제 기법 : 하나의 프로세스만이 모니터내부의 존재, 모니터 내부의 지
역변수로 정의
교착상태(Dead Lock): 하나이상의 프러세스가 더 이상 계속할 수 없는 특정 사건을
기다리고 있는 상태 교착상태 발생조건
상호배제 : 하나이상의 프로세스가 자원을 배타 점유
점유와 대기: 부분할당으로 다른 종류의 자원을 요구하면서 자원 점유
비선점 : 자원이 해제 되지 않음
환형대기 : 프로세스와 자원들이 원형을 이루며 서로 상대방의 자원을 요청
교착상태 대응 방법(예방 , 회피, 발견, 회복)
예방(Prevention) : 필요 조건을 부정, 교착상태 예방
점유와 대기 부정: 필요한 자원을 일시에 요청
비선점 조건의 부정: 자원점유 후 자원 요청시 자원해제 선 요청
환형대기 조건 부정: 프로세스들의 자원별로 우선순위 결정
상호배제 조건 부정: 자원 비공유 전제
회피(Avoidence) : 가능성을 인정, 회피
은행원 알고리즘 (안전상태, 불안전상태): 프로세스가 요구한 최대 요구량 만큼 자원
을 할당 안전순서서열 존재, 교착상태는 불안전상태에서만 일어남.
발견(Dectection) : 교착상태 발생 허용, 원인을 규명하고 해결
교착상태 발견 알고리즘: 교착상태 발생 검사 알고리즘 , 교착상태 빈도수 파악
자원할당 그래프 : 방향그래프를 이용, 그래프 소거법을 이용하여 교착상태 감지
회복(Recovery)
프로세스 중지
선점
장치관리기법 디스크
디스크 접근 시간
탐색시간 : 현위치에서 특정실린더로 디스크 헤드가 이동하는 데 소요되는 시간
회전 지연시간 : 섹터가 디스크 헤드까지 도달하는 시간
전송시간 : 데이터 전송 시간
디스크 스케줄링 기법
FCFS(First-Come First Served) : 먼저들어온 요청 우선처리
SSTF(Shortest-Seek-Time First) : 탐색거리가 가장 짧은 트랙 요청 우선 처리
SCAN(엘레베이터 알고리즘): Head 가 이동하는 모든 요청을 서비스 끝까지 처리후
역방향 처리
C-SCAN: SCAN 에서 바깥쪽에서 안쪽으로 이동
C-LOOK: 진행방향에서 요청없을시 헤드를 처음위치로 이동
파일 시스템(File System) FAT(File Allocation Table)
FAT16: 대부분 MS 호환가능, 2GB, 암호화 및 압축 불가능, 파일명 최대 영문8자, 클
러스터 1632KB
FAT32: 2TB, 암호화 및 압축 불가능, 파일명 최대 영문 256자, 클러스터 4KB
NTFS(New Technology File System): 암호화 및 압축 지원, 가변클러스터
EXT(Extended File System)
EXT: MINIX File System 보완, 최대 2GB, 파일명 255bytes, 단편화문제
EXT2: 2GB, 볼륨32TB, 오류 수정 지원
EXT3: 저널링기능, 온라인 파일 시스템 증대, 디스크조각화 최소화
EXT4: 16GB, 볼륨 16Exabyte, 온라인 조각모음, 저널 체크섬, 하위호환 가능
UFS(Unix File Sysyem)
유닉스 파일 시스템 (부트블록, 슈퍼블록, 실린더그룹, i-node 테이블)
슈퍼블록: 파일 시스템 크기, i-node 테이블의 크기
I-node 테이블: 파일정보 - 파일크기, 위치, 유형 허가권, 날짜
RAID : 디스크 고장 시 복구를 위해 2개이상에 디스크에 데이터를 저장하는 기술, 저
가용성 디스크를 배열 구조로 중복 구성
RAID 0 : 최소 2개 디스크, 데이터를 나누어 저장

분야