OS 8

[운영체제] 11. 디스크 관리 (Disk Management)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Disk Management and Scheduling Disk Structure logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Secotr Logical Block이 물리적인 디스크에 매핑된 위치 Secotr 0은 최외각 실린더의 첫 트랙에 있는 첫 번째 섹터이다. Disk Scheduling Access Time의 구성 Seek Time 헤드를 해당 실린더로 움직이는데 걸리는 시간 Rotational Latency 헤드가 원하는 섹터에 도달하기까지 걸리는 회전지연시간 Transfer Time 실제 데이터의 전송 시간 Disk Bandw..

[운영체제] 10. 파일 시스템 (File System)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. File Systems FIle and File Systems File A named Collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌 Operation : Create, Read, Write, Reposition (lseek), Delete, Open, Close File Attribute (Metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한 (읽기/쓰기/실행), 시간(생성/변경/사용), 소유자 등 File Sy..

[운영체제] 9. 가상 메모리 (Virtual Memory)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Virtual Memory Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit의 사용 Invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set되어 있으면 --> Page Fault Page Fault invalid page를 접근하면 MMU가 trap을 발생시킴 kernel mode로 들어가서 page fault handler가 invo..

[운영체제] 8. 메모리 관리 (Memory Management)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Memory Management (메모리 관리) Logical vs Physical Address Logical Address (Virtual Address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 Logical Address Physical Address 메모리에 실제 올라가는 위치 주소 바인딩 : 주소를 결정하는 것 Symbolic Address --> Logical Address --> Physical Address 주소 바인딩 (Address Binding) Compile time binding 물리적 메모리 주소가 컴파일 시 알려짐 시작 위치 변경시 재컴파일 컴파일러는..

[운영체제] 6. 프로세스 동기화 (Process Synchronization)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Process Synchronization[Concurrency Control] - 병행 제어, 프로세스 동기화 데이터의 접근 저장소의 데이터 연산할 데이터 전송 연산 수행 연산 결과 반환 : 데이터를 읽고 쓰기 때문에 데이터의 동기화가 필요하다. Race Condition 여러 프로세스가 하나의 데이터를 공유하고, 연산을 하려고 할 때 경쟁 상태가 생길 수 있다. 즉 하나의 데이터에 대한 여러 연산 요청이 있을 때는 이를 조절해 줘야한다는 것이다. ex) Multiprocessor System, 공유메모리를 사용하는 프로세스들, 커널 내부 데이터를 접근하는 루틴들 간의 충돌 등등 프로그램적 해결법의 충족 조건 Mutual Excl..

[운영체제] 4. 프로세스 관리 (Process Management)

# 본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Process Management(프로세스 관리) 프로세스 생성( Process Creation ) 부모 프로세스가 자식 프로세스 생성 프로세스의 트리(계층 구조) 형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다. 부모와 공유한다. 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전형 공유하지 않는 모델 수행 (Execution) 부모와 자식은 공존하며 수행되는 모뎅 자식이 종료(Terminate)될 때까지 부모가 기다리는(Wait) 모델 주소 공간 (Address Space) 자식은 부모의 공간을 복사함 (binary and OS data) 자식은 그 공간에 새로운 프로그램을 올림 유닉스 예 ..

[운영체제] 3. 프로세스 (Process)

# 본 게시물은 KCOW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Process : Process is a program in execution (프로세스는 실행중인 프로그램이다.) 프로세스의 문맥 (Context) 현재 프로세스의 특정 시점에 어떤 작업을 했는지, 어떤 상태인지를 알 수 있는 정보 CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter 각종 Register 프로세스의 주소 공간 Code, Data, Stack 프로세스 관련 커널 자료 구조 PCB (Process Control Block) Kernel Stack Process State (프로세스의 상태) 프로세스는 상태가 변경되며 수행된다. Running : CPU를 잡고 Instruction을 수행중인 상태..

[운영체제] 2. 컴퓨터 시스템과 프로그램의 실행

# 본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. System Structure & Program Execution (컴퓨터 시스템과 프로그램의 실행) CPU의 역활 CPU는 매순간 메모리의 있는 기계어를 읽어와 실행을 하게된다. Program Counter가 가르키고 있는 다음 명령어를 로딩한다. 특별한 일이 없으면 CPU는 다음 명령어를 수행한다. 제어문이나 특별한 명령어를 만나면 점프를 하거나, 반복한다. 즉 CPU는 아주 빠른 일꾼이라고 생각하면 된다. mode bit mode bit이 0이냐 1이냐에 따라서 0이면 CPU가 실행가능한 모든 명령어 실행 가능 1이면 한정된 명령어만 수행가능 0 : 운영체제가 가지고 있음 1 : 사용자 프로그램이 CPU를 가지고 있음 > ..