CSE 4300 - Operating Systems

113 downloads 426 Views 70KB Size Report
CSE 4300 - Operating Systems. Syllabus. Instructor: Wei Wei. Office: ITE 331. Office Hours: Tu, Th 3:30pm – 4:30pm, Wednesday 1:30pm – 4:30pm.
CSE 4300 - Operating Systems Syllabus Instructor: Wei Wei Office: ITE 331 Office Hours: Tu, Th 3:30pm – 4:30pm, Wednesday 1:30pm – 4:30pm Phone: 860-486-8771 e-mail: [email protected] Prerequisites: • • •

A rudimentary understanding of algorithms and data structure is required. A previous course in computer architecture is required. You must be able to program in C/C++.

Course Materials: • • • •

Text: Operating Systems Concepts, seventh edition, Silberchatz, Galvin, and Gagne, John Wiley & Sons, Inc. Assigned readings from the text and the WWW. Class Notes: Class notes (highly recommended) are posted on the class WWW site (see "On-line materials" below). On-line materials. A WWW site is maintained for the course. Web site: http://www.engr.uconn.edu/~weiwei/cse4300

This course provides an introduction to operating system design and implementation. The operating system provides a well-known, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The operating system is responsible for allowing resources (e.g., disks, networks, and processors) to be shared, providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from one another. The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years, and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management

(segmentation, paging, swapping), file systems, protection and security, and operating system support for distributed systems This course is intended for undergraduate Computer Science and Computer Engineering majors (junior and senior students) and for MS students. Part 1: Introduction What is an operating system? Why operating system is important? History of operating system Operating systems and architecture

Part 2: Process management Processes, threads CPU scheduling Synchronization Deadlock

Part 3: Memory management Explicit memory management Virtual memory Paging & page replacement algorithms Virtual memory in the real world

Part 4: File systems File system I/O management Storage system Part 6: Advanced topics Networking, Protection & Security

Coursework Coursework

Timing

Assigned readings

Weekly

Written homeworks

5 assignments/semester

Approx % of grade 20%

2 weeks each (approx). Programming Assignments

3 programs 2 weeks each (approx)

30%

Midterm Exam 1

1/3 of semester

15%

Midterm Exam 2

2/3 of semester

15%

Final Exam

after last class

20%

Quiz

random in class

+5%

Copying of programs, written homeworks, or exams is not permitted. You can talk to other students about he assignments, but the work must be substantially your own. If you're having trouble with an assignment or if you're having trouble meeting a deadline, see the instructor; we will bend over backwards to help you but we will not tolerate cheating. No late homework or project is allowed. No incomplete is given for this course.

Class Master Schedule NOTE: The dates below represent an ideal schedule not the actual schedule.

Class #

Date

Topic

1

8/26

Class overview, mechanics, goals.

2

8/28

OS & computer architecture.

3

9/2

Processes I

4

9/4

Processes II

5

9/9

Linux, C/C++ intro I

6

9/11

Linux, C/C++ intro II

7

9/16

Linux, C/C++ intro III

8

9/18

Threads

9

9/23

Scheduling

10

9/25

Exam 1

11

9/30

Synchronization I

12

10/2

Synchronization II

13

10/7

Synchronization III

14

10/9

Deadlock

15

10/14

Deadlock

16

10/16

Memory management

17

10/21

Explicit memory management

18

10/23

Virtual memory in practice

19

10/28

File system I

20

10/30

Exam 2

21

11/4

File system II

22

11/6

I/O systems

23

11/11

Storage systems

24

11/13

RAIDS

25

11/18

Networking

26

11/20

Protection

No class

11/25

Thanksgiving holiday

No class

11/27

Thanksgiving holiday

27

12/2

Security

28

12/4

Class review