1、54实验/上机10英文课程名Operating Systems开课院(系)信息学院开课系计算机系、网络系修订时间2006年9月1日课 程 简 介“计算机操作系统”是计算机应计算机科学与技术专业学生必修的重要专业基础课,是一门涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。其特点是概念多、较抽象和涉及面广,其整体实现思想和技术难于理解。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。操作系统技术是衡量一个国家计算机技术整体实力和创新能力的关键。本课程主要内容包括:操作系统引论、进程管
2、理、存储器管理、文件系统、设备管理等方面的概念和技术方法等。课 程 大 纲一、课程的性质与任务: 操作系统是计算机科学与技术专业的主干课程,它综合了计算机软件和硬件技术,具有很强的系统性,是衡量教学质量和学生专业技能整体水平的重要课程。操作系统技术的掌握与应用决定了一个国家计算机系统软件的研发能力,是培养计算机创新人才的重要途径。学生通过本课程的学习,理解操作系统的基本概念和主要功能,它是如何组织和运作的,从而在本质上掌握计算机系统的运行机制,为迅速发展我国自己的操作系统,振兴我国信息产业打下坚实基础。二、课程的目的与基本要求: 本课程的目的掌握操作系统这一重要系统软件的结构与构造,它的各组成
3、部分的具体工作原理与技术实现方法,各部分之间的相互联系。通过系统的学习,学生站在一定高度掌握计算机系统的软硬件协作关系和整体工作原理,为今后从事专业工作打下坚实基础。 基本要求1、 掌握理论上的重要概念和重要技术,例如多道程序、并发、分时、进程、进程间通信、虚拟存储器等。2、 由于本课程难度很高,对于专业技术经验不足的一般学生来讲本课程的内容不容易消化和掌握,加上课内学时有限等因素,建议教学过程中多建设网络视频资源,教师将讲授之内容以网络教学资源的形式提供给学生,一方面便于学生课前预习、课后复习,突破学时限制,另一方面为交互式教学和自主式学习创造条件,而且可以扩大课堂容量。3、 知识掌握要有层
4、次结构。第一个层次是主流操作系统(类UNIX)的常用命令,第二个层次是学会用系统调用编写C语言应用程序,第三个层次是操作系统原理的掌握。这种层次结构教学方法保证不同层次的学生均有收获和成就感,也体现了由浅入深、由表及里的教学方法的灵活运用。4、 教学过程避免“重理论、轻实践”的现象,应该紧密结合一个具体操作系统来帮助学生理解深奥的理论与技术。三、面向专业计算机科学与技术、信息管理与信息系统四、先修课程计算机组成原理、汇编语言、C语言程序设计、数据结构。五、本课程与其它课程的联系操作系统是一门综合性较强的课程,需要学生有一定的计算机硬件基础知识,而操作系统本身是一个大型的系统软件,它的功能是通过
5、定义数据结构和程序描述来实现的。为此,学习本课程之前学生应具备计算机组成、汇编语言、C语言程序设计、数据结构等方面的知识。操作系统又是其它许多后续课程如计算机网络、编译原理、软件体系结构等的先行课程,它为进一步学习后续课程打下基础。六、教学内容安排、要求、学时分配及作业:第一章 引言(INTRODUCTION),(理论2学时,实验2学时)1.1什么是操作系统(WHAT IS AN OPERATING SYSTEM?)从功能扩展机和资源管理器两个角度掌握操作系统的概念(Extended Machine & Resource Manager)作业:1. What are the two main
6、functions of an operating system?2. What is the difference between kernel mode and user mode? Why is the difference important to an operating system?1.2 操作系统历史(HISTORY OF OPERATING SYSTEMS)结合硬件发展了解操作系统的由来,通过现有的操作系统产品重点掌握分时系统和多任务系统的概念。1. What is multiprogramming?2. What is spooling? Do you think that
7、 advanced personal computers will have spooling as a standard feature in the future?1.3 操作系统中的重要概念(OPERATING SYSTEM CONCEPTS)结合实际抽象出并理解进程、文件、shell等概念。(Processes, Files, and Shell)1. Write a shell that is similar to Fig. 1-10 but contains enough code that it actually works so you can test it. You mig
8、ht also add some features such as redirection of input and output, pipes, and background jobs.1.4 系统调用(SYSTEM CALLS)通过演示UNIX下的带有系统调用的C语言程序,使学生理解操作系统中各种主要的系统调用功能和使用方法。1. Write a program (or series of programs) to test all the MINIX 3 system calls. For each call, try various sets of parameters, includ
9、ing some incorrect ones, to see if they are detected.1.5 操作系统结构(OPERATING SYSTEM STRUCTURE)一般了解单一结构、分层结构、虚拟机操作系统,理解微内核操作系统结构。1. Examine the difference between a micro-kernel system and a monolithic system第二章 进程(PROCESSES), (理论16学时,实验2学时)2.1 进程引言(INTRODUCTION TO PROCESSES),1学时掌握进程模型,理解进程实现,了解线程1. Why
10、 is multiprogramming central to the operation of a modern operating system?2. What are the three main states that a process can be in? Describe the meaning of each one briefly.2.2 进程间通信(INTERPROCESS COMMUNICATION),2学时理解竞争条件、临界区、临界资源以及信号量的概念,掌握用信号量解决进程同步与互斥的方法1. Does the busy waiting solution using t
11、he turn variable work when the two processes are running on a shared-memory multiprocessor, that is, two CPUs, sharing a common memory?2. Consider a computer that does not have a TEST AND SET LOCK instruction but does have an instruction to swap the contents of a register and a memory word in a sing
12、le indivisible action. Can that be used to write a routine enter_region such as the one found in Fig. 2-12?3. Give a sketch of how an operating system that can disable interrupts could implement semaphores.4. Show how counting semaphores (i.e., semaphores that can hold an arbitrarily large value) ca
13、n be implemented using only binary semaphores and ordinary machine instructions.5. In a situation with a high-priority process, H, and a low-priority process, L, was described, which led to H looping forever. Does the same problem occur if round-robin scheduling is used instead of priority schedulin
14、g? Discuss.2.3 经典进程同步问题(CLASSICAL IPC PROBLEMS),1学时掌握进餐的哲学家问题,了解读者-写者和理发师问题1. In the solution to the dining philosophers problem (Fig. 2-20), why is the state variable set to HUNGRY in the procedure take_forks?2. Consider the procedure put_forks in Fig. 2-20. Suppose that the variable statei was set
15、 to THINKING after the two calls to test, rather than before. How would this change affect the solution for the case of 3 philosophers? For 100 philosophers?3. The readers and writers problem can be formulated in several ways with regard to which category of processes can be started when. Carefully describe three different variations of the problem, each one favoring (or not favoring) some category of processes. For each variation, specify what happens when a reader or a writer becomes ready to access the data base, and w
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1