Operating Systems 2021F Lecture 23: Difference between revisions
Created page with "==Video== Video from the lecture given on December 9, 2021 is now available: * [https://homeostasis.scs.carleton.ca/~soma/os-2021f/lectures/comp3000-2021f-lec23-20211209.m4v..." |
(No difference)
|
Latest revision as of 18:45, 9 December 2021
Video
Video from the lecture given on December 9, 2021 is now available:
Video is also available through Brightspace (Resources->Class zoom meetings->Cloud Recordings tab)
Notes
Lecture 23
----------
Final is on December 16th, 7-9 PM
- if you have accommodations, the timing might be a bit different
I can potentially have the final earlier in the day for some, let me know
- but I need it to be fixed time
Final is same format as midterm
- no proctoring software
- but there will be interviews, ideally the week of Dec. 27th,
but if necessary the week of January 3rd.
- so everything will be graded by then
- if week of Jan 3rd, final grades will be submitted,
but I can submit a change of grade if things go up
Practice questions
- that's the assignments and the midterm
- I suggest making up your own
I will have an optional review session on Dec. 14th
- will be recorded, but I will have no prepared material
Final exam is open book/open note/open internet
- just NO COLLABORATION
But here's a hint - online isn't your best choice
- if you look up more than a few questions, you are doing it wrong
- takes up too much time, and will often mislead you
Look to the textbook when the tutorials/assignments feel unclear
- they will provide lots of context
atomic - something that is "indivisible"
- so an atomic operation can't be divided, it all happens or none of it happens
- in databases, we make things indivisible with transactions
- but that just means we undo changes if we can do them all
What is the heart of concurrency problems? TOCTTOU
- "time of check to time of use"
- data changes between the time you check it to the time you modify/use
it
- Anywhere you check data and then do something based on that test
is where concurrency issues can bite you
- which is all over the place
single-threaded processes really minimize concurrency issues
- minimal concurrency issue inside a process (except signals)
- between process concurrency is managed through system calls
- which from a process perspective are mostly atomic
- and there are mechanisms to enfore mutual exclusion for communication, e.g. pipes
What is ioctl?
- a system call that is device specific
- basically, a way to send custom messages to a device driver
- NO uniformity, so can make it whatever you want
- very old fashioned, not preferred nowadays but still used
Mental model: ioctl lets you control a device
- e.g., if it is a tape drive, lets you eject a tape
- things that don't fit into a classic file API model
You may volunteer for final interviews
- will have plenty of time!
- may have to extend into Winter term