In-class notes for 11/04/2020
CS 273 (OS), Fall 2020
Deadlock
- Definition of deadlock
- Four necessary and sufficient conditions for deadlock; resource graphs
- Strategies for dealing with deadlock
Security and protection
-
Be educated about security as a user, system administrator, implementer and/or designer.
Think security throughout design and implementation
Make security design simple and verifyably correct
Beware of unsafe assumptions upon which security depends.
Give the least possible access in every conceivable way.
Seriously test security
Security/convenience tradeoff.
Review topics for optional exam
Memory management
Swapping - copy all memory for a (not currently used) process to disk
Paging - copy pages of content to/from main memory. Know terms, mechanism, page replacement algorithms
Segmented memory - hardware feature visible to programmer, where segment number is (possibly implicit) part of address of memory.
Meta-concepts: fragmentation (internal and external)
Exercise: p254 #36
Programming with sockets, pthreads, FILE library
Programming with sockets - see
sender.c
,receiver.c
, HW 4Programming with pthreads - see
pthreads.c
, HW 6, HW 7
Be able to read, modify, answer questions about these codes; be familiar with homework exercises
- File systems
- Typical system calls -
open(), close(), read(), write(), mkdir(), dup(), lseek(), mount(),
etc.- Awareness of what these do and that they are FS calls
- Features apparent to the user, with emphasis on those discussed in class
- File storage strategies
- FAT-32
- Linux i-node. pseudocode
fsck
algorithm.
- Block cache: concept, block replacement algorithms, special
cases (e.g., doubly indirect blocks, cached i-nodes/directories),
sync
- Issues in log-structured file systems and journalling
- Typical system calls -
-
- Goals for I/O software: given a list of them, describe what they are and why they are important.
- Which layers of I/O software are used in given operations in a computing system (e.g., HW9)
- Structure of a device driver
-
- Definition of deadlock
- Four necessary and sufficient conditions for deadlock; resource graphs
- When to consider deadlock strategies discussed in class.
- Ignoring deadlock
- Detection and recovery
- Deadlock avoidance ("safe" states), Banker's algorithm
- Deadlock prevention (negating conditions)
Any items through today on security
< >