일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- multi-oom
- 핀토스 프로젝트 1
- Project 1
- 핀토스 프로젝트 4
- 제발흰박
- 내일부터
- 황금 장미
- 아직도 실험 중
- 글리치
- 자 이제 시작이야
- 글루민
- 일지 시작한 지 얼마나 됐다고
- 핀토스 프로젝트
- 핀토스 프로젝트 3
- 가테
- 핀토스 프로젝트 2
- 파란 장미
- botw
- 끝
- 셋업
- PINTOS
- 바빠지나?
- 마일섬
- alarm clock
- 노가다
- Today
- Total
목록전체 글 (127)
거북이의 쉼터
이젠 구체적으로 어떤 기능 및 함수를 구현해야 할 것인지를 살펴보자. 각 프로세스의 cwd를 위해서는 thread 구조체에 또 다시 인자를 추가해야 할 것 같다. 각 thread에 대해 directory를 하나 열어두고, 열린 디렉토리를 cwd로 취급한다. 가장 처음에 시작되는 프로세스의 경우는 root directory를 열어서 cwd로 삼을 것이다. fork 할 때 해당 cwd를 한 번 더 열어서 새롭게 생성되는 프로세스에게 이전할 수 있으며, chdir 함수를 이용해서 cwd를 변경할 수 있을 것이다. 다음으로는 파일 경로로 들어오는 이름을 파싱할 함수를 구현해야 한다. 파싱할 함수를 두 개 만드는 것이 적절해보이는데, 하나는 해당 파일이 최종적으로 위치한 디렉토리를 여는 함수, 다른 하나는 해당 ..
다음으로 진행할 것은 subdirectory이다. 지금까지의 핀토스 파일 작업은 모두 단일 root 디렉토리 아래에서만 이루어졌다. 어떻게 버텼냐... 이제 드디어 단일 root directory에서 벗어나, 하위 디렉토리를 생성하고, 해당 디렉토리로 이동하여 작업을 진행할 수 있다. 각 프로세스는 해당 프로세스가 진행되는 고유한 디렉토리인 current working directory, 줄여서 cwd를 가지고 있어야 한다. 이를 가져야만 상대 주소로 파일을 열거나, 닫거나, 지울 때 어떤 파일이 참조되는지를 알 수가 있다. 지금까지는 디렉토리가 루트 디렉토리 하나 뿐이라 어떤 프로세스에서 상대 주소로, 또는 절대 주소로 파일을 사용하더라도 티가 안 났으나, 이제는 상황이 달라졌다. 이제 입력으로 들어오..
보호되어 있는 글입니다.
보호되어 있는 글입니다.