μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- file
- flutter
- scaffold
- Flutter
- pintos
- icon button
- BFS
- Cow
- stack growth
- vm
- materialapp
- System call
- create
- widget
- Copy-on-write
- algorithm
- Today
- Total
JunHyeok
[PintOS - Userprog] Seek & Tell λ³Έλ¬Έ
tell
μμ€ν
μ½ π
tell
μμ€ν
μ½μ μ΄λ¦° νμΌ λ΄μμ νμ¬ νμΌ μ€νμ
(μ¦, νμΌ λ΄μμ νμ¬ μ½κ±°λ μΈ μμΉ)μ λ°νν©λλ€.
νμΌ μ€νμ
μ νμΌμ μμλΆν°μ λ°μ΄νΈ μλ₯Ό λνλ΄λ©°, tell
μμ€ν
μ½μ μ¬μ©νμ¬ νμΌ ν¬μΈν°μ νμ¬ μμΉλ₯Ό μ μ μμ΅λλ€.
tell ꡬν
unsigned tell(int fd) {
if (fd < 2 || fd > 128)
return;
struct file *tmp = process_get_file(fd);
if (tmp)
return file_tell(tmp);
return NULL;
}
fd
: μ΄λ¦° νμΌμ νμΌ λμ€ν¬λ¦½ν°.
μ΄ ν¨μλ νμΌμ νμ¬ μμΉλ₯Ό λνλ΄λ μ€νμ μ λ°νν©λλ€.
seek
μμ€ν
μ½ π
seek
μμ€ν
μ½μ μ΄λ¦° νμΌ λ΄μμ νμΌ ν¬μΈν°λ₯Ό νΉμ μμΉλ‘ μ΄λμν΅λλ€. μ΄ μμΉλ νμΌμ μμλΆν°μ λ°μ΄νΈ μλ‘ μ§μ λ©λλ€.
seek
μμ€ν
μ½μ μ¬μ©νμ¬ νμΌ λ΄μ νΉμ μμΉλ‘ μ΄λνμ¬ μ½κΈ° λλ μ°κΈ° μμ
μ μνν μ μμ΅λλ€.
Seek ꡬν
void seek(int fd, unsigned position) {
if (fd < 2 || fd > 128) {
return;
}
struct file *tmp = process_get_file(fd);
if (tmp) {
file_seek(tmp, position);
}
}
fd
: μ΄λ¦° νμΌμ νμΌ λμ€ν¬λ¦½ν°.position
: νμΌμ μμλΆν°μ λ°μ΄νΈ μ€νμ μ λνλ΄λ μμΉ.
μ΄ ν¨μλ μ§μ λ μμΉλ‘ νμΌ ν¬μΈν°λ₯Ό μ΄λμν΅λλ€.
ποΈ μμ½
tell
: νμ¬ νμΌ μ€νμ μ λ°ν.seek
: νμΌ ν¬μΈν°λ₯Ό νΉμ μμΉλ‘ μ΄λ.
seek
κ³Ό tell
μμ€ν
μ½μ 보μλ§μ read
μ write
μμ μκΈ΄νκ² μ°μ΄κ² λ€κ³ μκ°νλ€.
tell
κ³Ό seek
ν¨μλ₯Ό μ λλ‘ κ΅¬ννμ§ μμΌλ©΄ νμΌμμ μ½κ±°λ μμ ν΄μΌν μμΉλ₯Ό μ νν μ°Ύμ μ μμ κ²μ΄λ€.
FAIL tests/filesys/base/lg-random
FAIL tests/filesys/base/sm-random
μμ ν
μ€νΈ κ²°κ³Όλ seek
κ³Ό tell
ν¨μλ₯Ό μ λλ‘ κ΅¬ννμ§ μμμ λ λνλλ€. (λ¬Όλ‘ read
μwrite
λ μ λλ‘ κ΅¬ν λλ€κ³ κ°μ )
random μ΄λΌλ ν
μ€νΈ λͺ
μμ μ μ μλ―, νμΌμ μ΄κ³ λλ€ν μμΉμ μ κ·Όνμ¬ μμ μ νλλ° μλ¬κ° λ κ²μ΄λ€!
μμΌλ‘λ κΌΌκΌΌνμ’ μ²΄ν¬νμ! π₯²
'PintOS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[PintOS - Userprog] Fork, Exec, Wait μ λ€μ΄κ°κΈ° μμ... (0) | 2024.05.29 |
---|---|
[PintOS - Userprog] Write (0) | 2024.05.28 |
[PintOS - Userprog] Create & Remove (0) | 2024.05.28 |
[PintOS - Userprog] Read (0) | 2024.05.28 |
[PintOS - Userprog] Open & Close (0) | 2024.05.27 |