课程简介 Course Introduction

Operating systems are an essential part of any computer system. Similarly, a course on operating systems is an essential part of any computer science education. This Field is undergoing rapid change, as computers are now prevalent in virtually every arena of day-to-day life—from embedded devices in automobiles through the most sophisticated planning tools for governments and multinational firms. Yet the fundamental concepts remain fairly clear, and it is on these that we base this course.


Jinan University FulltimeUndergraduate Program Course De___scription

Course Offered by: International School Student Type: Computer Science

Credits: 3.5 Hrs./Week: 3 Total Hrs. 63

Course Title

Operating Systems

Previous Course Title

Course Code

60080015

Course Type

Compulsory

Prerequisite Course(s)

C,Java,

Problem Solving and Programming

Course Evaluation

Exam

(Teaching Objectives、Teaching Requirements、Teaching Contents)

1. Teaching Objectives

"Operating system" is a computer professional and compulsory basic course. It is a technical and practical course. This course will enable students to fully grasp the exclusive formation and development of the operating system, processor memory management, device management, operations management and processes, synchronization, communication and deadlock, to learn how to use Windows, Linux, Android, other different operating systems, and to solve practical problems.

2. Teaching Requirements

1) describe the basic organization of computer systems

2) provide a grand tour of the major components of operating systems

3) give an overview of the many types of computing environments

4) explore several open-source operating systems

3. Teaching Contents

Chapter

Chapter

Part 1: Overview

Part 4: Storage Management

1. Introduction

10. File-System Interface

2. Operating-System Structures

11. File-System Implementation

Part 2: Process Management

12. Mass-Storage Structure

3. Processes

13. I/O Systems

4. Threads

Part 5: Protection and Security

5. CPU Scheduling

14. Protection

6. Process Synchronization

15. Security

7. Deadlocks

Part 6: Case Studies

Part 3: Memory Management

16(21). The Linux System

8. Main Memory

17(Appendix A): BSD UNIX

9. Virtual Memory

18(Appendix B): The Mach System

The content is organized in eight major parts:

1. Overview. Chapters 1 and 2 explain what operating systems are, what they do, and how they are designed and constructed. These chapters discuss what the common features of an operating system are and what an operating system does for the user. We include coverage of both traditional PC and server operating systems, as well as operating systems for mobile devices. The presentation is motivational and explanatory in nature. We have avoided a discussion of how things are done internally in these chapters. Therefore, they are suitable for individual readers or for students in lower-level classes who want to learn what an operating system is without getting into the details of the internal algorithms.

2. Process management. Chapters 3 through 7 describe the process concept and concurrency as the heart of modern operating systems. A process is the unit of work in a system. Such a system consists of a collection of concurrently executing processes, some of which are operating-system processes (those that execute system code) and the rest of which are user processes (those that execute user code). These chapters cover methods for process scheduling, interposes communication, process synchronization, and deadlock handling. Also included is a discussion of threads, as well as an examination of issues related to multicore systems and parallel programming.

3. Memory management. Chapters 8 and 9 deal with the management of main memory during the execution of a process. To improve both the utilization of the CPU and the speed of its response to its users, the computer must keep several processes in memory. There are many different memory-management schemes, reflecting various approaches to memory management, and the effectiveness of a particular algorithm depends on the situation.

4. Storage management. Chapters 10 through 13 describe how mass storage, the file system, and I/O are handled in a modern computer system. The file system provides the mechanism for on-line storage of and access to both data and programs. We describe the classic internal algorithms and structures of storage management and provide a firm practical understanding of the algorithms used their properties, advantages, and disadvantages. Since the I/O devices that attach to a computer vary widely, the operating system needs to provide a wide range of functionality to applications to allow them to control all aspects of these devices. We discuss system I/O in depth, including I/O system design, interfaces, and internal system structures and functions. In many ways, I/O devices are the slowest major components of the computer. Because they represent a performance bottleneck, we also examine performance issues associated with I/O devices.

5. Protection and security. Chapters 14 and 15 discuss the mechanisms necessary for the protection and security of computer systems. The processes in an operating system must be protected from one another’s activities, and to provide such protection, we must ensure that only processes that have gained proper authorization from the operating system can operate on the ®les, memory, CPU, and other resources of the system. Protection is a mechanism for controlling the access of programs, processes, or users to computer-system resources. This mechanism must provide a means of specifying the controls to be imposed, as well as a means of enforcement. Security protects the integrity of the information stored in the system (both data and code), as well as the physical resources of the system, from unauthorized access, malicious destruction or alteration, and accidental introduction of inconsistency.

6. Case studies. Chapters 20 through 22 in the text, along with Appendices A and B, present detailed case studies of real operating systems, including Linux, FreeBSD, and Mach. Coverage of both Linux and Windows 7 are presented throughout this Text; however, the case studies provide much more detail. It is especially interesting to compare and contrast the design of these two very different systems. Chapter 20 briefly describes a few other influential operating systems.

Text Book(s) and Reference Materials

Text Book:Operating Systems Concepts

ISBN: 9787040209280

Higher Education Press

Reference Materials:

Operating Systems:Principles and Design

ISBN: 9787302274896, 7302274894




教学大纲 Teaching Syllabus

Jinan University

Undergraduate Syllabus for

__Operating Systems ____ (Course Title)

Course code 60080015

Course title Operating Systems

Course type Compulsory[√ ] Specialized Optional [ ] Common Optional [ ]

Prerequisites C,Java,Problem Solving and Programming

Credits 3.5

Total course hours 63

Majors applicableto Computer Science

Students classification Mainland[√] Non-mainland [√]

Department/Schooloffering the course InternationalSchool

I. TeachingObjectives and Requirements

"Operatingsystem" is a computer professional and compulsory basic course. It is atechnical and practical course. This course will enable students to fully graspthe exclusive formation and development of the operating system, processormemory management, device management, operations management and processes,synchronization, communication and deadlock, to learn how to use Windows,Linux, Android, other different operating systems, and to solve practicalproblems.

TeachingRequirements:

1) describe the basic organizationof computer systems

2) provide a grand tour of themajor components of operating systems

3) give an overview of the manytypes of computing environments

4) explore several open-sourceoperating systems

II. Key Pointsand Main Areas of Difficulty of the Course

1) organization of computersystems

2) processor memory management,device management, operations management and processes, synchronization,communication and deadlock, Protection & Security,

III. Lab or Practical Work Required to Support theCourse

1) Elevator schedule: A buildingof 20-floors,five interconnected elevator. Based multi-thread, writing anelevator scheduler.

2) Banker's algorithm: processesP0 through P4;3 resource types: A (10 instances), B (5instances), and C (7instances),Snapshot at time T0: Can request for (1,0,2) by P1 be granted?Canrequest for (0,1,0) by P2 be granted?

3) Protection: Please givethe rights-set matrix, and implement the management system.

4) MIT’s Lab

IV. Textbooks and References

a) Text Book:Operating Systems Concepts

ISBN:9787040209280

Higher Education Press

b) Reference Materials:

n Operating Systems:Principles andDesign

ISBN:9787302274896, 7302274894

n Conference list

No.

Conference

URL

1

ISCA

International Symposium on Computer Architecture

ACM SIGARCH, IEEE TCCA

http://www.acm.org/pubs/contents/proceedings/series/isca/

2

MICRO

IEEE, ACM SIGMICRO

http://www.microarch.org/

3

ASPLOS

Architectural Support for Programming Languages and Operating Systems

ACM SIGOPS/SIGARCH/SIGPLAN

http://www.acm.org/pubs/contents/proceedings/series/asplos/

4

FAST

Conference on File and Storage Technologies

USENIX

http://www.usenix.org/events/bytopic/fast.html

5

PACT

Parallel Architectures and Compilation Techniques

IEEE

ACM SIGARCH

http://pact07.cs.tamu.edu/

6

HPCA

High-Performance Computer Architecture

IEEE

http://www.ece.arizona.edu/~hpca/

7

PPoPP

Principles and Practice of Parallel Programming

ACM SIGPLAN

http://research.ihost.com/ppopp08/

8

SPAA

ACM Symposium on Parallelism in Algorithms and Architectures

ACM

http://www.cs.jhu.edu/~spaa/2007/

9

SIGMETRICS

International Conference on Measurement and Modeling of Computer Systems

ACM SIGMETRICS

http://www1.cs.columbia.edu/~sigmet08/

10

RTSS

Real-Time Systems Symposium

IEEE

http://www.rtss.org/

n Journals Directory

V. Grading System and Evaluation Methods

n 30%: Exam

n 30%: Course project(Source Code, Run Video, Presentations)

(13 persons/week for two weeks, between 15nd and 16th weeks)

n 20%: Exercises and participation

n 20%: Paper reviews and Coursepresentations(20 Mins/person )

(two persons/week for 13 weeks, between 2nd and 14th weeks)

VI. Detailed Points of Teaching Contents

We-ek

Date / Month

Lesson

Class hours

Main contents

(objectives and requirements, key points)

Lec-

ture

Lab

1

March 3-4

Ch 1 Introduction

4

1.1 What Operating Systems Do 4

1.2 Computer-System Organization 7

1.3 Computer-System Architecture 12

1.4 Operating-System Structure 19

1.5 Operating-System Operations 21

1.6 Process Management 24

1.7 Memory Management 25

1.8 Storage Management 26

1.9 Protection and Security 30

1.10 Kernel Data Structures 31

1.11 Computing Environments 35

1.12 Open-Source Operating Systems 43

1.13 Summary 47

2

March 10-11

Ch 2 Operating-System Structures

4

2.1 Operating-System Services 55

2.2 User and Operating-System Interface 58

2.3 System Calls 62

2.4 Types of System Calls 66

2.5 System Programs 74

2.6 Operating-System Design and Implementation 75

2.7 Operating-System Structure 78

2.8 Operating-System Debugging 86

2.9 Operating-System Generation 91

2.10 System Boot 92

2.11 Summary 93

3

March 17-18

Ch 3 Processes

4

3.1 Process Concept 105

3.2 Process Scheduling 110

3.3 Operations on Processes 115

3.4 Interprocess Communication 122

3.5 Examples of IPC Systems 130

3.6 Communication in Client–

Server Systems 136

3.7 Summary 147

4.1 Overview 163

4.2 Multicore Programming 166

4.3 Multithreading Models 169

4.4 Thread Libraries 171

4.5 Implicit Threading 177

4.6 Threading Issues 183

4.7 Operating-System Examples 188

4.8 Summary 191

Ch 4 Threads

4

March 24-25

Ch 5 CPU Scheduling

4

3

5.1 Background 203

5.2 The Critical-Section Problem 206

5.3 Peterson’s Solution 207

5.4 Synchronization Hardware 209

5.5 Mutex Locks 212

5.6 Semaphores 213

5.7 Classic Problems of

Synchronization 219

5.8 Monitors 223

5.9 Synchronization Examples 232

5.10 Alternative Approaches 238

5.11 Summary 242

5

March 31-April 1

Ch 6 Process Synchronization

Ch 7 Deadlocks

4

6.1 Basic Concepts 261

6.2 Scheduling Criteria 265

6.3 Scheduling Algorithms 266

6.4 Thread Scheduling 277

6.5 Multiple-Processor Scheduling 278

6.6 Real-Time CPU Scheduling 283

6.7 Operating-System Examples 290

6.8 Algorithm Evaluation 300

6.10 Summary 304

7. Deadlocks

7.1 System Model 315

7.2 Deadlock Characterization 317

7.3 Methods for Handling Deadlocks 322

7.4 Deadlock Prevention 323

7.5 Deadlock Avoidance 327

7.6 Deadlock Detection 333

7.7 Recovery from Deadlock 337

7.8 Summary 339

6

April 7-8

Ch 8 Main Memory

4

3

8.1 Background 351

8.2 Swapping 358

8.3 Contiguous Memory Allocation 360

8.4 Segmentation 364

8.5 Paging 366

8.6 Structure of the Page Table 378

8.7 Example: Intel 32 and 64-bit

Architectures 383

8.8 Example: ARM Architecture 388

8.9 Summary 389

7

April 14-15

Ch 9 Virtual Memory

4

9.1 Background 397

9.2 Demand Paging 401

9.3 Copy-on-Write 408

9.4 Page Replacement 409

9.5 Allocation of Frames 421

9.6 Thrashing 425

9.7 Memory-Mapped Files 430

9.8 Allocating Kernel Memory 436

9.9 Other Considerations 439

9.10 Operating-System Examples 445

9.11 Summary 448

8

April 21-22

Ch 10 File-System Interface

4

3

10.1 Overview of Mass-Storage

Structure 467

10.2 Disk Structure 470

10.3 Disk Attachment 471

10.4 Disk Scheduling 472

10.5 Disk Management 478

10.6 Swap-Space Management 482

10.7 RAID Structure 484

10.8 Stable-Storage Implementation 494

10.9 Summary 496

9

April 28-29

Ch 11 File-System Implementation

4

11.1 File Concept 503

11.2 Access Methods 513

11.3 Directory and Disk Structure 515

11.4 File-System Mounting 526

11.5 File Sharing 528

11.6 Protection 533

11.7 Summary 538

10

May 5-6

Ch 12 Mass-Storage Structure

4

3

12.1 File-System Structure 543

12.2 File-System Implementation 546

12.3 Directory Implementation 552

12.4 Allocation Methods 553

12.5 Free-Space Management 561

12.6 Efficiency and Performance 564

12.7 Recovery 568

12.8 NFS 571

12.9 Example: The WAFL File System 577

12.10 Summary 580

11

May 12-13

Ch 13 I/O Systems

4

13.1 Overview 587

13.2 I/O Hardware 588

13.3 Application I/O Interface 597

13.4 Kernel I/O Subsystem 604

13.5 Transforming I/O Requests to

Hardware Operations 611

13.6 STREAMS 613

13.7 Performance 615

13.8 Summary 618

12

May 19-20

Ch 14 Protection

4

3

14.1 Goals of Protection 625

14.2 Principles of Protection 626

14.3 Domain of Protection 627

14.4 Access Matrix 632

14.5 Implementation of the Access

Matrix 636

14.6 Access Control 639

14.7 Revocation of Access Rights 640

14.8 Capability-Based Systems 641

14.9 Language-Based Protection 644

14.10 Summary 649

13

May 26-27

Ch 15 Security

4

15.1 The Security Problem 657

15.2 Program Threats 661

15.3 System and Network Threats 669

15.4 Cryptography as a Security Tool 674

15.5 User Authentication 685

15.6 Implementing Security Defenses 689

15.7 Firewalling to Protect Systems and

Networks 696

15.8 Computer-Security

Classifications 698

15.9 An Example: Windows 7 699

15.10 Summary 701

14

June 2-3

Ch 21 The Linux System

4

3

15.1 Linux History 687

15.2 Design Principles 692

15.3 Kernel Modules 695

15.4 Process Management 698

15.5 Scheduling 701

15.6 Memory Management 706

15.7 File Systems 715

15.8 Input and Output 721

15.9 Interprocess Communication 724

15.10 Network Structure 725

15.11 Security 727

15.12 Summary 730

Exercises 731

Bibliographical Notes 733

15

June 9-10

Appendix A: BSD UNIX

Project Presentation

2

A.1 UNIX History A1

A.2 Design Principles A6

A.3 Programmer Interface A8

A.4 User Interface A15

A.5 Process Management A18

A.6 Memory Management A22

A.7 File System A24

A.8 I/O System A32

A.9 Interprocess Communication A36

A.10 Summary A40

Project Presentation

16

June 16-17

Appendix B: The Mach System

Project Presentation

2

B.1 History of the Mach System A897

B.2 Design Principles A899

B.3 System Components A900

B.4 Process Management A903

B.5 Interprocess Communication A909

B.6 Memory Management A914

B.7 Programmer Interface A919

B.8 Summary B24 A920

Exercises A921

Bibliographical Notes A922

Credits A923

Project Presentation

17

June 23-24

Review

2

18

June 30

-July 1

Review

2

19

July7

Exam

2

Part 1: Overview

n Chapter 1,Introduction, includes updated coverage of multiprocessor and multicoresystems, as well as a new section on kernel data structures. Additionally, thecoverage of computing environments now includes mobile systems and cloudcomputing. We also have incorporated an overview of real-time systems.

n Chapter 2,Operating-System Structures, provides new coverage of user interfaces formobile devices, including discussions of iOS and Android, and expanded coverage of Mac OS X as a type of hybrid system.

·Overview.Chapters 1 and 2 explain what operating systems are, what they do, and how theyare designed and constructed. These chapters discuss what the common featuresof an operating system are and what an operating system does for the user. Weinclude coverage of both traditional PC andserver operating systems, as well as operating systems for mobile devices.

Part 2: Process Management

n Chapter 3, Processes, now includes coverage ofmultitasking in mobileoperating systems, support for the multiprocess model inGoogle's Chromeweb browser, and zombie and orphan processes in UNIX.·

n Chapter 4, Threads, supplies expanded coverage ofparallelism andAmdahl's law. It also provides a new section on implicitthreading,including OpenMP and Apple's Grand Central Dispatch.·

n Chapter 5, Process Synchronization (previouslyChapter 6), adds a newsection on mutex locks as well as coverage ofsynchronization usingOpenMP, as well as functional languages.·

n Chapter 6, CPU Scheduling (previouslyChapter 5), contains new coverageof the Linux CFS scheduler andWindows user-mode scheduling.Coverageof real-time scheduling algorithms has also been integrated intothischapter.·

n Chapter 7:Deadlocks ,Sections7.1 through 7.3 may be covered quickly for students already familiar withdeadlocks. The Bankers Algorithm makes an excellent Chapter 7, Deadlocks.

Overview.Process management.Chapters 3 through 7 describe the process concept and concurrency as the heartof modern operating systems. A process is the unit of work in a system. Such asystem consists of a collection of concurrently executing processes, some ofwhich are operating-system processes (those that execute system code) and therest of which are user processes (those that execute user code). These chapterscover methods for process scheduling, interprocess communication, processsynchronization, and deadlock handling. Also included is a discussion ofthreads, as well as an examination of issues related to multicore systems andparallel programming.

Part 3: Memory Management

n Chapter 8, Main Memory, includes new coverage ofswapping on mobilesystems and Intel 32- and 64-bit architectures. A new sectiondiscussesARM architecture.·

n Chapter 9, Virtual Memory, updates kernel memorymanagement toinclude the Linux SLUB and SLOB memory allocators.

·Overview. Memory management. Chapters 8 and 9 deal with the managementof main memory during the execution of a process. To improve both the utilizationof the CPU and thespeed of its response to its users, the computer must keep several processes inmemory. There are many different memory-management schemes, reflecting variousapproaches to memory management, and the effectiveness of a particular algorithmdepends on the situation.

Part 4: Storage Management

n Chapter 10: Mass-Storage Structure ,Sections 10.1, 10.2, and10.4 may be covered quickly depending upon students' background. Thedisk scheduling algorithms (Section 10.4) make nice programmingexercises. adds cover-age of solid-state disks.·

n Chapter 11, File-System Interface (previouslyChapter 10), is updatedwith information about current technologies.·

n Chapter 12, File-System Implementation (previouslyChapter 11), isupdated with coverage of current technologies.·

n Chapter 13, I/O, updates technologies andperformance numbers, expandscoverage of synchronous/asynchronous andblocking/nonblocking I/O,and adds a section on vectored I/O.·

·Overview. Storage management. Chapters 10 through 13describe how mass storage, the file system, and I/O are handled in a modern computer system. Thefile system provides the mechanism for on-line storage of and access to bothdata and programs. We describe the classic internal algorithms and structuresof storage management and provide a firm practical understanding of thealgorithms used their properties, advantages, and disadvantages. Since the I/O devices that attach to acomputer vary widely, the operating system needs to provide a wide range offunctionality to applications to allow them to control all aspects of thesedevices. We discuss system I/O in depth, including I/O system design, interfaces, and internalsystem structures and functions. In many ways, I/O devices are the slowest major components ofthe computer. Because they represent a performance bottleneck, we also examineperformance issues associated with I/O devices.

Part 5: Protection and Security

n Chapter 14 Protection,We recommend covering thischapter in its entirety in an advanced operating systems class.

n Chapter 15, Security, has a revised cryptographysection with modernnotation and an improved explanation of various encryptionmethods andtheir uses. The chapter also includes new coverage ofWindows 7security.·

··Overview. Protection and security. Chapters 14 and 15 discussthe mechanisms necessary for the protection and security of computer systems.The processes in an operating system must be protected from one another's activities,and to provide such protection, we must ensure that only processes that havegained proper authorization from the operating system can operate on the files,memory, CPU, andother resources of the system. Protection is a mechanism for controlling theaccess of programs, processes, or users to computer-system resources. Thismechanism must provide a means of specifying the controls to be imposed, aswell as a means of enforcement. Security protects the integrity of theinformation stored in the system (both data and code), as well as the physicalresources of the system, from unauthorized access, malicious destruction oralteration, and accidental introduction of inconsistency.·

Part 6: Case Studies

n Chapter20, The Linux System

n Appendix A:BSD UNIX

n Appendix B: The MachSystem

n

Overview. Case studies. Chapters 20 through 22 in the text, alongwith Appendices A and B (which are available on (http://www.os-book.com),present detailed case studies of real operating systems, including Linux,Windows 7,FreeBSD, and Mach. Coverage of both Linux and Windows 7 are presentedthroughout this Text; however, the case studies provide much more detail. It isespecially interesting to compare and contrast the design of these two verydifferent systems.

Author’s signature Shuhua Zhu Examiner’s signature_____________

Date 01/03/2015 Date____________________

(dd/mm/yy) (dd/mm/yy)

Instructions

I. Thisform should be completed after discussionbetween the Teaching and Research Section staff of the department concerned,and then Confirmed and sealed by the corresponding college. Regarding anyspecialized Compulsory Courses and specialized optional courses, which are notattached to any specific Teaching and Research Section, or are lectured by oneteacher alone, discussion should be organized by the department, andConfirmation signed and sealed by the college. In the case of Common OptionalCourses, syllabuses should first be drawn up by the lecturer in charge, thendemonstrated and Confirmed by specialists selected by the Academic Affairs Department(AAD) of the university, and finally approved and signed by the Director incharge.

II. TheContents of the Syllabus should be consistent with Undergraduate Program ofYear 2006 Students.

III. “Course Type” refers to CompulsorySpecialized Optional or Common Optional course.

IV. “Students Classification” refers toMainland Student or Non-Mainland Student.

V. “MajorsApplicable to” refers to all the major titles that could be applied to acertain syllabus. “Public Compulsory Course” should be marked as “All Majors ofthe University”.

VI. “Course offered by” refers to college,Department and Teaching and Research Section, or simply College and Departmentif the course has no Teaching and Research Section.

VII. “Total Course Hours” are counted as 18hours per I credit for one course.

VIII. “Practice-oriented Teaching Contentsand Requirements”. Name of practicing/internship to be noted. For detailedinformation, see “Laboratory Syllabus” or “Internship Syllabus”.

IX. “Textbooksand References” refers to the main textbooks used. Instructors should selecttextbooks of high quality, or published within 3 years of the current academicyear; or those recommended by specified research fields. If the instructorschoose self-edited textbooks/ references, they must document the titles of thetextbooks or references and state the reasons for their choice.

X. “GradingSystem and Evaluation Methods”. Grading System refers to the percentageallocation of final scores, with assignments, quizzes and attendance mark etc notexceeding 40% of the total score; Evaluation Methods refers to the form of theexamination, e.g. “open-book”, “closed-book” or “thesis writing” and so on.

XI. “Main Points of Teaching Contents”.Instructors should fill in the objectives and requirements, key points, classhour allocation of each chapter, as well as the main contents of each chapter.

留言板 Message Board
条留言  共

  • 参与互动
    Interaction

  • 扫码加入课程
    Scan QR Code
教学队伍Teaching Members
需要验证您的身份,请输入请求信息:
  • 学号号:
  • 班级选择:
  • 附注信息:

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
课程
引导