Operating Systems 2017F Lecture 20: Difference between revisions

From Soma-notes
Rquaium (talk | contribs)
Rquaium (talk | contribs)
Line 1: Line 1:


== Additional Notes ==
<nowiki>Insert non-formatted text here</nowiki>== Additional Notes ==
Assignment 4 will be autograded and in fill in the blank form. This will not be like the final exam. <br>
Assignment 4 will be autograded and in fill in the blank form. This will not be like the final exam. <br>
You should think about who is doing what?  Otherwise FUSE won't make much sense <br>
You should think about who is doing what?  Otherwise FUSE won't make much sense <br>

Revision as of 18:49, 28 November 2017

Insert non-formatted text here== Additional Notes == Assignment 4 will be autograded and in fill in the blank form. This will not be like the final exam.
You should think about who is doing what? Otherwise FUSE won't make much sense

Inode numbers completely changed when you use ssh. It starts with 1 from "." (root) and increments from there.
Inodes come from filesystem you are acessing
He used df to find filesystem info
The used Commands: mount | grep ubuntu and mount | grep vda1 to find type of filesystem
In the SSH there is the filesystem type "fuse.sshfs"
When you run strace on ls on the two terminals (ssh connection and the local one) you see similar output
Prof Notes: When we run "ls" on an ssh-mounted filesystem

  • ls makes system calls (open, getdents) to the local Linux kernel
  • the local kernel sees the filesystem is FUSE, calls DUSE routines for open, getdents (via vfs abstraction)
  • FUSE calls the sshfs process that mounted the filesystem
  • sshfs process sends request to remote system

- via socket system calls

  • remote sshd process receives request (via system calls)
  • remote sshd process receives requests (via system calls)

- makes open, getdents sytem calls
- rmeote kernel checks vfs, calls ext4 routines to access data

  • remote sshd process responds to requests (via system calls)
  • local sshfs process receives response (via system calls)
  • local sshfs process responds to FUSE request (via system calls)
  • FUSE passes data back to vfs layer, then back to requesting process

End of prof notes

If you look as lsmod | less you see a ton of modules. Some of the modules are not necessary to mount the root filesystem.
ls /lib/modules there are directories that store the kernel modules
You have to have a filesystem that you mount initially that has a bunch of modules in it. Thus, there is an initial root file system that is necessary to load everything else