일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- react
- nodejs
- flask
- game
- MySQL
- OCR
- Express
- JavaScript
- Bull
- 게임
- dfs
- jest
- 정렬
- TypeScript
- Queue
- GIT
- cookie
- MongoDB
- Nest.js
- 자료구조
- Sequelize
- Dinosaur
- mongoose
- typeORM
- AWS
- class
- Python
- nestjs
- 공룡게임
- Today
- Total
목록CS (Computer Science) (35)
포시코딩
키워드 contiguous allocation, linked allocation, indexed allocation, unix file system, fat file system, free-space management, directory implementation, vfs, nfs, page cache, buffer cache Allocation of File Data in Disk Contiguous Allocation (연속 할당) Linked Allocation (연결 할당) Indexed Allocation (인덱스로 할당) Disk에 file 저장 시 보통 동일한 크기의 섹터 단위로 나누어 저장 파일 시스템이나 disk 외부에서 볼 때 각각의 동일한 크기의 저장 단위를 논리적인 블럭이라 부른다..
키워드 file system, metadata, partition, open, file protection, access control, grouping, mounting File and File System File "A named collection of related information" -> 이름을 통해 접근하는 단위 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 Operation -> create, delete, read, write, reposition(lseek), open, close 등 open: 그 파일을 disk에서 memory로 내용을 올려놓는게 아닌 파일의 metadata를 메모리에 올려놓는 작업을 의..
키워드 clock algorithm, allocation scheme, global replacement, thrashing, working-set, PFF Paging System에서 LRU, LFU 가능한가? 프로세스 A에서 page fault trap 발생 시 디스크 접근(I/O)이 필요로 하기 때문에 CPU 제어권이 운영체제로 넘어감 운영체제가 디스크에 있는 page fault가 난 page를 읽어서 물리적인 메모리로 올려놔야 되는데 물리적인 메모리에서 뭔가를 쫓아내야 하는데 가장 오래전에 참조된 page를 쫓아내야 되는데(LRU) 가장 오래된 걸 운영체제는 알 수 없고 가장 참조 횟수가 적은 page를 쫓아내야 되는데(LFU) 가장 참조 횟수가 적은 걸 마찬가지로 운영체제는 알 수 없다. 프로세..
키워드 demand paging, page fault, page replacement, optimal algorithm, FIFO algorithm, LRU algorithm, LFU algorithm Demand Paging Demand: 요청이 있으면 Paging: 그 페이지를 메모리에 올리겠다 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit의 사용 Invalid의 의미 -> 사용되지 않는 주소 영역인 경우 -> 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set되어 있으면..
Memory Management 7번 챕터의 memory management에서 다룬 메모리 관리는 물리적인 메모리 관리 해당 챕터의 주요한 내용은 '주소 변환' 어떤 프로세스가 논리적인 주소를 가지고 있고 CPU가 논리적인 주소를 주면 물리적인 메모리 주소로 변환해서 메모리 참조를 함 주소 변환에 있어서 운영체제 역할은 없다. 모두 하드웨어가 해줘야 하는 역할 ex) MMU 어떤 프로세스가 CPU로 메모리 접근을 하는데 주소 변환을 할 때마다 운영체제의 개입이 있다면 CPU가 운영체제로 넘어가야 하고 주소 변환 후 다시 CPU가 프로세스한테 넘어오는 과정 자체가 말이 안됨 메모리 접근이 아니라 I/O 장치 접근 할 때 운영체제 개입 필요 이후 배울 Virtual Memory에서 운영체제가 중요한 역할을..
키워드 multilevel paging, valid-invalid bit, protection bit, inverted page table, shared page, segmentation Multilevel Paging and Performance Address space가 더 커지면 다단계 페이지 테이블이 필요 각 단계의 페이지 테이블이 메모리에 존재하므로 logical address의 physical address 변환에 더 많은 메모리 접근 필요 TLB를 통해 메모리 접근 시간을 줄일 수 있음 4단계 페이지 테이블을 사용하는 경우 메모리 접근 시간이 100ns, TLB 접근 시간이 20ns이고 TLB hit ratio가 98%인 경우 effective memory access time = 0.98 ..
키워드 paging, segmentation, page table, TLB, two-level page table Paging, Segmentation 간단 요약 Paging 기법 하나의 프로그램을 구성하는 주소 공간을 같은 크기의 페이지로 잘라 페이지 단위로 물리적인 메모리에 올려놓거나 할 수 있다. 페이징 기법을 사용하면 hole들의 크기가 균열하지 않아 발생하는 문제나, hole들을 한군데로 밀어넣는 방법을 사용할 필요가 없어진다. 물리적인 메모리에서 비어있는 위치가 있다는건 페이지 프레임이 비어있는 것이기 때문에 프로그램의 어떤 페이지든지 아무데나 들어갈 수 있기 때문 Segmentation 기법 프로그램의 주소 공간을 같은 크기가 아닌 의미 있는 단위로 자르는 방법 때문에 크기가 균일하지 않다...
키워드 physical memory, contiguous allocation, noncontiguous allocation, fixed partition, variable partition, hole, compaction Allocation of Physical Memory (=물리적인 메모리 관리 방법) 메모리는 일반적으로 두 영역으로 나눠 사용 interrupt vector와 함께 낮은 주소 영역: 운영체제 커널(운영체제 상주 영역) 높은 주소 영역: 사용자 프로세스 영역 사용자 프로세스 영역의 할당 방법 Contiguous Allocation 연속 할당 프로그램이 메모리에 올라갈 때 통째로 올라가는 방법 각각의 프로세스가 메모리의 연속적인 공간에 적재되도록 하는 것 Fixed partition al..
키워드 memory, binding, mmu, dynamic loading, dynamic linking, overlay, swapping Memory란? 주소를 통해 접근하는 매체 주소는 두가지로 나눌 수 있다. Logical Address: 논리적 주소 Physical Address: 물리적 주소 Logical vs. Physical Address Logical Address (=Virtual Address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU는 하드웨어라 physical address를 바라볼 것 같지만 CPU가 바라보는 주소는 logical address임 -> 컴파일 되면 안에 들어가 있는 주소를 바꿀 수 없기 때문에 즉, 메모리 상의 주소는 바뀌지만..
키워드 deadlock, mutual exclusion, no preemption, hold and wait, circular wait, resource-allocation graph, deadlock prevention, deadlock avoidance, deadlock detection and recovery, deadlock ignorance Deadlock(교착상태) 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request(요청), Allocate(획득), Use(사용), Releas..