Operating systems, software and translators
Classifying software, what the operating system does and how: memory management, interrupts, scheduling, types of operating system and virtual machines; then languages, assemblers, compilers and interpreters, and the stages of compilation, ending with a tiny operating system for the robot.
Start in the simulator- A10.1 Classifying software System and application software, utilities, libraries and translators, and open versus closed source.
- A10.2 The operating system, BIOS and device drivers Hiding the hardware, managing resources, booting from the BIOS, and a driver table for the robot.
- A10.3 Memory management: paging, segmentation and virtual memory Logical and physical addresses, page tables, segments, page faults and disk thrashing.
- A10.4 Interrupts Polling versus interrupts, priorities, the stack and interrupt service routines in the fetch-decode-execute cycle.
- A10.5 Scheduling algorithms First come first served, round robin, shortest job first, shortest remaining time and multi-level feedback queues,…
- A10.6 Types of operating system and virtual machines Multi-tasking, multi-user, real-time, embedded and distributed systems, and a bytecode virtual machine that drives the…
- A10.7 Programming languages and translators Machine code, assembly and imperative high-level languages, the Little Man Computer, and choosing an assembler,…
- A10.8 Stages of compilation, linkers and loaders Lexical analysis, syntax analysis, code generation and optimisation, then static and dynamic linking and the loader.
- A10.9 Project: a tiny robot operating system Share the robot between three tasks with round robin, drive it through device drivers, and stop the patrol with an…