본문 바로가기
반응형

Computer Science86

파일의 저장 및 읽기 레코드를 저장하는데는 먼저 다음 두 방식이 사용됩니다. Spanning 방식 Non - Spanning 방식 먼저 Spanning 방식은 레코드를 저장할 때, 두 섹터에 걸쳐서 저장합니다. 따라서, 내부단편화가 발생하지 않지만 레코드를 읽을 때 두 개의 섹터를 접근해야하는 상황이 생길 수 있어 I/O 시간이 늘어날 수 있습니다. Non - Spanning 방식은 한 섹터에 레코드를 저장하고 빈 공간은 사용하지 않는 방식입니다. Spanning 방식과는 다르게 두 섹터에 걸쳐서 저장하지 않으므로 내부 단편화가 발생합니다. 대신 Spanning 방식에서 발생했던 I/O 시간 문제는 일어나지 않습니다. 앞선 포스팅에서 언급했던 익스텐트를 사용하게 될경우 너무 작은 크기의 빈 익스텐트가 발생합니다. 즉, 외부단.. 2024. 3. 6.
파일 구조 파일 처리론에 앞서 파일 구조에 대해서 서술하겠습니다. 파일 구조란, 파일에 저장할 데이터 표현 방법으로 데이터 접근 연산의 정의를 뜻합니다. 여기서 말하는 연산은 데이터의 판독, 기록, 수정, 검색 등을 의미합니다. 파일은 크게 물리적 파일과 논리적 파일로 나눌 수 있습니다. 물리적 파일은 파일 탐색기로 찾아지는 모든 데이터를 의미하고, 논리적 파일은 물리적 파일 하나를 프로그램 상에 연결할 때, 그 연결점을 의미합니다. EX) File in_f = new File("../DATA/test.txt"); 여기서 파일 변수 in_f가 논리적 파일, File 함수의 인자로 들어간 경로의 test.txt가 물리적 파일이라고 할 수 있습니다. 파일들은 직접 접근 저장장치인 DASD나 순차접근 저장장치인 SASD.. 2024. 1. 24.
Main Memory (주기억장치) OS에서 주기억 장치를 관리하는 것에 앞서 먼저 주기억장치에서 사용되는 데이터가 어떻게 처리되는지 설명하겠습니다. 먼저 HDD에 있는 물리적 레코드(Physical Record)를 가져와서 RAM의 OS영역에 적재합니다. 그리고 실제로 프로세스에서 사용하게 되는건 RAM의 OS영역에 적재된 내용입니다. 이렇게 프로세스 에서 사용되는 레코드는 논리적 레코드(Logical Record)라고합니다. 위처럼 레코드를 사용하게 되면 주소 역시 변환이 필요합니다. 프로세스에서 논리적 레코드를 사용하게 되면서 HDD 상의 데이터에 접근하게 되는데 이때 RAM에 적재된 논리주소를 물리주소로 변환합니다. 이 과정을 Address Binding 이라고 합니다. Address binding은 다음 3가지 시기에 정해집니다... 2024. 1. 23.
Deadlock (교착 상태) 교착상태란, 이미 점유하고 있는 공유 자원에 사용 요청을 하게 됐을 때, SJF나 Priority 등에 의해 무한 대기하게 됐을 때 교착상태가 됐다고 부릅니다. 교착상태는 다음 4가지의 필요 조건을 가집니다. Mutual Exclusion (상호 배제) Hold & Wait (점유와 대기) Non - Preemption (비선점) Circular Wait (순환 대기) 교착 상태를 처리하는 방법에는 다음 4가지가 있습니다. Prevention (예방, 필요 조건 중 1가지 제거) Avoidance (회피, Banker's Algorithm) Detection & Recovery (탐지 및 회복) X 1,2는 교착 상태가 발생하기 전에 하는 방법이고, 3, 4는 교착 상태 이후 하는 방법입니다. 먼저 Pr.. 2024. 1. 22.
반응형