운영체제

· CS/[OS]
Chapter11 파일 시스템 1. Disk System Disk pack 비활발성 데이터 영구 저장 장치 구성 Sector : 데이터 저장/판독의 물리적 단위 Track : platter 한 면에서, 중심으로 부터 같은 거리에 있는 sector의 집합 Cylinder : 같은 반지름을 갖는 track의 집합 Platter : 양면에 자성 물질을 입힌 원형 금속판 Surface : platter의 윗면과 아랫면 Disk drive Disk pack에 데이터를 기록하거나 판독할 수 있도록 구성된 장치 구성 Head : 디스크 표면에 데이터를 기록 및 판독하는 장치 Arm : head를 고정하는 장치 Positioner : arm을 지탱하는 장치, head를 원하는 track으로 이동 Spindle : di..
· CS/[OS]
Chapter10 가상메모리 관리 1. Virtual Memory Management 가상 메모리 시스템의 성능을 최적화 하는 것 2. Cost Model 구성 요소 Page fault frequency : page fault 발생 빈도 Page fault rate : page fault 발생률 발생률과 발생 빈도를 최소화 시켜야 함. → context switch, kernel 개입을 최소화 Page reference string (d) 프로세스의 수행 중 참조한 페이지 번호 순서 $\omega = r_1r_2\cdots r_k\cdots r_T$ $r_i$ = 페이지 번호, $r_i\in {0,1,2,\cdots,N-1}$ N : 프로세스의 페이지 수 Page fault rate = F($\omega..
· CS/[OS]
Chapter9 가상메모리 1. Vitrual Memory Non-continuous allocation 사용자 프로그램을 여러 개의 block으로 분할 실행 시, 필요한 block들만 메모리에 적재 나머지는 swap device(disk)에 존재 1.1 Address Mapping Continuous allocation인 경우 상대 주소 사용 → 프로그램의 시작 주소를 0으로 가정한 주소 메모리가 할당되면 할당된 주소에 따라서 상대 주소들을 조정함 Non-continuous allocation인 경우 가상(논리) 주소(Virtual address) 사용 → 연속된 메모리를 할당을 가정한 주소 address mapping을 통해서 가상 주소를 실제 주소(real address)로 매핑 함. 1.2 Blo..
· CS/[OS]
Chapter8 메모리(주기억장치) 관리 1. 메모리 관련 용어 메모리 종류 계층구조 Block : 보조기억장치와 주기억장치 사이의 데이터 전송 단위(Size : 1 ~ 4KB) Word : 주기억장치와 레지스터 사이의 데이터 전송 단위(Size : 16 ~ 64bits) 1.1 Address Binding 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑하는 작업 Binding 시점에 따라 구별 됨 Compile time binding 프로세스가 메모리에 적재될 위치를 컴파일러가 알 수 있는 경우(위치 변화 X) 프로그램 전체가 메모리에 올라감 Load time binding 컴파일 시점에서 메모리의 적재 위치를 모르면 상대 주소를 생성하여 적재 시점에 주소를 재설정 프로그램 전체가 메모리에 올라..
· CS/[OS]
Chapter7 교착상태(Deadlock Resolution) 1. Deadlock의 개념 프로세스나 시스템이 발생 가능성이 없는 이벤트를 기다리는 상태 blocked/asleep state : 프로세스가 특정 이벤트나 자원을 기다리는 상태 1.1 Deadlock vs Starvation Deadlock : 자원이나 이벤트를 기다리는 상태 → but 가능성이 zero Starvation : CPU를 기다리는 상태 → 운이 없어서 순서가 계속 뒤로 밀림 1.2 자원의 분류 선점 가능 여부에 따른 분류 Preemptible resources : 선점 당한 후 ,돌아와도 문제가 발생하지 않음(뺏길 수 있음) ex) processor, memory Non-preemptible resources : 선점 당하면,..
· CS/[OS]
Chapter6 프로세스 동기화 & 상호배제 1. 동기화(Synchronization)란? 다중 프로그래밍 시스템내에서 프로세스들은 서로 독립적인 동작을 하기 때문에, 공유 자원을 사용할 때 문제가 생김 → 동기화가 필요 동기화(Synchronization) : 프로세스들이 서로 동작을 맞추는 것 비동기적(Asynchronous) : 프로세스들이 서로에 대해 모름 병렬적(Concurrent) : 여러 개의 프로세스들이 동시에 시스템에 존재 1.1 용어 Shared data(공유 데이터, Critical data) : 공유 데이터 Critical Section(임계 영역) : 공유 데이터를 접근하는 코드 영역 Mutual Exclusion(상호 배제) : 둘 이상의 프로세스가 동시에 critical sec..
· CS/[OS]
Chapter5 프로세스 스케줄링 1. 스케줄링이란? 여러 개의 프로세스가 시스템 내 존재하기 때문에 자원을 할당 할 프로세스를 선택하여, 자원을 효율적으로 이용해야 한다. → 스케줄링(Scheduling) 자원 관리 시간 분할(time sharing) 관리 - 하나의 자원을 여러 스레드들이 번갈아 가며 사용 ex) 프로세서 공간 분할(space sharing) 관리 - 하나의 자원을 분할하여 동시에 사용 ex) 메모리 1.1 스케줄링의 목적 시스템 성능 향상 성능 지표 응답시간(response time) → 대화형, 실시간 시스템에서 중요 작업 처리량(throughput) → 일괄처리(배치) 시스템에서 중요 자원 활용도(resource utilization) : 자원이 활용된 시간 / 주어진 시간 (최..
· CS/[OS]
Chapter4. 스레드(Thread) 1. 스레드(Thread)의 개념 스레드란? 프로세스의 실행 단위 제어 요소를 가지고 있음(LWP : Light Weight Process) 자원을 공유(code, data, heap) 스레드와 프로세스의 차이 프로세스 : 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받음 스레드 : 프로세스 안에 존재, 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 그리고 열린 파일이나 신호와 같은 운영체제 자원들을 공유 1.1 스레드의 장점 사용자 응답성 : 일부 스레드의 처리가 지연되어도, 다른 스레드는 작업을 계속할 수 있다 자원 공유 : 효율성이 증가하고 커널의 개입이 감소됨 서로 다른 프로세스가 한 자원을 사용하려면 컨텍스트 스위칭이 자주 발생(커널 개입이..
쿠엔크
'운영체제' 태그의 글 목록