profile
물리학과 출신 개발자 지망생
post-thumbnail

[Project 2] User Program (2)

자식 프로세스는 부모 프로세스의 fork로부터 비롯된다. Remind. 지난번 포스트에 이어서 Project2 User Program에 대해 알아보자. 직전까지 했던게 OS가 사용자 프로그램을 어떻게 실행시키는지 구체적인 함수 스택영역에서 확인해보았다면 오늘은 그

2022년 1월 11일
·
0개의 댓글
post-thumbnail

[Project 2] User Program (1)

OS 입장에서 User는 마치 아무것도 모르고 바닥을 기어다니는 아기와 같다. 아기는 아무것도 모르고 막 만질테니 위험할만한건 미리 미리 치워놔야한다. Intro. pintos 를 비롯한 linux 운영체제는 사용자 프로그램이 직접 시스템에 영향을 미칠 수 없도록

2022년 1월 10일
·
0개의 댓글
post-thumbnail

Pintos project2 keywords

User mode vs. Kernel mode? kernel mode 시스템의 모든 메모리에 접근 할 수 있고 모든 CPU명령을 실행할수 있다. 운형체제 코드나 디바이스 드라이버같은 커널 모드 코드를 실행한다. cpu는 커널 모드 특권 수준에서 코드를 실행한다. (p

2021년 12월 31일
·
0개의 댓글
post-thumbnail

QEMU

Intro. 출처: 네이버클라우드 기술블로그 QEMU란 대표적인 에뮬레이터중 하나로써 매우 다양한 종류의 하드웨어를 소프트웨어로 구현해둔 Hypervisor 이다. Hypervisor 란? 여러개의 os 를 단일 물리 머신 위에서 스케줄링 할 수 있는 소프트 웨어

2021년 12월 30일
·
0개의 댓글
post-thumbnail

Race Condition

What is it? race condition이란 공용데이터에 대한 접근이 어떤 '순서'에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말한다. Specific problems 경쟁 프로세스의 경우 세가지 제어 문제에 직면한다. Mutu

2021년 12월 30일
·
0개의 댓글
post-thumbnail

Use After Free

Use After Free? malloc 함수의 caching 기능 중 deferred coalescing 속성 존재. -> free 된 heap이 realloc될 때에 같은 사이즈로 요청 받을 수 잇는데, heap을 병합하거나 분할하는 시간을 절약하고자 free

2021년 12월 30일
·
0개의 댓글
post-thumbnail

Context switching

Why is Context switching needed? computer 가 매번 하나의 task 만 처리할 수 있다면 해당 task가 끝날때까지 다음 task는 기다릴 수 밖에 없다. 이는 반응속도가 매우 느리고 사용하기 불편하다. (당연) What is the

2021년 12월 30일
·
0개의 댓글
post-thumbnail

Scheduler

What is Scheduler? 프로세스를 스케줄링해주는 장치. Job Queue: 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue: 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합 Device Queue: Devi

2021년 12월 30일
·
0개의 댓글

Assembly

Basic 레지스터 이름 앞에 %를 붙여서 레지스터를 나타낼 수 있다. (%eax)와 %eax는 엄연히 다른 역할을 한다. 괄호가 붙으면 해당레지스터에 메모리 주소가 들어있고, 그 메모리 주소가 가리키는 값을 나타낸다. 즉, 포인터다. 어셈블리 언어에서 사용

2021년 12월 30일
·
0개의 댓글
post-thumbnail

gdb 사용법

우선 gdb 를 설치한다. ubuntu 터미널에서 다음 명령어를 입력하면 된다. 내가 테스트 하고 싶은 파일들이 있는 폴더 (내 경우에는 /pintos/threads/build) 에 들어가서 원래 핀토스 테스트를 실행할때 쓰는 명령어는 였다면 이걸 gdb로 실행하

2021년 12월 30일
·
0개의 댓글
post-thumbnail

Malloc-lab(1)

지난번 링크드 리스트의 기초를 다루는 포스트에서 짤막하게 다뤘었던 '동적 메모리 할당'을 가능하게 만들어주는 할당기(allocator)를 만들어보려한다. 기본적으로 동적으로 메모리를 'Heap'에 할당하기위해 실제로 system call로서 malloc 이 어떻게 작동

2021년 12월 23일
·
0개의 댓글
post-thumbnail

Linked list with C (2)

Linked list 본격적인 링크드 리스트에 들어가기에 앞서 그림으로 간략히 설명해보고자 한다. (가상 메모리 상에서 물리적으로 붙어 있는 데이터그림들. 사이에서 next 포인터를 이용해 연결한 링크드 리스트 그림. 2개) 개념상으로는 그닥 어려울것 없어보인다.

2021년 12월 19일
·
0개의 댓글
post-thumbnail

Linked list with C (1)

C 언어는 F1 자동차와 같다. 엄청나게 빠르지만, 아무나 운전할순 없다. 리스트를 선언하면 가상머신으로 메모리를 알아서 할당하고 찾아주는 파이썬과 같은 언어와 달리, 우리의 츤데레 C는 직접 리스트의 원소들을 연결해주어야 한다.파이썬으로 프로그래밍을 처음 접했던 나로

2021년 12월 8일
·
0개의 댓글
post-thumbnail

Dijkstra Algorithm

어느 한 지점에서 모든 점으로 가는 최단 경로를 알고싶을때! 사용하는 다익스트라 알고리즘에 대해 알아보자놀랍게도 3주차 그래프 탐색을 공부하며 배웠던 다익스트라가 4주차에 배우는 DP를 사용하는 것이었다! (아무렇지도 않게 흡수했다니 나 혹시 dp 천재일지도?)각설하고

2021년 12월 1일
·
0개의 댓글
post-thumbnail

Knapsack Algorithm

knapsack 알고리즘. 도둑이 용량이 한정된 가방을 가지고 물건을 훔치는데 최대한의 가치를 얻고자 할때. 어떤 조합으로 물건을 가방에 집어넣어야 특정 가치가 최대가 되는지 확인할 수 있는 알고리즘 아직 잘 모르겠음... 여러 조합이 나열되어있을때 특정 조건의 최대를

2021년 12월 1일
·
0개의 댓글
post-thumbnail

[Python] 백준 10000번 '원 영역' 풀이

백준 알고리즘 10000번 '원 영역'의 오일러지표를 활용한 풀이입니다. 이론 및 풀이에 대한 조언, 오류 지적 매우 감사합니다! 1. 문제 접근 x 축에 나란하게 여러 원을 놓을때 서로 통과하지는 않지만 서로 접할 수는 있다. 이때 각 원에 의해서 생기는 영역의 갯

2021년 11월 18일
·
3개의 댓글
post-thumbnail

일상의 생각들#2

자연과학을 전공으로 한 나로서는 지금까지 이론이나 아이디어를 떠올리는 과정에서 이론자체의 이해와 아이디어 자체의 희소성, 명쾌함 같은 내재된 가치에 주목했었다. 하지만 정글을 막 시작한 지금 시점에서, 컴공이 왜 공학인지 여실히 느끼는 지점이 있다. 바로 “좋아, 좋은

2021년 11월 14일
·
0개의 댓글
post-thumbnail

일상의 생각들 #1

알고리즘 문제를 풀며 한 문제를 붙잡고 오후 내내 끙끙거렸다. 그렇게 고민을 해서 풀기라도 하면 억울하지나 않을텐데 결국 못풀었다.그러다 문득 코치님이 해주셨던 말이 떠올랐다. "30분 쳐다봐도 접근법조차 안떠오르는건 그냥 네 안에 없는거다."이걸 오늘 5시간의 고민끝

2021년 11월 14일
·
0개의 댓글

정글 1주차를 보내며

이곳에와서 개발 공부를 시작한뒤 날마다 새롭고 모든 배우는 내용이 신기할따름이지만 그 중에서도 가장 신기했던건 비슷한 가치관을 가진 사람들이 많다는 것이었다. 동기분들의 살아온 이야기를 듣다보면 정말 다양한 배경을 가지신 분들인 걸 알 수 있는데, 그 중에서 남들 다

2021년 11월 14일
·
0개의 댓글
post-thumbnail

[Python] 백준 2468번 '안전 영역' 풀이

<이와 같이 장마철에 내리는 비의 양에 따라서 물에 잠기지 않는 안전한 영역의 개수는 다르게 된다. 위의 예와 같은 지역에서 내리는 비의 양에 따른 모든 경우를 다 조사해 보면 물에 잠기지 않는 안전한 영역의 개수 중에서 최대인 경우는 5임을 알 수 있다.> 어떤

2021년 11월 9일
·
0개의 댓글