cursor based pagination에 대해
기존의 offset based pagination에서 cursor based pagination으로 바꾸며 배운 내용을 정리한 내용입니다 문제 상황 offset을 기준으로 페이징을 할 시 큰 숫자의 페이지 숫자 요청 시 성능 문제가 발생한다 그 이유는 offset의 특징 때문인데 이에 대해 알아보자 위 그림과 같이 10,001째...
기존의 offset based pagination에서 cursor based pagination으로 바꾸며 배운 내용을 정리한 내용입니다 문제 상황 offset을 기준으로 페이징을 할 시 큰 숫자의 페이지 숫자 요청 시 성능 문제가 발생한다 그 이유는 offset의 특징 때문인데 이에 대해 알아보자 위 그림과 같이 10,001째...
File and File System File 관련 정보를 이름을 통해 저장하는 것 일반적으로 비휘발성 장치에 저장 OS는 다양한 저장장치들도 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌(device special file) Operation : create, read, write,...
Demand Paing 실제로 필요할 때 page를 메모리에 올림 Valid/Invalid bit 사용 Invalid의 의미 : 사용되지 않는 주소 영역, 페이지가 물리적 메모리에 없는 경우 처음에는 모든 entry page가 invalid로 ...
Logical VS Physical Address Logical address(= virtual address) : 프로세스마다 독립적으로 가지는 주소 공간, 0부터 시작, CPU는 logical address를 봄 Physical address : 실제 메모리에 올라가는 위치 주소 바인딩 : 주소...
Deadlock 각자 리소스를 가지고 있으면서 상대방이 가지고 있는 리소스를 필요로함 -> 근데 각 프로세스는 리소스를 내어 놓지 않아 진행이 되지 않는 상태 Deadlock : 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource 하드웨어, 소프트웨어 등을 포함하는 개념(I/O ...
Race Condition Storage를 공유하는 CPU process들이 있는 경우 Race condition(경쟁 상태)의 가능성이 있다 Race condition이란 하나의 data를 여러 곳에서 접근하는 상황을 의미한다 예) kernel 수행 중 인터럽트...
프로그램 실행 시 흐름 그림과 같이 CPU를 사용하는 CPU burst와 I/O를 하는 I/O burst를 반복적으로 실행하게 된다 CPU-burst Time의 분포 위 그림으로 알 수 있는 사실은 I/O bound job = CPU를 짧게 자주 I/O로 바뀜, CPU bound job = 실제로 CPU를 길게 씀 CPU ...
프로세스 생성 부모 프로세스가 자식 프로세스를 부모를 복제해서 생성 하나의 부모가 여러 자식을 가질 수 있음 -> 프로세스의 트리(계층 구조) 형성 자식 프로세스는 리소스들을 부모와 공유하는 경우도 있고, 공유하지 않는 경우도 있음(원칙적으로는 공유 X) 원칙적으로 공유하지 않지만 자식 프로세스가 부모와 똑같은 ...
프로세스의 개념 프로세스란 실행 중인 프로그램을 뜻함 프로세스의 문맥(Context) : 특정 시점을 봤을 때 해당 프로세스가 어떤 상태인지 나타내는 것 CPU 수행 상태를 나타내는 하드웨어 문맥 : Program Counter, registers 프로세스의 주소 공간 : c...
컴퓨터 시스템 구조 Memory : CPU의 작업 공간, CPU는 매시간 메모리에서 instruction(기계어)을 읽어 실행한다. CPU : 매시간 메모리에서 instruction(기계어)를 읽어 처리함. 그것만 함. registers : 메모리보다 더 빠른 정보를 저장할 수 있는 공간 mo...