일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 글루민
- 끝
- Project 1
- alarm clock
- 노가다
- multi-oom
- 핀토스 프로젝트
- 내일부터
- 아직도 실험 중
- 일지 시작한 지 얼마나 됐다고
- 마일섬
- 바빠지나?
- 셋업
- 핀토스 프로젝트 3
- 제발흰박
- 가테
- 파란 장미
- 핀토스 프로젝트 2
- 핀토스 프로젝트 4
- 핀토스 프로젝트 1
- PINTOS
- 자 이제 시작이야
- 황금 장미
- botw
- 글리치
- Today
- Total
목록전체 글 (127)
거북이의 쉼터
조진줄 알았던 대학원 입학에 필요한 모든 절차를 마쳐가고 있다. 등록도 끝났고, 기숙사도 잡았고, 시간표도 짜서 수강신청도 완료했고, 교수님께서 방학 동안 읽어오라는 논문도 얼추 이해를 마쳤다. 이제 들어가서는 조교 업무는 어떻게 하는지, 기타 랩 관련 규칙은 뭐가 있는지 세부적인 것들을 알아가면 된다. 들어가자 마자 할 일로는 교수님 랩에 배정되었다는 서류 처리와, 예비군 관련된 사항이 온전히 처리되었는지 알아보는 것이다. 군대에서 전역한지 얼추 1년 즈음 되는 시기이기도 하고, 매일 들어오는 블로그에 업데이트가 5월 이후로 안되고 있어서 오랜만에 업데이트 할 겸 짧은 글로 마무리한다.
해당 포스팅에서는 파일 시스템에 데이터 변동이 일어났을 때의 consistency를 보존하는 방법을 다룰 것이다. 다시 cache가 수반된 read와 write의 실행과정을 살펴보면: read : 읽고자하는 블록이 cache에 있는지 살펴보고, 있다면 바로 유저에게 반환, 없다면 디스크에서 cache로 해당 블록을 가져오고 반환한다. write : write하는 내용은 바로 디스크로 넘어가지 않고 메모리 상에만 변화가 일어났다가 (write behind) OS가 디스크에 쓰기로 결정했을 때 (fsync 등의 동기적 방식 또는 주기적으로 flush되는 비동기적 방식) 변화가 반영된다. 디스크에 write를 최대한 늦추는 이유는 퍼포먼스 증대를 위해서 이지만, 이는 시스템의 안정성과 consistency에 ..
대체 핀토스 4번은 언제쯤 유지보수 끝날까? 암튼 시작. Hard Link link()는 system call의 일종으로 old file과 new file을 연결하는 역할을 한다. 이 때 생성되는 링크의 종류는 Hard Link이며, new file을 old file처럼 사용할 수 있게 한다. 그 내부에서는 실제로는 두 파일이 같은 inode를 가리키게 된다. ls -i 를 하면 inode value를 확인할 수 있는데, hard link된 파일들에서는 이들이 같은 값을 나타내는 것을 볼 수 있다. 링크된 파일들은 inode 단에서 같은 inode로 연결되기 때문에 old file과 new file은 차이가 없게 된다. 링크가 생성되면 inode의 reference count를 증가시킨다. referen..
지금까지 해왔던 것들을 다시 정리하고 가자. 우리는 지금까지 CPU 쪽에서 인터럽트, 스케줄러, 프로세스와 쓰레드 abstraction을 배웠고, 메모리 쪽에서는 MMU, VM, PM, eviction policy, TLB 등을 배웠다. 이제는 IO 파트에 위치한 abstraction만 공부하면 전체 컴퓨터와 관련된 것을 공부한 것이 된다. 네트워크와 관련된 것은 네트워크 수업 때 배워라. 앞으로 할 포스팅의 주 주제는 file system이 될 것이다. Physical device상에서 어떤 것이 유용한 abstraction이 될 지 생각할 것이다. 그 뒤에는 디스크나 플래시 메모리 같은 스토리지 HW의 특성을 배울 것이다. 마지막으로는 파일 시스템을 사용하는 어플리케이션의 패턴을 이용해 메커니즘을 설..