본문 바로가기

2️⃣ 개발 지식 B+/OS17

[PintOS 3-5] Swap In/Out [사전 지식] HDD   [사전지식] 코드     swap-out swap-in 2024. 10. 21.
[OS] File System 강의 정리 - 반효경 교수님 (v2017) 파일 시스템 1 파일시스템의 기초, 디렉토리 구조, 파일의 접근권한 보호   File, metadata, File systemOS는 다양한 저장장치를 file이라는 동일한 논리적 단위로 봄Directory : 파일의 메타데이터 중 일부를 보관하고 있는 일종의 특별한 파일Partition =  Logical DiskFile system 관련 management tableFile Descriptor Table : PCB (Process Control Block) 내에 존재Open File Table : 전역으로 관리 Memory vs File Protection(Virtual) Memory는 프로세스별로 각기 갖고 있어서 연산(R/W) 권한 체크만 해주었음그와 달리 File Protection은 "누구에게".. 2024. 10. 19.
[PintOS 3-1] Memory Management KAIST PintOS gitbook guideIn order to support your virtual memory system, you need to effectively manage virtual pages and physical frames 이번 과제에서는 복잡한 페이지 처리에 필요한 정보를 담는 자료구조 supplemental page table, frame table를 정의 [궁금증]Q. 그럼, PTE present bit로는 부족해서 SPT swap 여부를 저장하는 이유가 뭐야?A. PTE는 페이지가 물리 메모리에 있는지, 없는지 정보만 제공. OS는 페이지가 스왑 영역에 있을 경우 위치 정보 등의 메타 데이터가 필요 [주의사항]PML4는 HW / SPT, Frame Page Table는 O.. 2024. 10. 14.
[OS] PML4 이해하기 (w. PintOS) Page Table을 이용해 가상 주소로 물리 주소를 변환하는 과정을 학습했다는 전제하에 글이 작성되었습니다.Multi-Level Page Table 등장 배경단일 레벨 페이지 테이블의 경우 거대한 연속된 페이지 테이블이 필요. 미사용 PTE가 존재할텐데, 메모리 낭비 발생Multi-Level PT : 필요한 부분만 테이블 생성. Outer PT만 커널에 유지하고 나머지 하위단계 PT는 필요 시 생성 이때, 자료구조는? radix-tree page tablesparse한 physcal memory 사용 시 적은 메모리 사용으로 표현 가능Challenge 💪 vs hashed page table [출처]  PML4 구현 in PintOS 사전 지식; 매크로[비트 연산: right shift] 하위 몇 b.. 2024. 10. 14.
[OS] Virtual Memory 역할, 주소 변환 [참고자료] CS:APP 9장영상 : https://www.youtube.com/watch?v=Fg00LN30Ezg&t=1182s블로그 : https://charles098.tistory.com/101 VM 역할 및 장점 1. 캐싱CPU는 메인 메모리를 디스크에 저장된 주소공간에 대한 캐시로 취급해서 메인 메모리 내 활성화 영역만 유지 (CS:APP 772p) [궁금증] 캐싱 저장장치가 아닌데, 왜 그렇게 표현하는걸까?[해결]캐싱? 원본을 접근하는 시간이 오래 걸리는 경우, 가까운 임시 저장소에 저장 후 시간 절약하는 기법CPU ~ Disk 거리가 너무 멀어서 사이에 여러 개의 기억 장치(ex. DRAM(메인 메모리))가 존재함. CPU는 필요한 데이터를 메모리에 요청하고, 없으면 OS가 데이터를 디스크.. 2024. 10. 14.
[OS] QnA로 알아보는 Virtual Memory 목표 : QnA를 통한 개념 부족한 곳 채우기 (질문 리스트는 OSTEP 발췌 및 개인적인 궁금증) 틀린 부분 피드백은 언제든 환영 🙌 Q. 해당 노트북 사양을 분석하시오. - 프로세스당 가상 주소 공간 최대 크기- 물리 주소 크기(유사 질문)Q. 가상주소를 맵핑하는 물리주소는 어떤 HW를 지칭하는 걸까? RAM? Disk? 더보기1-bit 는 0 / 1, 총 2개의 주소를 표현할 수 있다. n-bit 프로세서는 최대 (2^n) 개의 논리 주소 공간을 가질 수 있다. 즉, 64bit는 18.4EB (K  시스템이 물리적으로 사용할 수 있는 메모리 공간은 RAM의 크기로, 8GB하지만, OS의 메모리 사용 및 시스템 예약 메모리 등으로 가용 물리 주소 공간은 7.8G으로 감소했다. Q. 이론적으로는 가상.. 2024. 10. 9.
[OS] Virtual Memory 강의 정리 - 반효경 교수님 (v2017) 강의 출처- A. Silberschatz et al., Operating System Concepts, 9th Edition, John Wiley & Sons, Inc. 2013.- A. Silberschatz et al., Operating System Principles, Wiley Asia Student Edition- 반효경, 운영체제와 " data-og-host="www.kocw.net" data-og-source-url="http://www.kocw.net/home/search/kemView.do?kemId=1226304" data-og-url="http://www.kocw.net/home/cview.do?cid=4b9cd4c7178db077" data-og-image=""> 운영체제- A. .. 2024. 10. 9.
[PintOS Project2] USER PROGRAMS 깃헙 링크 https://github.com/ddubbu-dev/pintos-1-9th-9team/tree/2-userprog-without-process-pass GitHub - ddubbu-dev/pintos-1-9th-9teamContribute to ddubbu-dev/pintos-1-9th-9team development by creating an account on GitHub.github.com FYI. Project 과제별로 브랜치를 save해두었습니다. 필요하신 분은 편히 참고하세요.틀린 부분 제보는 언제든 환영입니다.  테스트케이스 통과 현황 FAIL : system call process fork, wait, exec 파트는 이해가 덜 되어서 PR draft로만 남겨두었습니다. 발표 .. 2024. 10. 8.
[PintOS Project1] THREADS 깃헙 링크 FYI. Project 과제별로 브랜치를 save해두었습니다. 필요하신 분은 편히 참고하세요. 틀린 부분 제보는 언제든 환영입니다. https://github.com/ddubbu-dev/pintos-1-9th-9team/tree/1-1-alarm-clock GitHub - ddubbu-dev/pintos-1-9th-9teamContribute to ddubbu-dev/pintos-1-9th-9team development by creating an account on GitHub.github.com https://github.com/ddubbu-dev/pintos-1-9th-9team/tree/1-2-priority-scheduling GitHub - ddubbu-dev/pintos-1-9th.. 2024. 10. 8.