Download CpSc 464 Outline - SRU Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CpSc 464 Outline
Principles of Concurrent Programming and Operating Systems
Catalog Description
An introduction to operating systems with emphasis on fundamental principles. These
include store management, processor management, file systems and input/output.
Laboratory exercises are assigned using a language that supports concurrency.
Distributed and real-time illustrations are used, as well as standard operating system
concepts. Prerequisites CpSc 370, CpSc 374, CpSc 376 and CpSc 378. (3 credits).
Audience:
This course is required for Computer Science.
Learning Activities:
Learning activities will include in-class discussions, in-class programming, programming
assignments, in-class active learning sessions and a semester long group project.
High Impact Practices:
This course engages students in the following high impact practice: writing-intensive
Outline:
I.
II.
III.
5/6/2017
Overview of Operating Systems (2 hours) //OS1:2 of 2
a. Role and Purpose of Operating Systems
i. Extended machine/resource manager
b. Functionality of a Typical operating system
i. The hardware (CPU, Memory and I/O Devices) interaction with
user
ii. User/System view of the operating systems
c. Types of Operating Systems
i. Batch, multi-program, time-sharing, embedded
ii. client-server, peer-to-peer
d. Design Issues
i. Number of users, security, portability
e. Ethics and Security
Operating System Principles (2 hours) //OS2:2 of 2
a. Operating System Structure
i. Monolithic, virtual, kernel/exokernel and client server
b. Computer System Operation
i. Interrupt driven (trap/interrupt), interrupt vector
ii. Direct memory access, device drivers
iii. Dual Mode protection
c. Device organization
i. Storage structure, main memory, magnetic disks, magnetic tapes
d. Hardware Protection
i. Dual-mode operation, I/O protection
ii. Memory/CPU protection
Concurrency (6 hours) //OS3:6 of 6
a. Process Concept
IV.
V.
VI.
VII.
VIII.
IX.
5/6/2017
i. Process, process state, process control block
b. Process Scheduling
i. Scheduling queues, schedulers
ii. Degree of multiprogramming, context switching
iii. Process interrupts
c. Process Operation
i. Definition, creation, termination
ii. Cooperating processes, interprocess communication
iii. Synchronization, producer-consumer problem
iv. Sockets, remote-method invocation
d. Threads
i. Benefits, race conditions
ii. Types of threads
iii. Race conditions, deadlocks
iv. Thread creation, sleep, wakeup, wakeup all, pause, cancellation
and termination
v. Semaphores, mutex and monitors
vi. Interprocess communication between threads
vii. Dining Philospher problem
Scheduling and Dispatch (7 hours) //OS4:3 of 3
a. Schedulers and scheduling criteria
b. Common types of scheduling: FCFS, SJF, Priority, Round Robin and
Multilevel
c. Multiple processor scheduling, real-time scheduling
d. Evaluation methods for scheduling
Memory Management (5 hours) //OS5: 5 of 5
a. Address binding, Logical/Physical address space
b. Dynamic loading, linking, shared libraries
c. Overlays, swapping, contiguous memory allocation, paging
d. Page tables
e. Virtual memory and demand paging
f. Page replacement algorithms, thrashing and caching
Device Management (4 hours) //OS6:4 of 4
a. Controllers, adaptors and polling
b. Software and hardware interrupt
c. Character stream, sequential/random access and
synchronous/asynchronous devices
d. Block and character devices
Security and Protection (4 hours) //OS6:4 of 4
a. Domain of protection, access matrix, implementation of access matrix
b. Language based protection
File Systems (5 hours) //OS6:5 of 5
a. File system structure and implementation
b. Partitions and mounting, virtual file system and allocation methods
Real-Time/Embedded/Distributed Systems (7 hours) //AL4:3 of 3
a. Real time and embedded operating systems
b. Types of distributed operating systems
c. Coordination in distributed systems
Related documents