
2.6.23 커널 이전에 사용되던 O(1) scheduler들에서 CFS 스케줄러로 변경CFS schedulerCompletely Fair Scheduler“Ideal multi-tasking CPU” is a (non-existent :-)) CPU that has 100% physical power and which can run each task at precise equal speed, in parallel, each at 1/nr_running speed. For example: if there are 2 tasks running, then it runs each at 50% physical power --- i.e., actually in parallel. 이를 구현하기 위해 프로세스가 실행된..

Instruction execution프로세스가 시작된 이후 CPU가 프로그램을 실행할 때의 순서프로세스를 위한 메모리 초기화file -> memory code segment loadrip를 메모리 code의 entry point로 이동instruction 실행PCB (Process Control Block)운영체제는 여러 프로세스를 동시에 실행해야 하므로, 실행 중인 프로세스를 전환할 때마다 현재 프로세스의 상태를 저장해야 한다. 이를 PCB(Process Control Block) 에 저장하며, PCB는 커널 영역의 메모리에 위치한다.PCB에는 다음과 같은 정보가 포함된다.프로세스 ID (PID): 프로세스 고유 식별자프로세스 상태 (Process State): 실행(Running), 대기(Waiti..

Overview유저에서 프로세스 관리, device 제어 등 기능을 수행할 때, System call을 사용하여 커널로 요청을 보낸다.이때 Trap이라는 software Interrupt을 걸어 진행중인 flow를 커널 mode로 변경한다.kernel에서 작업이 끝나면 레지스터를 통해 return을 반환하고 user mode로 변경된다. Pintos를 기준으로 system call을 알아본다.User Invokeprint와 같이 stdout으로 출력 또는 stdin 입력은 standard library 내부에서 write system call wrapper로 구현되어 있다.해당 system call은 실제로 다음과 같은 어셈블리 코드로 구현된 매크로로 구현되어있다.#define syscall0(NUMBE..

vscode 우분투 환경에서 진행하는 핀토스는 vscode에서 remote-ssh로 접속해 ide 환경에서 작업 가능하다. 여러 파일을 이동해가며 구현해야 하기에 IDE 환경에서 하는걸 추천함 추천 extension remote-ssh vscode에서 local환경 외에 ubuntu 서버에 접속해 local 환경처럼 작업할 수 있게 하는 extension C/C++ extension C언어 snippet, debug 등 다양한 기능을 하는 extension으로 깔아두면 함수 ref 이동, 문법오류 등 도움 많이 됨 다만 pintos환경에선 실행에 따라 #ifdef 와 같이 전처리 지시어등이 있는데 이를 에디터에서 적용해서 볼려면 추가적으로 properties 설정을 해주어야 한다. control + sh..
- Total
- Today
- Yesterday
- 구름ide
- GPT2
- pvm
- 토이프로젝트
- 분할 정복
- 뿌요뿌요 테트리스
- io blocking
- HNSW
- os
- 코딩
- ttyd
- 백준
- pintos
- 뿌요뿌요
- 시간 초과
- C
- 웹IDE
- 정보보호병
- FastAPI
- vector search
- 사이버정보지식방
- 프로젝트
- codeanywhere
- Web
- Deep Learning
- Python
- react
- 리눅스
- 싸지방
- letsencrypt
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |