참고 https://os2024.jeju.ai/week12/threads-cv.html 파트 분할 3) 병행성 3(ch. 30~34) => 두 파트로 분할 (30, 31 / 32~34) 컨디션 변수 ‘락’ 하나만 가지고는 제대로 병행 프로그램을 작성할 수 없습
참고 https://os2024.jeju.ai/week11/threads-locks.html https://os2024.jeju.ai/week11/threads-locks-usage.html 락 락(Lock)은 코드의 특정 영역을 감싸서 한 순간에 오로지 한 스레드만 이 영역에 접근할 수 있도록 해주는 동기화 메커니즘입니다. 즉, 락은 여러 스레드가...

참고 https://os2024.jeju.ai/week10/dialogue.html https://os2024.jeju.ai/week10/threads-intro.html https://os2024.jeju.ai/week10/threads-api.html 목적 쓰레드들이 메모리에 접근하는 것을 조정하지 않으면 프로그램이 예상처럼 동작하지 않을 수도...

https://os2024.jeju.ai/week09/vm-paging.htmlhttps://os2024.jeju.ai/week09/vm-tlbs.htmlhttps://os2024.jeju.ai/week09/vm-swap.htmlhttps&#
“프로세스마다 메모리 공간이 분리되어 있는 이유가 뭘까?”바로 CPU가 베이스 레지스터(Base Register) 와 바운드 레지스터(Bound Register) 라는 하드웨어를 통해각 프로세스의 메모리 접근을 감시하고, 보호하기 때문이다.초기의 컴퓨터에서는모든 프로그
https://os2024.jeju.ai/week05/vm-intro.htmlhttps://os2024.jeju.ai/week05/vm-api.htmlhttps://os2024.jeju.ai/week05/lab.html가상 메모리의 필요성여러

https://os2024.jeju.ai/week04/mlfq.htmlhttps://os2024.jeju.ai/week04/lottery.htmlhttps://os2024.jeju.ai/week04/lab-sched.htmlhttps:

참고 자료 프로세스의 개념가상화란?한 개의 자원을 여러 개의 가상 자원으로 만들어 낸 것프로그램은 디스크에 저장된 명령어와 데이터의 집합이다.운영체제는 시분할 방식으로 cpu를 나눠쓴다. 따라서 일정 시간이 지나면 실행 중인 프로세스를 멈추고, 제어권을 실행해야 할 프
운영체제 - 아주 쉬운 3가지 이야기책에서 말하는 3가지 이야기란 가상화, 병행성, 영속성을 말한다.책 읽기에 앞서 왜 운영체제를 공부해야 되는 지 의문이 들었다. 이전에도 조금 배웠었지만 배운 내용들을 개발할 때 사용해본 적이 없다. 하드웨어 위에서 소프트웨어가 돌아
아래 코드들은 폴더 구조가 필요한 이유를 좀 더 구체적으로 설명하기 위한 예시 코드입니다.utils folder를 따로 생성하는 이유가 뭐임? 해당 folder에 어떤 file을 담을건데?hooks 자주 쓰는 동작을 커스텀 해야 되는 이유가 뭐임?auth 폴더를 생성하

진짜 만들기 싫었지만 기존 코드에서는 img 삽입 방식을 커스텀하기가 어려워서 한땀한땀 다 가져다 붙였다.img와 link를 넣다보니 코드가 굉장히 길어졌다.이 부분의 핵심은 file 삽입과 삽입된 file의 미리보기 기능이다.요즘들어 ai 의존도가 다시 높아졌다. 이

프레임워크 공부하면서 한참동안 블로그를 작성하지 못했다..굳이 연습하는 코드를 블로그에 적으면 뭐하나 싶기도 했고..chat 서식에 img 첨부 가능하도록 기능 구현prettier extention 설치해서 은채가 올려준 guide보고 따라하기팝업창 구현 어떻게 할 지
목표 : movies의 list를 check해야 함movies가 비어있는 지 checkgetAll()의 type이 list type인지 check목표 : id를 받아서 movies list에 있는 id를 find()해서 가져옴id값이 number type인 지 chec
폴더 기반 라우팅 서비스를 사용한다?MVC 모델을 사용한다.typeScript 기반이다.JS에서의 함수 ‘⇒’ 이거 사용하면 어떻게 동작되는 지typeScript 강의 듣고 와야되나? 간단한 filter()함수 썼는데 이해가 안되네?'위 코드에서 log를 찍었을 시 s

→ disk를 초기화 한다.→ disk의 정보를 가져와서→ disk size를 계산한다.→ swap table을 생성한다.read(slot idx)swap disk → anon page로 데이터를 읽어와야 한다.bitmap reset(slot idx)slot을 다시 사
swap slot? → disk 공간에 있는 page size 정도의 공간을 말함.page size에 따라 정렬해야 한다.같은 프레임을 참조하는 여러 page들(aliases)를 조심해라.유저 가상 주소로 접근한 것인지 checkswap table을 관리해야 한다pro
rax의 값을 보면 이상한 쓰레기 값을 반환하고 있다. 문제 발생 근원지를 찾기 위해 로그를 찍어봤더니do_munmap()의 spt page를 해제해주는 부분에서 문제가 발생했다.find_elem에서 hash elem의 주소가 Null값이 반환되었기 때문이라고 예상하고
do_munmap() debug mmap-munmap test 설명 : 이 테스트는 mmap()에 의해 매핑된 메모리가 실제로 읽을 수 있는지와, munmap() 이후에 해당 메모리에 접근하면 실패(즉, 페이지 폴트)가 발생해야 하는지를 검증하는 테스트. bef
매핑된 addr을 받아서 매핑을 해제한다.매핑이 file backed page인지 anon page인지 checkfault stack growth case인지 && anon + lazy load인지 checkmmap()한 걸 해제할 때→ munmap(void \*add