목록전체 글 (116)
운동하는 공대생

1. ReviewSegmentation : 가상 메모리에서 물리적 메모리로 데이터를 메핑 할 때 데이터의 제일 앞에 있는 2개의 비트를 데이터의 종류를 구분하는 용도로 사용을 하였다.하지만 여기서의 문제는 사진에서 보여지듯이 External Fragmentation 즉 데이터를 분류하면서 데이터들 간의 작은 공간의 발생으로 메모리 낭비가 발생하는 문제가 있다. 이런 문제를 해결하기 위해서 Segmentation 에서는 데이터의 종류에 따라서 고정되지 않는 사이즈로 물리적 메모리에 적재했다면 Paging은 고정된 사이즈로 주소를 정해둔다. 이것은 나눠진 부분을 Page frame이라고 무르며 이것의 사이즈는 2의 제곱 형식으로 사이즈가 구성된다. 여기서 Page와 Frame의 블록의 크기는 같다. 2. ..

1. Relocation프로세스가 물리적 메모리에 저장이 되기 위해서는 0에서 바로 시작하는 것이 아니라 메모리의 어딘가에 저장을 해야 한다. 이런 가상의 주소에서 물리적 메모리의 주소로 변환하는 과정을 relocation이라고 한다. Static Relocation소프트웨어를 기반으로 메모리에 할당을 하는 방식이다. 여기서는 메모리에 로딩할때 OS가 각각의 프로그램에 할당한다. 즉 모든 프로세스에 대한 주소를 다시 작성을 하는 것이라고 할 수 있다. 그래서 이런 방식은 하드웨어에 대한 도움이 필요하지 않지만 메모리에 직접적으로 접근하기 때문에 보안에 취약하다. 또한 메모리를 한번 할당하면 주소를 이동하는 게 힘들다. Dynamic Relocation이 방식은 하드웨어를 기반으로 작동하는 방식이다. CP..

1. Recap운영체제에서 메모리에 저장되어 있는 process를 접근을 해야 하는데 이것은 보안에 문제가 생긴다. 그래서 이런 문제를 해결하고자 메모리의 직접적인 주소를 참조하는 게 아니라 가상의 주소를 참조하게 하는 것을 이것의 해결 방법으로 사용하고 있다. 이는 3가지 측면에서 효율성을 보인다. Protection각각의 서로 다른 프로세스가 서로를 보호 하기 위해서 VM이 작동해야 하며 이는 각각의 프로세스가 독립성을 가지게 해 준다.Transparency메모리의 실질적인 주소를 알 필요가 없기 때문에 프로그래밍의 편의성을 만들어 준다.Efficiency다양한 사이즈에 대한 메모리 분할을 최소화하는 게 가능하다. 2. Virtual Memory프로세스의 주소는 가상의 메모리 주소를 가지고 있으며 이..

1. CPU Scheduling정의 : 어떤 프로세스를 다음으로 실행을 할 것인지에 대한 방식 다음에 어떤 프로세스를 실행을 해야하는지는 여러 가지 지표를 통해서 선택이 되어야 한다.Minimize trunaroung time : 작업 소요 시간Minimize response time : 최초 실행 시간 Minimize waiting time : process 대기하는 queue에서 많은 시간을 사용하지 않아야 한다.Maximize throughput : 처리율이 최대로 나와야 한다.Maximize resource utilization : 디바이스 활용을 최대화Minimize overhead : context switch를 최소화해야 한다.Maximize fairness : 같은 양의 CPU 리소스를 활..

1. Mode switch User -> KernelInterrupts: 외부의 hardware에 대하여 발생한다.Exceptions: 프로그램에서 예상하지 못한 상황에서 발생한다. 예를 들어 외부 침입자 같은 상황System calls: process에서 kernel에 요청을 줄때 Kernel -> User- Return from interrupt, exception, system call : 이전에 User에서 Kernel 상태가 끝이 나고 돌아올 때- User-level upcall(UNIX signal) : 비동기적 사용자 프로그램의 처리 2. Data Transfer Modes PIO(programmed IO)CPU가 I/O 디바이스와 memory 사이에서 데이터를 전송하는 일에 관련되어 있다..

1. Intro과거에는 OS kernel과 application이 같은 메모리 주소 체계에서 실행되었다. 하지만 이는 하드웨어의 리소스를 추상화하는 OS의 역할을 충분히 수행하지 못하며 보안성에도 취약하다. 2. Protectionwhat should the designer do for protection? 1) Define a unit of protection: 어떤 문제에 대한 정의가 필요하다.2) Devise protection mechanism for the kernel: 보호 체계를 고안해야 한다. Unit of protectionabstraction : 제한된 권한에서의 프로그램 실행, 컴퓨터 하드웨어에 대한 추상화 OS designer names the abstraction as a pro..

논문https://arxiv.org/abs/2403.02310 Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-ServeEach LLM serving request goes through two phases. The first is prefill which processes the entire input prompt and produces the first output token and the second is decode which generates the rest of output tokens, one-at-a-time. Prefill iterations have hiarxiv.org1. Introduction본 논문에서는 기존의 L..

1. 프로세스프로세스(process)란 실행 중인 프로그램을 의미합니다. 운용체제 영역에서 각각의 프로세스를 관리하기 위해서는 Process Control Block(PCB)라는 것을 두고 프로세스에 대한 정보를 보관한다. 2. 프로세스 상태 관리기본생성 상태 : PCB 를 생성하고 작업 큐에 넣는다. 이때 프로세스 번호(PIC)가 결정된다. 이후에 준비 상태로 넘어간다.준비 상태 : 프로세스는 준비 큐(ready queue)에 머물고 있다가 스케줄러에 의해 선택되면 CPU에 할당받는다. CPU에 할당하는 과정을 디스패치(dispatch)라고 한다.실행 상태 : CPU가 프로세스의 명령을 처리하며 처리되다가 스케줄러가 준비 큐에서 다른 프로세스를 선택하게 된다면 실행중인 프로세스는 회수당하며 준비 상..