CPEN 307 — Operating Systems
Computer Engineering · University of Ghana
History and overview of operating systems including reasons for studying operating systems, description of purpose of operating system, services and characteristics of good operating system, relevance of operating system to computer engineering. Design principles: functions of a typical operating system, mechanisms to support client-server models, design issues, structuring methods, processes and resources, concept of APIs to operating systems, device organization, interrupts and implementations, concepts of user and system states and protection. Concurrency: states and state diagrams, dispatching and context switching, role of interrupt, concurrency execution, mutual exclusion problem and solution, deadlock and its causes and prevention, semaphores and monitors, producer-consumer problems and synchronization. Process scheduling and dispatch: preemptive and non-preemptive scheduling, schedulers and policies, processes and threads, deadlines and real-time issues. Memory management: memory types and hierarchy, memory management hardware, swapping and partitions, paging and segmentation, placement and replacement policies, working sets and thrashing, caching. File systems: files – data, metadata, operations, organization, sequential and non-sequential; directories – content and structure; file system – partitioning, mount and unmount, virtual file; special purpose file, naming, searching access and backups. Device management: characteristics of parallel and serial devices, buffering strategies, direct memory access, recovery from failure. Security: overview of security systems, security methods and devices, protection, access and authentication, models of protection, memory protection, encryption and recovery management.
- Credits
- 3
- Level
- Level 300
- Prerequisites
- FAEN 112
Other courses on this programme
- CPEN 201 — C++ Programming
- CPEN 301 — Signals and Systems
- CPEN 302 — Computer Systems Engineering
- CPEN 303 — Computer Architecture
- CPEN 304 — Digital Signal Processing
- CPEN 305 — Computer Networks
- CPEN 306 — Microelectronic Devices and Circuits
- CPEN 308 — Fundamentals of Information Transmission
- CPEN 309 — Programming Language Fundamentals
- CPEN 312 — Object Oriented Programming with Java
- CPEN 314 — Industrial Practice
- CPEN 102 — Introduction to Database Systems
Practising CPEN 307 with Questora
Upload your own slides, notes and past papers for CPEN 307 and Questora builds mock exams, practice questions and a revision plan from them.
Start freeCourse details from University of Ghana Volume 3 Handbook for the Bachelor's Degree: Course Descriptions for Programmes in the Sciences (2017).