Chapter1 데이터베이스 시스템 이 글은 기초가 든든한 데이터 베이스를 참조하여 작성했습니다. 1 . 데이터베이스 데이터베이스란? 데이터들 중에서 필요에 따라 데이터를 수집하여 모아놓은 것을 의미 1.1 데이터와 정보 데이터 : 현실세계에서 사건이나 사물의 특징을 관찰하거나 측정하여 기술하는 가공되지 않는 사실(fact)이나 값(value) 정보 : 의미 있고 쓸모 있는 내용으로 가공하여 체계적으로 조직한 데이터 데이터를 처리(가공)하면 정보가 됨 1.2 데이터베이스의 정의와 특징 데이터베이스 : 어떤 특정한 조직에서 여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록 구조적으로 통합하여 저장한 운영 데이터 집합 함축적 의미 공유 데이터 : 다수의 사용자나 응용 시스템들..
CS

Chapter12 입출력 시스템 & 디스크 관리 1. I/O System (HW) 2. I/O Mechanisms 2.1 Processor controlled memory access Polling Processor가 주기적으로 I/O 장치의 상태 확인 장점 간단함 I/O 장치의 속도가 빠르고, 데이터 전송이 잦으면 빠름 단점 프로세서의 부담이 큼 Interrupt I/O 장치가 작업을 완료한 후, 자신의 상태를 프로세서에게 전달 장점 low overhead 뷸규칙한 요청 처리에 적합 단점 Interrupt handling overhead 존재 2.2 Direct Memory Access(DMA) I/O 장치와 Memory 사이의 데이터 전송을 프로세서 개입 없이 수행 I/O 장치와 프로세서 사이에 DM..

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..

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..

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..

Chapter8 메모리(주기억장치) 관리 1. 메모리 관련 용어 메모리 종류 계층구조 Block : 보조기억장치와 주기억장치 사이의 데이터 전송 단위(Size : 1 ~ 4KB) Word : 주기억장치와 레지스터 사이의 데이터 전송 단위(Size : 16 ~ 64bits) 1.1 Address Binding 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑하는 작업 Binding 시점에 따라 구별 됨 Compile time binding 프로세스가 메모리에 적재될 위치를 컴파일러가 알 수 있는 경우(위치 변화 X) 프로그램 전체가 메모리에 올라감 Load time binding 컴파일 시점에서 메모리의 적재 위치를 모르면 상대 주소를 생성하여 적재 시점에 주소를 재설정 프로그램 전체가 메모리에 올라..

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 : 선점 당하면,..

Chapter6 프로세스 동기화 & 상호배제 1. 동기화(Synchronization)란? 다중 프로그래밍 시스템내에서 프로세스들은 서로 독립적인 동작을 하기 때문에, 공유 자원을 사용할 때 문제가 생김 → 동기화가 필요 동기화(Synchronization) : 프로세스들이 서로 동작을 맞추는 것 비동기적(Asynchronous) : 프로세스들이 서로에 대해 모름 병렬적(Concurrent) : 여러 개의 프로세스들이 동시에 시스템에 존재 1.1 용어 Shared data(공유 데이터, Critical data) : 공유 데이터 Critical Section(임계 영역) : 공유 데이터를 접근하는 코드 영역 Mutual Exclusion(상호 배제) : 둘 이상의 프로세스가 동시에 critical sec..