Why is Context switching needed? computer 가 매번 하나의 task 만 처리할 수 있다면 해당 task가 끝날때까지 다음 task는 기다릴 수 밖에 없다. 이는 반응속도가 매우 느리고 사용하기 불편하다. (당연) What is the
What is Scheduler? 프로세스를 스케줄링해주는 장치. Job Queue: 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue: 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합 Device Queue: Devi
Use After Free? malloc 함수의 caching 기능 중 deferred coalescing 속성 존재. -> free 된 heap이 realloc될 때에 같은 사이즈로 요청 받을 수 잇는데, heap을 병합하거나 분할하는 시간을 절약하고자 free
What is it? race condition이란 공용데이터에 대한 접근이 어떤 '순서'에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말한다. Specific problems 경쟁 프로세스의 경우 세가지 제어 문제에 직면한다. Mutu
Intro. 출처: 네이버클라우드 기술블로그 QEMU란 대표적인 에뮬레이터중 하나로써 매우 다양한 종류의 하드웨어를 소프트웨어로 구현해둔 Hypervisor 이다. Hypervisor 란? 여러개의 os 를 단일 물리 머신 위에서 스케줄링 할 수 있는 소프트 웨어
User mode vs. Kernel mode? kernel mode 시스템의 모든 메모리에 접근 할 수 있고 모든 CPU명령을 실행할수 있다. 운형체제 코드나 디바이스 드라이버같은 커널 모드 코드를 실행한다. cpu는 커널 모드 특권 수준에서 코드를 실행한다. (p
OS 입장에서 User는 마치 아무것도 모르고 바닥을 기어다니는 아기와 같다. 아기는 아무것도 모르고 막 만질테니 위험할만한건 미리 미리 치워놔야한다. Intro. pintos 를 비롯한 linux 운영체제는 사용자 프로그램이 직접 시스템에 영향을 미칠 수 없도록
자식 프로세스는 부모 프로세스의 fork로부터 비롯된다. Remind. 지난번 포스트에 이어서 Project2 User Program에 대해 알아보자. 직전까지 했던게 OS가 사용자 프로그램을 어떻게 실행시키는지 구체적인 함수 스택영역에서 확인해보았다면 오늘은 그
mmap 이란? 메모리의 내용을 파일이나 디바이스에 대응(mapping)하기 위해서 사용하는 시스템 호출이다. 메모리관리와 mmap 프로세스간 기본적으로 메모리는 공유되지 않는다. -> 가상 메모리 공간을 쓰는 이유 이는 보호를 위해선 반드시 필요한 기능이지만
내 집 마련이란, 유저 프로세스에게도 나에게도 환상과 같은 것이다. 지난번 프로젝트에 이어서 Virtual Memory는 운영체제가 유저프로세스를 다루는지, 뿐만아니라 전반적인 Memory Management 에 대해서 배워볼 수 있었다.Project 2 가 User
Uninitialized page. 핀토스 Virtual Memory 에서 다루는 page의 타입은 세가지다. Uninit type Anonymous type File-backed type anonymous 와 file backed는 이름에서 어느정도 특성과