CS3450-CCARF - Computer Science Home

advertisement
College of Science and Health
Department of Computer Science
Course Coverage Assessment Report
Course: ___CS 3450 Operating Systems____________________________________________________________________________________________________________
Instructor: ______________________________________________________________________________________________________________________________ _____
Semester: ___________________________________________________________________ __________________________________________________________________
Topics
Course
Learning
Outcome
Lecture
1. Hardware:
2.

CPU: majors components, modes of operation, and instruction execution cycles.

Main memory: addressing, RAM, ROM, and CMOS.

I/O systems: input devices, output devices, controllers, and port addressing.

Secondary storage: drives and controllers

System interconnection: bus system and the bus architecture.

Interrupts: internal/ external interrupts and the interrupt vector.

The DMA controller and the clock

Sending and receiving data from the main memory.

I/O operations: programmed I/O, interrupt-driven I/O, and DMA I/O.

The memory hierarchy.
Software

Application and system programs (editors, assemblers, compilers, linkers, and
loaders).

Operating systems: functions of a modern operating system.

System services, system calls, and library functions.

Kernel of an operating system, virtual memory, and device drivers.
3. History of operating systems.
4. Different type of operating systems: mainframe operating systems, server operating
5.
systems, multiprocessor operating systems, personal computer operating systems, real
time operating systems, embedded operating systems, and smart card operating
systems.
Operating system structures: monolithic systems, layered systems, virtual machines,
exokernels, and client-server model.
How
is
Covered?
L1, L2,
L15, L17
L4
L3
L23
L5, L23
topic
HandsOn
How is Knowledge accessed?
HW
Test
Lab
Project
Comments/Suggestions About
Learning Outcome and/or Topics
(please use additional sheets if necessary)
6. Introduction to UNIX




UNIX system: UNIX shell; UNIX users; obtaining on-line help.
C language programming in the UNIX environment: output with printf, input with
scanf;
C/C++ programs and environment variables; memory layout of a C/C++ program;
UNIX executable and library files; using the C language libraries; the standard C
I/O library.
L7
7. UNIX processes



Process image and states of a process.
UNIX system memory.
Using UNIX system calls for process management.
L4, L6, L7
8. Inter-process communication



Race conditions.
Mutual exclusion: implementations of mutual exclusion.
Producer-consumer problem: semaphores and monitors.
9. Process scheduling


Key issues related to scheduling: context switching; process behavior; when to
schedule; categories of scheduling algorithms; scheduling algorithm goals.
Scheduling algorithms in a batch system and in an interactive system.
L4, L8, L9
L4, L10,
L11
10. Deadlocks



Conditions for deadlocks
Modeling deadlocks
Dealing with deadlocks
L4, L12,
L13, L14
11. Memory management




Mono-programming without paging or swapping.
Multi-programming with fixed partitions.
Memory management with swapping.
Virtual memory: paging, page replacement algorithms, and segmentation.
12. Principles of I/O software



Goals of I/O software.
Key issues in the design of I/O software.
I/O layers.
13. The UNIX system’s files



Types of files, I-nodes, and file access permissions.
V-nodes and file table.
System calls for regular file management and for directories management
L4, L16
L4, L18,
L19
L4, L20,
L22
14. File system implementation



File system layout.
Booting the system.
Implementing file systems and directories.
15. Other topics: virtualization and the cloud, security, multiple processor systems, UNIX,
LINUX, and Android, Window 8, and operating system design.
L4, L20,
L21
L23
Comments/Suggestions about Prerequisites and Co-requisites:
General Comments/Suggestions about the Course:
Course Learning Outcomes
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
I am able to describe the major components of a computer system hardware with their functions.
I am able to describe the communication between the CPU and the main memory or the controllers.
I am able to describe the history and the evolution of operating systems.
I am able to describe the major concepts used in modern operating systems.
I am able to describe the different structures used in the implementation of operating systems.
I am able to describe the concept of a process and process implementation.
I am able to write programs that create and use processes in the UNIX environment.
I am able to describe the concepts of race conditions and critical sections.
I am able to describe most of the strategies for implementing mutual exclusions.
I am able to describe the scheduling algorithm goals in different types of operating systems.
I am able to describe one or more scheduling algorithms used in each type of operating system.
I am able to describe the concept of deadlock.
I am able to describe how deadlocks are modeled and detected in a system.
I am able to describe the strategies used for dealing with deadlocks.
I am able to describe the memory hierarchy.
I am able to describe the memory management strategies used in most operating systems.
I am able to describe the major components of the I/O hardware with their operations.
I am able to describe the goals of the I/O software.
I am able to describe the I/O software layers
I am able to describe the file system of one or more operating systems.
I am able to describe the file system implementation.
I am able to write programs that use system calls for file and directory management in a UNIX system.
I am able to describe the structure and the major components of at least one modern operating system.
Download