EEN521 Study Guide (19th November 1998)
- Be familiar with the general architecture of a CPU, its busses, and memory components.
- Memory management:
- Hardware support:
- Base and Limit address translation
- Associative memory to map virtual addresses to physical addresses
- Dividing memory into pages, only mapping page numbers, not offsets
- Page faults and access violations
- Software support:
- Page tables in process control block
- Actions on receiving a page fault
- Hard page fault vs. soft page fault
- The page file; paging out vs. swapping out
- Page replacement strategies:
- Optimal, Least-Recently-Used, FIFO, etc.,
- Belady's anomaly
- Actions on process time quantum expiring (when timesharing)
- File Systems:
- Be familiar with physical structure of discs etc:
- Tracks, Sectors, Blocks, Cylinders, Surfaces,
- Rotational Latency, Track-to-track Seek time, estimating access times.
- File Structures:
- File formats (organising a set of blocks to make a file):
- Direct, n-Level-Index, Inodes, etc.
- Contents and purpose of header blocks
- Directories, file protection, ownership, etc.
- Disc Structures:
- Special "files": superblock, boot block, etc.
- Formatting a disc
- Free Block Allocation:
- FAT, Free-list, Inode-list.
- Clusters and Partitions
----------------------1st test, 29th September------------------
- Input/Output Subsystem:
- Levels of I/O calls (e.g. getchar(), read(), qio(), etc.)
- Support for "non blocking" i/o.
- Life of an Input/Output Request Packet (IRP)
- Activities of a Device Driver
- Disc Scheduling Strategies: FCFS, SSTF, Scan, etc.
- Special files: file soft links, NFS mounted directories
- System-wide and Process Open File List: what and why.
- Processes:
- Representation in O.S.: PCBs, etc.
- Attributes: State, Status, Priority, Mode, IPL, Privileges
- Life Cycle of a process
- Meaning of status:
- Init, Current, Computable, Running, Stopped,
- Idle, Sleep, Disc wait, Page wait,
- Swapped out, Zombie
- Scheduler and Scheduler Queues
- In-Process management of memory:
- Separate code, static, heap, and stack areas
- Inter-Process Communications
- Problems caused by concurrent read & write access
- Critical Sections,
- Semaphores:
- What they do and how and where they are used,
- How they are implemented (atomic test and set, etc.)
- Shared Resources in general:
- Allocation problems (CR+LP example) and solutions:
- Deadlock, Ordering, Livelock, etc.
- Dining Philosophers and correspondence with O.S. and solutions:
- Butler, Fork Boy, Fork Monster, Murderer.
- Networking
- Ethernet
- The idea behind it
- Why collisions occur, and are not really faults.
- Problems caused by having the wrong network layout
- Addressing and Routing of packets
- IP addresses, structure and meaning, vs. Hardware addresses
- Routers, Bridges, and Repeaters
- Address resolution: ARP, RARP, IP-Hardware address mapping
- The main layers: Hardware, IP, TCP/UDP, Application
- Their inter-relationships, how they work together
- Their individual responsibilities
- IP: routing, datagram delivery
- TCP: connections, reliability, port numbers
- Structure of packets (just generalities)
- Protocols: (don’t try to learn them, just understand them)
- Implementation
- The structure of an internet client and server
- The main operations:
- socket(), connect(), bind(), listen(), accept()
- Network File Servers
- Principles of operation: RPC (Remote Procedure Call)
- Stateless vs. “Stateful”, the arguments for and against each
----------------------------2nd test, 19th November-----------------------------
- Encryption-based Security
- Why the common exclusive-or scheme is rubbish
- One-way hash functions: how they work, what they are good for
- One-time pads: how they work, why they are unbreakable
- DES: just the general idea, its advantages and disadvantages
- RSA (public key): general idea, advantages and disadvantages
- The importance of selecting a long-enough key
- feasibility of cracking by trying every possible key
---------------Final Examination, 5pm Thursday 10th December----------------