Computer Science and Engineering CSE 4743 Operating Systems II

advertisement
Computer Science and Engineering CSE 4743
Operating Systems II
CREDIT/CONTACT HOURS: Credit Hours: 3, Contact Hours: 45
COORDINATOR:
Dr. Yoginder S. Dandass
TEXTBOOKS: William Stallings, Operating Systems, Sixth Edition, Pearson, 2009.
a. Supplemental Material: No required material
SPECIFIC COURSE INFORMATION:
Catalog Description: Three hours lecture. Integrated treatment of hardware and software
concepts in operating systems design; procedure implementation; creation and control of
processes; name and space management.
a. Prerequisites: CSE 4733/6733 with grade of C or better
b. Required/Elective:
Computer Science – Elective
Software Engineering – Elective
Computer Engineering – Elective
SPECIFIC GOALS OF THE COURSE:
a. Specific Outcomes of Instruction:
1. Develop a student understanding of the relationship between the microprocessor,
system busses, memory, and I/O controllers in modern systems.
2. Describe and implement the bootstrap process.
3. Understand and design memory allocation, virtual memory, and memory protection
techniques used in modern day operating systems.
4. Understand and design processes, threads and context switching for a multiprocessor, multi-programmed system.
5. Understand and design thread synchronization techniques including spinlocks and
semaphores.
6. Design and develop I/O subsystems including serial communication and file systems.
7. Learn to work in small teams in order to implement the components designed
developed in the course.
b. Criterion 3 Outcomes:
1. Students will be able to analyze requirements and design key kernel-mode software
components of a modern operating system. (EAC: a, d, g, j; CAC: a, d, f, j, k)
2. Students will be able to implement software exhibiting complex interactions with
each other and hardware. (EAC: c, d, k; CAC: c, d, j, k)
3. Students will be able to design and implement memory space partitioning and
allocation subsystem and a virtual memory subsystem. (EAC: a, c, e, j, k; CAC: a, c,
e, i, j)
4. Students will be able to design and implement multi-threading, context switching,
time sharing, and scheduling schemes. (EAC: b, c, j, k; CAC: b, c, i. k)
Students will be able to design and implement thread-synchronization techniques and
analytically prove that their systems are free from deadlocks. (EAC: a, b, k; CAC: a,
b, i)
6. Students will be able to write design documents and reports documenting the designs,
interfaces, and performance metrics of their software implementations. (EAC: c, d, g,
h; CAC: b, c, d, g, h)
5.
TOPICS COVERED:
(Number of class hrs)
1. Introduction to the system hardware and processor architecture
5
2. Interfacing C and assembly-language modules
3
3. Memory allocation, virtual memory, and memory protection
9
4. Processes, threads, and context switching
9
5. Spinlocks, semaphores, and deadlocks
6
6. Interrupts and interrupt handling
4
7. File I/O and File systems
9
Download