Operating Systems 2022F Lecture 23: Difference between revisions
Created page with "==Video== Video from the lecture given on December 8, 2022 is now available: * [https://homeostasis.scs.carleton.ca/~soma/os-2022f/lectures/comp3000-2022f-lec23-20221208.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/os-2022f/lectures/comp3000-2022f-lec23-20221208.cc.vtt auto-generated captions] Video is also available through Brightspace (Resources->Zoom meeting->Cloud Recordings tab) ==Notes== <pre> Lecture 23 ---------- * Assignment 4 solutions * Final..." |
(No difference)
|
Latest revision as of 23:23, 8 December 2022
Video
Video from the lecture given on December 8, 2022 is now available:
Video is also available through Brightspace (Resources->Zoom meeting->Cloud Recordings tab)
Notes
Lecture 23
----------
* Assignment 4 solutions
* Final Exam review!
- sorry about A3, one question remains to be graded, should get that done tomorrow
- A4 will be graded before the final so you'll have everything before the 21st
- My next week is busy so not planning on any other meetings, but I will be answering questions on Teams
- and I can have an ad-hoc meeting if there is something I can't address via Teams
What is on the final exam?
- A3 & A4
- midterm
Same format as the midterm
So how will I test the material from A4?
- some questions will test whether you actually did the assignment
(so not easily searchable, also not directly in solutions, have to
*understand* solutions)
- below is NOT exhaustive, but a view of concepts that are covered in the questions
- you should have an integrated view of what is going on
1: tainting, how modules are loaded/removed, what happens
2: virtual & physical addresses, write functions in kernel modules
3: what does dd do at a system call level (not in detail, not the ioctl's),
what bpftrace does (can watch functions in the kernel), what are probes
4: seeking in a module versus just reading (probably not)
5: role of put_user (kernel vs userspace), importance of doing this right
6: page table entries, page tables in general, maybe a specific reference
to the code
7: kernel memory management, why it uses pages, consequences of not
allocating or freeing memory in the kernel
8: process tree in Linux, how stored in task_struct
- why you might need locks
9: what "walking the page table" means
- not too much on this, we haven't spent too much time on it
- why could lookups fail? (missing entry -> part of page table
that isn't valid for whatever reason)
From Assignment 3?
1: rm command? how it could be dangerous (what rm -rf means)
2: what does the unshare command do? (not all, but some simple parts of it)
3: how the PID space is unshared, what that means
4: what is busybox, what does installing busybox mean, how does it put things in the "right" place, what does chroot do (what it means for it to run a script)
5: what determines free space in a filesystem
6: differences between virtual and physical size of files, file holes, what mounting a file does (how it brings in the loopX device, how it acts like a "real" disk that can give errors)
7: symbolic vs hard links, again busybox install what that does
8: how dynamically linked binaries work, what they depend on
(linker & config, libraries)
9: useradd, passwd & related files, what goes into making an account
10: mounting, device files, security implications
11: hostnames & unshare