EECS 111 System Software (2017-2018)

EECS 111 System Software

(Required for CpE. Selected Elective for CSE.)
Catalog Data:

EECS 111 System Software (Credit Units: 4) Multiprogramming, interrupt, processes, kernel, parallelism, critical sections, deadlocks, communication, multiprocessing, multilevel memory management, binding, name management, file systems, protection, resource allocation, scheduling. Experience with concurrent programming, synchronization mechanisms, interprocess communication. Prerequisite: EECS112; CSE46, ICS 46 or EECS114. Computer Engineering and Electrical Engineering majors have first consideration for enrollment. Only one course from EECS 111, COMPSCI 143A, CSE 104 may be taken for credit. (Design units: 2)

Required Textbook:
. Edition, , 1969, ISBN-13 978-0470128725.

. Edition, , 1969, ISBN-13 978-0131828278.

Recommended Textbook:
None
References:

Other references will be available from the E3 website or the Engineering Copy Center

Coordinator:
Mohammad Abdullah Al Faruque
Relationship to Student Outcomes
No student outcomes specified.
Course Learning Outcomes. Students will:

1. Structure concurrent programs composed of processes and threads.

2. Describe basic CPU scheduling techniques.

3. Describe the principles and techniques for designing and analyzing concurrent processes capable of correct synchronization among themselves.

4. Describe the principles and techniques for designing and analyzing concurrent processes capable of avoiding or recovering from deadlocks.

5. Describe the principles and techniques for designing and analyzing memory management mechanisms including virtual memory.

Prerequisites by Topic
  • Building blocks and organization of digital computers.
  • Arithmetic, control, and memory units, input/out devices and interfaces.
  • Microprogramming and microprocessors.
  • Fundamental data structures and related algorithms and their implementation and mathematical analysis techniques.
Lecture Topics:
  • Course overview
  • Processes
  • Threads
  • CPU Scheduling
  • Process Synchronization
  • Deadlock
  • Memory Management
  • Virtual Memory
  • File Systems
  • I/O Systems
  • Mass-Storage Structure
Class Schedule:

Meets for 3 hours of lecture and 1 hour of discussion each week for 10 weeks.

Computer Usage:

Personal computers or workstations running widely used operating systems such as Windows, Linux, etc.

Laboratory Projects:

3 – 4 project assignments are given in this course.

Professional Component

Contributes toward the Computer Engineering Topics Courses and Major Design experience.

Design Content Description
Approach:

Concurrent programming activities are essentially design activities. Lectures emphasize relevant design principles and applicable measures and constraints. Laboratory projects provide hands-on design experiences to the students.

Lectures: 60%
Laboratory Portion: 40%
Grading Criteria:
  • Homework: 10%
  • Lab assignments: 30%
  • Midterm exam: 20%
  • Final exam: 40%
  • Total: 100%
Estimated ABET Category Content:

Mathematics and Basic Science: 0.0 credit units

Computing: 0.0 credit units

Engineering Topics: 4.0 credit units

Engineering Science: 2.0 credit units

Engineering Design: 2.0 credit units

Prepared:
September 1, 2017
Senate Approved:
January 22, 2013
Approved Effective:
2013 Fall Qtr