목록SW사관학교 정글 (51)
세리프 따라잡기
문득 잠도 안 오고, 정글사관학교의 기숙사에 대해 말해보고자 한다😋 일단 나는 봄~여름에 있던 사람이었으니, 그 기준으로만 말하겠다! 일단 필수품이라고 생각하는 것을 나열하면, (or 가서 사야 될 것들) - 와이파이 = 본인 폰이 무제한이라 핫스팟 빵빵하면 상관 없지만, 그런 거 아니라면 공유기 준비하자 ㅎㅎ.. 사실 그렇게 기숙사에서 공부할 일은 없지만, 간혹 필요할 때나 기숙사에서 폰 조금 만지면 데이터 순삭이다!! - 멀티탭 = 침대 가까이에 콘센트가 없습니다. 가져가면 유용합니다~ - 수건 = 제공 안 합니다! 꼭 가져가세요~ - 세안도구(샴푸, 린스 등등 포함) = 제공x 가져가기! - 드라이기 = 은근 안 가지고 온 사람들이 많았던 필수품... 꼭 챙겨가서 머리 말립시다 ㅎㅎ (+자매품으로 ..
아래는 스크립트 및 WIL 📒 팀원: ㅊㅈㅎ, ㅂㄱㅎ, me😏 발표자: ㅂㄱㅎ🧒 저희 조는 FAT 대략적인 개념과 file allocation table 을 초기화하는 코드에서 헷갈렸던 부분에 대해서 발표하고자 합니다. 먼저 FAT 란? 은~ 나중에 설명드리고 그 전에 먼저 FAT 개념에 대해 알아보기전에 디스크에 파일을 할당하는 방식에 대해 설명하겠습니다. 디스크에 파일을 할당하는 방법으로 연속할당과 비연속 할당이 있습니다. 먼저 연속 할당은 디스크에 파일을 연속으로 할당하는 방법으로 특정 블럭에 접근하기 위해 블럭을 하나 하나 접근할 필요없이 해당 블록의 위치만큼 더해주면 바로 접근이 가능합니다. 그래서 직접 접근이 가능하다는 장점이 있습니다. 하지만 단점으로 비어있는 hole 보다 큰 파일이 들어오..
git book 보고 정리한 내용!! PROJECT4: FILE SYSTEM Introduction 주로 filesys 디렉토리에서 작업 프로젝트2 또는 3에 프로젝트4를 빌드할 수 있음. 근데 vm을 비활성화하면 10퍼 크레딧이 차감된대. 우리 파일 시스템은 유닉스 계열과 유사한 인터페이스니까 creat, open, close, read, write, lseek, 그리고 unlink에 대해 유닉스 man page를 읽고 싶을 수 있는디, 호출이 다르대. 파일 시스템은 이런 작업을 디스크로 변환한다 그리고 모든 기본 기능은 Introduction의 위에 나열된 파일에서 사용할 수 있어, 근데 심각한 사항이 있음. 그게 뭐냐면 대부분의 filesys 작업 중에 이전 부분과 상호작용에 준비해야 한대. (무슨..
PROJECT3: VIRTUAL MEMORY 주요 구현 함수 1. Memory Management = struct page, claim frame, supplemental page… 2. Anonymous Page = anon page, lazy load… 3. Stack Growth = stack growth… 4. Memory Mapped Files = mmap/munmap… 5. Swap In/Out = file/anon-swap in/out… 아래는 스크립트 및 WIL 📒 팀원: ㅊㅈㅎ, ㅂㄱㅎ, me😏 발표자: me👩 PintOS Project3 구현을 하면서 많은 에러가 있었지만, 그 중에서 가장 골머리를 앓으며 잡은 에러는 mmap-exit tast case입니다. 보시는 것처럼 ‘예상했던 ..
※ 전부 정리한 것은 아닙니다! ※ Anonymous Page *지연 로딩 페이지 초기화 vm-alloc-page-with-initializer = 새 페이지 초기화하고 컨트롤을 다시 사용자 프로그램으로 반환 > 아직 내용이 없는 페이지에 엑세스 하려고 해서 > 페이지 폴트가 일어남 오류 처리 uninit-initialize가 호출 > 이전 설정 이니셜라이즈 호출 이니셜라이즈 > anon-initializer & file-backed-initializer == 익명 페이지와 파일 지원 페이지를 위한 것 페이지 수명 주기 = initialize->(page_fault->lazy-load->swap-in>swap-out->...)->destroy 수명 주기는 페이지 유형이랑 VM_TYPE에 따라서 다르고, ..
Asterisk란? 파이썬 asterisk(*) 사용 용도 이 글은 파이썬에서 * 표현이 어떤 용도로 사용하는지에 대해 다룹니다. 1. 곱셈과 거듭제곱 - 굳이 코드를 붙이지 않아도 다들 아실거라고 생각합니다. 1 * 2 = 2 2 ** 2 = 4 2. 리스트 확장 * 를 사용 hwiyong.tistory.com
스왑 파티션이 뭘까? 리눅스 스왑(SWAP) 파티션이란 무엇? 어떤 일을 하나요? 대부분의 리눅스 배포판은 스왑(SWAP) 파티션 설정을 권장합니다. 파티션 하나에 전체 운영 체제를 두고 사용해온 윈도우 사용자에게는 낯설게 보일 수 있는 광경이죠. 그럼, 스왑(SWAP) 파티션이 sergeswin.com
PintOS Project2 - WIL 😎 WIL(Weekly I lerned) Lock 대부분의 기능들 안에 공유자원을 동기화하기 위한 코드가 필요 int write(int fd, const void *buffer, unsigned size) { check_address(buffer); lock_acquire(&filesys_lock); ... file_write(file_obj, buffer, size); // 공유자원(file)에 대한 작업 ... lock_release(&filesys_lock); return ret; } file 은 여러 프로세스가 사용할 수 있는 공유 자원이다. ⇒ 파일 관련 system call 처리 함수 안에 lock 추가 필요! TSS**(task state segment..
새롭게 알게 된 것이나 공유하면 좋을 것 같은 정보 적어둬라... 그래서 wil 발표에서 써먹게 ㅇ-ㅇ 아래는 내가 정리한 wil에 쓸 내용~~ 이번 PintOS Project2의 CS적인 부분은? Table of Contents 1. Argument Passing 2. User Memory Access 3. System Calls 4. Process Termination Message 5. Deny Write on Executables = kernel vs user, 둘의 차이 = register에 대해 = 어셈블리어에 대해 = system call에 대해 = page + 페이징 기법 + 페이지 테이블 + 4단계 페이징 기법 = 논리주소와 가상주소의 1:1 매핑의 과정 #내가 참고했던 사이트 정리글 아..