Department of Computer Science at Anhui University

 

Operating System

ZH36138

Credit hours: 4

Tuesdays and Thursdays 3 PM ¨C 5 PM

Summer 2018

 

Instructor: Yiwen Zhang

Associate Professor

Director of cloud computing and data engineering

Email: zhangyiwen@ahu.edu.cn

 

Course Format: On campus

Course Length: 11 Weeks

 

Text Book

Operating System Concepts 9th Edition, Silberschatz, Galvin and Gagne - Wiley

 

I. Course Description

Operating system is a major requirement course for Computer Science related undergraduate students.

In computer science, operating system is the foundation of all software. It is the core system software in a computer system, that controls and manages all kinds of hardware and software in a computer system resources. It provides the interface between the user and the computer, and its performance directly affects the working efficiency of the computer system, so operating system is an important course for students majoring in computer related majors.

Through the study of this course, students can systematically master the basic concepts, main functions, working principles and implement parts of the operating system from scratch, which will lay a solid foundation for developing various application software or system software on operating system platform in the future.

 

 

II. Specific content and basic requirements of the course.

Chapter 1 introduction to operating systems

Basic contents include:

(1) the objectives and functions of the operating system;

(2) the development process of operating system;

(3) basic features of operating system;

(4) main functions of operating system;

(5) OS structure design.

 

Homework and extracurricular study requirements:

Master the operating system characteristics and design indicators of each stage;

 

Chapter 2 description and control of process

Basic contents include:

(1) forward drawing and program execution;

(2) description of the process;

(3) process control;

(4) process synchronization

(5) synchronization of classical processes;

(6) process communication;

(7) basic concepts of threads;

(8) thread implementation.

 

Homework and extracurricular study requirements:

(1) what is a process?

What is the difference between process and program?

What are the three basic states of the process?

How will the state of the process be transformed?

What are the causes of the transformation?

(2) briefly describe the main contents of the process control block.

Why is the process control block the only sign of the operating system awareness process?

(3) what are the main tasks of process control?

What is the operating system kernel?

(4) what are the critical resources and critical areas?

(5) what is process synchronization and process synchronization mechanism?

(6) what is a semaphore?

The recording signal volume and P and V operation are briefly described.

(7) there are three processes: PA, PB, PC cooperation to solve the printing problem: PA reads the file record from disk to the main storage buffer 1, and reads one record at a time;

PB copies the contents of buffer 1 to buffer 2 and copies one record at a time.

The PC prints out the contents of buffer 2 and prints one record per execution.

The size of the buffer is equal to the size of a record.

Please coordinate the work of three processes with P and V.

(8) describe the concept of threading.

What are the differences and connections between threads and processes?

 

Chapter 3 processor scheduling and deadlock

Basic contents include:

(1) the target of processor scheduling hierarchy and scheduling algorithm;

(2) homework and job scheduling;

(3) process scheduling;

(4) real-time scheduling;

(5) summary of deadlock;

(6) prevent deadlocks;

(7) avoid deadlocks;

(8) detection and termination of deadlock;

 

Homework and extracurricular study requirements:

(1) what is the task of process scheduling?

What is the task of job scheduling?

(2) briefly describe the basic ideas of several common process scheduling algorithms.

(3) how to determine process priority?

(4) what is a deadlock?

What are the causes and necessary conditions for deadlocks?

(5) explain the use of those ways to prevent deadlocks?

Describe the processing steps of the banker's algorithm.

 

Chapter 4 memory management

Basic contents include:

(1) hierarchy of memory;

(3) load and link of the program;

(3) continuous distribution mode management;

(4) exchange;

(5) paging storage management mode;

(6) segmented storage management mode;

 

Homework and extracurricular study requirements:

(1) what is address relocation?

How does the address translation of static relocation and dynamic relocation be performed?

(2) describe the process of recycling a free zone in a dynamic partitioned storage management scheme.

(3) compare the differences and connections between the paging system and the segmentation system.

(4) briefly describe the basic principle of the section page system.

(5) in a system with page storage management, the address space of a process is 4 pages, 2 k. bytes per page, and its page table is known as below:

Page, block,

0 2

1 to 4

2 to 6

3 8

Try to find the physical address corresponding to the logical address 4099, describe the process of address transformation, and draw the diagram of address transformation.

 

Chapter 5 virtual memory

Basic contents include:

(1) overview of virtual memory;

(2) request paging storage management mode;

(3) page replacement algorithm;

(4) "jitter" and working set;

(5) request segmented storage management mode.

 

Homework and extracurricular study requirements:

(1) briefly describe the address translation mechanism and address transformation process of the request paging system (illustrated and briefly described).

(2) briefly describe the process of missing page interrupts in the request paging system. What is the difference between missing page interrupts and general interrupts?

(3) in a request paging system, the page access order of the known process is: 4,3,2,1,4,3,5,4,3,2,1,5.

When the number of physical blocks allocated to the process is 3 and 4, the test results are calculated respectively according to the access success rate of FIFO and LRU algorithm respectively.

 

Chapter 6 input and output system

Basic contents include:

(1) function, model and interface of I/O system;

(2) I/O equipment and equipment controller;

(3) interrupt mechanism and interrupt handler;

(4) device driver;

(5) I/O software which is not related to equipment;

(6) user layer I/O software;

(7) buffer management;

(8) performance and scheduling of disk storage.

 

Homework and extracurricular study requirements:

(1) describe the concept of equipment independence.

(2) what is a virtual appliance?

(3) briefly describe the principle and composition of SPOOLing system.

(4) what is the disk scheduling algorithm?

The principle of SCAN algorithm is briefly described.

 

Chapter 7 File system

Basic contents include:

(1) documents and file systems;

(2) the logical structure of the file systems;

(3) file directory;

(4) file sharing;

(5) file protection.

 

Homework and extracurricular study requirements:

(1) briefly describe the concept of file and file system.

(2) describe the logical organization of the document.

(3) what is the function of opening the file and closing the file?

(4) what is a file directory and an index node?

(5) briefly describe the working principle of group link method.

 

Chapter 8 management of disk storage

Basic contents include:

(1) the organization mode of external deposit;

(2) management of file storage space;

(3) ways to improve disk I/O speed;

(4) technology to improve disk reliability;

(5) data consistency control.

 

Homework and extracurricular study requirements:

(1) describe the physical organization of the document.

(2) describe the physical organization of UNIX systems.

(3) suppose you have a disk with 6400 pieces, each piece length is 1024 bytes, block number as 0-6399, is now with 400 16-bit word (Bit) as shown in figure of the disk, try to ask the 2999th block corresponding to the position shown in the figure which word ranked (words, all start from 0).

And the 7th in the 299 words (same up, starting from 0), what's the corresponding block?

(4) if the UNIX system has a disk, the file storage area has 6450 blocks, and the block number is 0 -- 6449. Please briefly explain the management method of the system file storage space, and the drawing shows the intention.

 

III. Schedule

 

Date

Topic

Project Due

May 22

Introduction to OS

 

 

May 24

OS Structures

 

 

May 29

Processes

 

 

May 31

Processes

 

 

June 5

Threads

 

 

June 7

Monitors

 

 

June 12

Midterm Exam

Project 1

June 14

CPU Scheduling

 

 

June 19

Process Synchronization

 

 

June 21

Memory Management

 

June 26

Memory Management

 

June 28

Virtual Memory

 

 

July 3

Virtual Memory

 

 

July 5

Mass-Storage Structure

 

Project 2

July 10

I/O Systems

 

 

July 12

File-System

 

 

July 17

File-System

 

 

July 19

Protection

 

 

July 24

Security

 

 

July 26

Finals Review

Project 3

July 31

Final Exam

 

 

IV. Programming projects.

The programming projects will be implemented in C.

Projects handouts will be given in class.

 

Project 1: Terminal device driver (10 points)

This project requires you to implement a terminal device driver with threads and monitors

 

Project 2: Kernel (15 points)

This project requires you to implement a kernel with virtual memory and context switching.

 

Project 3: File-System (15 points)

This project requires you to implement a unix file system on top of your project 2 kernel.

 

V. Grading Criteria

Homework: 20%

Programming projects: 40%

Midterm exam: 20%

Final exam grade: 20%.

Exam form. The questions are: multiple-choice questions, fill-in questions, essay questions, calculation questions, and comprehensive questions.

 

VI. Bibliography.

"Computer operating system (fourth edition)", tang xiaodan et al., xi 'an university of electronic science and technology press, 2014.

operating system tutorial (fourth edition), sun zhongxiu, advanced education publishing house, 2004.

operating system: essence and design principles (original book 6), stallings, Chen xianggang et al., mechanical industry press, 2010.

"modern machine operating system (original book version 3)", (lotus) tower enbaum, Chen xianggang, ma hongbing, etc., mechanical industry press, 2009.