第一篇:操作系统实验教学大纲(新)
《操作系统》课程实验教学大纲
英文名称:Operating System 课程编号:0007021046-1 学时数:48+S16 课程性质:必修
先修课程:C语言程序设计、数据结构、计算机组成原理、汇编语言程序设计 适用专业:计算机科学与技术、软件工程、物联网工程
一、课程实验的目的和任务
本课程实验的目的是培养学生开发系统软件的技能,能建立并行程序设计的思想方法,为以后学习后续课程打下基础。
本课程实验的任务是加深学生对操作系统所涉及的概念、算法、数据结构的理解;体验操作系统所涉及的抽象思维的具体实现;掌握Linux系统的基本功能和相关系统调用。
二、课程实验的内容和要求 1.Linux基本操作
内容:Linux系统登录与退出,常用基本命令,C语言程序的编辑、编译以及运行 要求:熟悉Linux系统登录与退出,掌握常用基本命令的使用,掌握在Linux环境下C语言程序的编辑、编译以及运行方法。
2.进程的控制
内容:wait()和exit()、exec()系统调用,进程的睡眠、同步、撤消等控制方法。要求:掌握进程创建和进程控制的有关系统调用。3.进程的通信
内容:软中断的程序实现、信号的发送和处理以及信号机制程序分析。要求:掌握Linux系统中软中断通信、信号的发送和处理以及信号机制的相关系统调用。
4.分区与页式存储管理
内容:常用命令和系统调用,观察内存工作情况,动态存储分配。要求:掌握内存动态存储分配机制和对程序空间结构的观察。5.设备管理与驱动
内容:设计简单的字符设备和快设备驱动程序、设备驱动的安装与使用。要求:掌握设备管理与驱动力的基本概念和基本方法。6.shell与系统调用,2学时
内容:Bash脚本程序的使用、程序设计与测试、系统调用的创建与使用。要求:理解面向操作命令的接口Shell,学会简单的 Shell编程,理解操作系统调用的运行机制,掌握创建系统调用的方法。
7.简单文件系统设计
内容:建立文件系统的数据结构、程序设计。
要求:掌握文件控制的基本原理和常用文件系统调用。
三、课程实验的进度安排
本课程实验的总学时数为16。主要安排在理论课程的相关内容讲完之后进行,用4~8周的时间来实施,每周2~4学时。
四、考核方法及成绩评定 1.实验过程:20% 2.实验结果、实验报告:30% 3.实验考核:50%。
五、几点说明 1.制定的依据
本大纲依据高等工科院校四年制本科计算机科学与技术专业的培养目标和学校2013年专业人才培养方案中的培养要求而制定。
2.教材与参考书 教材:
韩立毛,李先锋.计算机操作系统实践教程.江苏:南京大学出版社,2011.参考书:
徐虹,何嘉,张钟澍.操作系统实验指导.北京:清华大学出版社,2005.任爱华,李鹏,刘方毅.操作系统实验指导.北京:清华大学出版社 2004.制定人:韩立毛 审定人: 批准人:
第二篇:操作系统课程设计教学大纲(新)
《操作系统》课程设计教学大纲
英文名称:Operating System 课程编号:0007021046-1 学时数:48+S16 课程性质:必修
先修课程:C语言程序设计、数据结构、计算机组成原理、汇编语言程序设计 适用专业:计算机科学与技术、软件工程、物联网工程
一、课程设计的和目的和任务
1.本课程设计的目的是为了让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力,有必要以课程设计的方式对学生进行进一步的综合训练。
2.本课程设计的任务是通过计算机操作系统中的典型算法问题,要求学生通过语言编程来模拟实现相关算法。
二、课程设计的内容和要求
1.进程调度与死锁算法的模拟实现。
主要内容有进程调度算法的模拟实现、生产者-消费者问题的模拟实现、银行家算法的模拟实现等。通过对这3个课题的学习实践,要求学会设计进程调度算法的模拟实现、生产者-消费者问题的模拟实现、银行家算法的模拟实现。通过课程设计,深刻理解进程调度的实质和避免死锁的算法实现方法。
2.内存与外存管理算法的模拟实现。
主要内容有页面置换算法的模拟实现、简单文件系统的模拟实现等。通过对2个课题的学习实践,要求学会设计页面置换算法的模拟实现、简单文件系统的模拟实现,通过课程设计,深刻理解页面置换算法的实现技术和简单文件系统的设计方法和过程。
三、课程设计的进度安排
本课程设计一般安排在学期结束之前的一周时间内进行。进度安排如下: 课题需求分析,一天;课题概要设计,一天;课题详细设计,两天;测试与调试,一天;设计报告,一天。
四、考核方式和成绩评定
平时20%、运行结果40%、设计报告40%
五、几点说明 1.制定的依据
本大纲依据高等工科院校四年制本科计算机科学与技术专业的培养目标和学校2013年专业人才培养方案中的培养要求而制定。
2.教材与参考书 教材:
韩立毛,李先锋.计算机操作系统实践教程.江苏:南京大学出版社,2011.参考书:
徐虹,何嘉,张钟澍.操作系统实验指导.北京:清华大学出版社,2005.任爱华,李鹏,刘方毅.操作系统实验指导.北京:清华大学出版社 2004.制定人:韩立毛 批准人:
审定人:
第三篇:操作系统教学大纲
《计算机操作系统原理》教学大纲
一、课程的性质、地位:
《计算机操作系统原理》是大学计算机专业的核心专业课程。通过系统学习计算机操作系统原理的基本理论与基本概念以及相关的操作系统的内涵,重点掌握操作系统进程管理、处理机调度、存储管理、设备管理和文件系统。基本知识与基本原理,掌握操作系统在计算机专业中的重要作用。为今后进一步学习计算机知识和技术打下良好的基础。
二、教学目的及要求
为了使本专业学生系统、深入地掌握计算机有关知识,为信息系统的分析和开发打下良好的基础,特开设此课程。本课程要求学生掌握操作系统的基本特征、发展过程、功能及操作系统的结构设计;了解作业管理和用户接口;了解进程和线程的基本概念、同步与通信、调度与死锁,以及处理机管理;了解连续式、离散式存储器的管理方式及虚拟存储器;了解设备管理、文件管理、网络操作系统以及操作系统的实例UNIX系统等。本课程是专业基础课,学习本课程前要求学生已学习计算机基本原理程序设计以及数据结构等课程。
三、课程教学目标:
《计算机操作系统原理》是计算机专业的核心必修课,通过《计算机操作系统原理》课程的教学,培养学生掌握计算机操作系统原理,学会使用计算机操作系统的原理来理解计算机的工作,并为进一步深入学习本专业的计算机理论打下坚实的基础。
四、课程教学的基本要求:
教学中,要坚持精讲、多练,原理部分不容易理解,要注意在实际中的应用。提倡任务驱动的教学方法,但要避免教一会一的死板教学。要以学生为中心,培养学生探究的能力,鼓励同学之间的讨论和交流,达到全面提高学生能力的目标。
五、本课程与相关课程的联系:
本课程属于专业核心课,其任务是使学生掌握计算机操作系统的原理知识及其应用,学习和掌握操作系统中的经典算法,为今后其他专业课的学习做好准备。
六、实践教学要求:
上机实验是学习计算机必不可少的实践环节,主要目的是锻炼和培养学生对原理和经典算法的验证。通过学习,学生应能够掌握计算机操作系统中进程管理、处理机调度、存储管理、设备管理和文件系统。实验课时课为10课时。
七、课程教学内容:(以*方式注明重点、难点)第一章 操作系统概述(3学时)
教学基本要求:
1.了解操作系统的形成过程,建立操作系统的整体概念,2.熟悉操作系统的基本类型和服务方式。3.掌握操作系统的定义、特征和功能。第一节 操作系统的定义
一、操作系统的虚拟机观点
二、操作系统的资源管理观点
三、操作系统的用户服务观点
四、操作系统的进程管理观点 第二节 操作系统的形成过程
一、人工操作阶段
二、单道批处理阶段
三、多道程序系统阶段
四、进一步发展阶段
第三节 操作系统的基本类型
一、多道批处理系统
二、分时系统
三、实时系统
四、通用操作系统
第四节 操作系统的特征
一、并发
二、共享
三、虚拟
四、异步行
第五节 操作系统的服务
一、操作系统的公共服务
二、操作系统的服务方式 第六节 操作系统的功能
一、用户接口
二、处理机管理
三、存储管理
四、设备管理
五、文件管理
第七节 操作系统的结构
一、整体式系统
二、层次式系统
三、客户/服务器系统
第二章 操作系统用户接口*(3学时)
教学基本要求:
1.了解用户接口的类型及各种接口的实现方法,尤其是图形接口的有关知识 2.熟悉命令接口在不同工作方式下的主要功能,作业和作业管理的基本概念 3.掌握系统调用的定义及其执行过程。
第一节 用户接口概述
一、程序的执行和作业的概念
二、作业管理概述 第二节 命令接口
一、脱机命令接口
二、联机命令接口 第三节 程序接口
一、系统调用概述
二、系统调用类型
三、系统调用过程 第四节 图形接口
第三章 进程管理*(12学时)
教学基本要求:
1.了解进程的引入原因和控制方法,进程互斥与同步的概念,进程间通信的概念,线程的概念及其与进程的关系。
2.进程互斥与同步中的信号量机制及pv操作的定义和物理意义,进程通信的类型和方法,消息缓冲通信的实现过程。
3.掌握进程的定义和特征,进程互斥与同步的机构和方法,能用信号量机制解决进程互斥同步问题。
第一节 进程的基本概念
一、进程的引入
二、进程的定义和特征 第二节 进程的描述
一、进程控制块
二、进程控制块的组织方式 第三节 进程状态及其转换
一、进程的基本状态
二、进程基本状态的转换 第四节 进程控制
一、进程控制机构
二、进程控制原语 第五节 进程同步与互斥
一、互斥的概念
二、进程同步的概念
三、互斥与同步机制
四、用PV原语实现互斥与同步的方法
五、用PV原语解决经典的互斥与同步的方法 第六节 进程间通信
一、进程间通信的类型
二、消息传递
三、消息传递的实例——消息缓冲通信 第七节 线程的概念
一、线程的引入和定义
二、线程的属性和状态
三、进程与线程的比较
第四章 处理机调度*(12学时)
教学基本要求:
1.了解各级调度的功能,各种系统的调度模型。
2.掌握各调度的算法,及平均周转时间和平均带权周转时间的计算。
3.掌握先来先服务、短作业优先、时间片轮转、优先级和多级反馈队列调度算法 第一节 调度的存次与分类
一、调度的层次
二、调度的分类
第二节 调度算法的设计目标和性能
一、设计目标
二、性能指标 第三节 调度算法
一、先来先服务调度算法
二、短作业优先调度算法
三、高相应比优先调度算法
四、时间片轮转调度算法
五、优先级调度算法
六、多级反馈队列调度算法 第四节 实时系统调度
一、实现实时调度的基本条件
二、实时调度的分类
三、常用的几种实时调度算法
第五章 死锁及其对策(3学时)
教学基本要求:
1.了解死锁问题在操作系统中的危害及死锁产生的原因。
2.熟悉死锁及死锁定理的概念,死锁问题的解决途径及死锁预防、避免、检测和恢复的方法。
3.掌握死锁产生的必要条件、资源分配图的化简和银行家算法的使用。第一节 死锁的概念
一、资源
二、死锁定义
第二节 死锁的产生及对策
一、死锁产生的原因
二、死锁产生的必要条件
三、死锁的描述
四、处理死锁的方法 第三节 死锁的预防
一、破坏互斥条件
二、破坏占用并等待条件
三、破坏不剥夺条件
四、破坏环路等待条件 第四节 死锁的避免
一、系统状态的安全性
二、银行家算法
三、银行家算法举例 第五节 死锁的检测和解除
一、利用资源分配图检测死锁
二、利用死锁检测算法检测死锁
三、死锁的恢复
第六章 存储管理*(6学时)
教学基本要求:
1.了解各种不同的存储管理方式以及它们的优缺点和适用场合。
2.熟悉各种存储管理方式所需的软、硬件支持以及各种算法的基本思想和实现方法。3.掌握存储管理的目的和功能、存储器的分配方式等基本概念,虚拟存储器的概念,各种虚拟管理方法的基本思想、实现原理和地址变换过程。
第一节 存储管理的基本概念
一、存储器的层次
二、地址重定位
三、存储管理的目的和功能
四、存储分配方式 第二节 存储管理技术
一、单一连续区管理
二、固定式和可变式分区存储管理
三、可重定位分区存储管理
四、分区的存储保护
第三节 虚拟存储系统的基本概念
一、虚拟存储器
二、实现虚拟存储器的基本原理
三、高相应比优先调度算法 第四节 分页存储管理
一、的实现原理
二、简单分页存储管理
三、请求式分页存储管理
四、请求式调页存储器管理的页眉置换算法
五、页面抖动和工作集模型
六、页面保护
七、页式存储器管理的优缺点 第五节 请求分段存储管理
一、段式存储器管理的基本思想
二、段式存储器管理的实现原理
三、段的共享与保护
四、分段与分页的区别与联系
五、段式存储器管理的优缺点 第六节 段页式存储管理
一、段页式存储管理的基本思想
二、段页式存储管理的地址变换过程
三、段页式存储管理的优缺点
第七章 设备管理(3学时)
教学基本要求:
1.了解操作系统的形成过程,建立操作系统的整体概念,2.熟悉操作系统的基本类型和服务方式。3.掌握操作系统的定义、特征和功能。
7.1 概述
7.2 设备管理的实现技术 7.3 设备管理软件的层次 7.4 虚拟设备
7.5 磁盘驱动调度
第八章 文件系统*(6学时)
教学基本要求:
1.了解操作系统的形成过程,建立操作系统的整体概念,2.熟悉操作系统的基本类型和服务方式。3.掌握操作系统的定义、特征和功能。
8.1 文件系统概述
8.2 文件的逻辑结构及其存取方法 8.3 文件的物理结构及其存取方法 8.4 文件存储空间管理 8.5 文件目录管理
8.6 文件系统的安全性
8.7 文件的操作与使用
第九章 Windows NT(3学时)
教学基本要求:
1.了解操作系统的形成过程,建立操作系统的整体概念,2.熟悉操作系统的基本类型和服务方式。3.掌握操作系统的定义、特征和功能。
9.1 系统结构
9.2 Windows NT内核 9.3 虚拟内存管理 9.4 对象管理程序 9.5 I/O系统 9.6 文件系统
四、教材
《操作系统》,刘滕红主编,科学出版社,2004
五、主要参考资料
1.《操作系统》.孟庆昌.电子工业出版社.2004年5月第一版 2.《操作系统》.凤羽翚等.电子工业出版社.2004年3月第一版 3.《计算机操作系统》.张尧学,史美林.清华大学出版社.2000年8月第二版
4.《操作系统原理与实例分析》.蒲晓蓉等.机械工业出版社.2004年6月
六、成绩评定
期末考试占50%,作业占30%,考勤及课堂成绩占10%,上机实习占10%
第四篇:《操作系统》教学大纲
操作系统一、说明
(一)课程性质
本课程是计算机科学与技术专业的核心课程之一,属于必修课程。
“操作系统”是计算机系统不可缺少的组成部分,负责对系统中各种资源进行有效的管理和对各种活动进行正确的组织,使整个计算机系统协调一致且高效地工作,指挥计算机系统正常运行。操作系统基于硬件,并对硬件实施管理,并构成对所有软件运行的支持平台,给用户使用计算机而提供方便灵活友好的接口。
本课程的先修课为计算机组成原理、微机原理、数据结构、高级语言程序设计;后续课程为数据库系统原理、计算机网络、分布式系统等。
(二)教学目的
通过本课程的学习,使学生在深刻理解计算机系统整体概念的基础之上,掌握操作系统的基本内容及实现方法,掌握操作系统对计算机系统中各种资源的管理和控制功能,从而使学生具备一定的系统软件开发技能,为以后从事的研究、开发工作(如设计、分析或改进各种系统软件和应用软件)提供必要的软件基础和基本技能。
(三)教学内容
本课程内容包括:绪论,是对操作系统的一般性描述,包括什么是操作系统,操作系统在整个计算机系统的地位及其发展历史,它的功能、分类等;作业管理和Linux用户接口,介绍作业和操作系统用户接口,包括作业的基本概念和作业的建立过程、Linux介绍和它所提供的用户接口等;进程管理,主要介绍进程和线程的概念、进程控制、进程同步/互斥、死锁、进程间通信、线程等;处理机调度,主要介绍作业调度、进程调度、各种调度算法及其评价等;存储管理,介绍常见存储管理的方法,虚拟存储管理的实现等;Linux进程和存储管理;文件系统,包括文件系统的概念、文件结构和文件存取、文件目录管理、Linux文件管理等;设备管理;面向对象的操作系统和分布式操作系统。
(四)教学时数
课内学时:72
(五)教学方式
本课程的教学环节包括:课堂讲授、习题课、课堂讨论、批改作业、课外辅导、实验相结合,并逐步采用CAI、网络教学等教学手段。通过本课程各个教学环节的教学,重点培养学生的自学能力、分析问题解决问题的能力。
教学方法:采用启发式教学,鼓励学生自己针对某种操作系统进行分析和研究,培养学生的自学能力,以“少而精”为原则,精选教学内容,精讲多练,调动学生学习的主观能动性。
教学手段:开展电子教案、CAI课件的研制、引进和应用,研制多媒体教学系统。
考试环节:考试形式采用笔试,考试题型分为:填空题、选择题、判断题、简答题、分析设计题。
二、本文
第1章 绪论
教学要点:
操作系统的概念及其发展历史、分类,操作系统功能,研究操作系统的观点。本章是对操作系统的一般性描述。教学时数:4学时 教学内容: 1.1 操作系统概念(0.5学时)
掌握操作系统的概念及其在计算机系统中的作用。1.2 操作系统的发展历史
(1学时)了解操作系统的发展历史。
1.3 操作系统的基本类型
(1学时)
理解批处理系统、分时操作系统、实时操作系统、个人计算机操作系统、网络和分布式操作系统的特点。
1.4 操作系统的功能
(1学时)
掌握操作系统的处理机管理、存储管理、设备管理、文件管理和用户接口五大功能。1.5 研究操作系统的几种观点
(0.5学时)
了解操作系统是计算机资源的管理者观点,用户界面观点,进程管理观点。考核要求:
1. 识记:什么是操作系统,操作系统的分类。
2. 领会:操作系统的功能,操作系统的发展历史及研究观点。
第2章
作业管理和Linux用户接口
教学要点:
作业的概念和建立过程,操作系统为用户提供的接口,Linux用户接口,Linux shell编程。教学时数:8学时 教学内容:
2.1 作业的基本概念(1学时)掌握作业的定义,作业的组织。2.2 作业的建立过程
(1学时)
掌握作业的输入方式、JCB的建立;掌握SPOOLING系统。2.3 用户接口
(1学时)
掌握作业控制、系统调用;了解用户接口的演变。2.4 分时作业管理
(0.5学时)了解分时作业管理。
2.5 Linux简介
(1学时)
了解Linux的发展历史和发展前景,Linux系统的特点,Linux系统结构。2.6 Linux的Shell(1.5学时)
理解Shell提供的命令种类,程序语言Shell,make命令。2.7 Linux的系统调用
(1学时)
理解有关设备管理的系统调用,有关文件系统的系统调用,有关进程控制的系统调用,有关进程通信的系统调用,有关存储管理的系统调用。2.8 Linux桌面环境KDE介绍
(1学时)了解Linux桌面环境KDE介绍。考核要求:
1. 识记并领会:作业的概念,JCB的建立,SPOOLING系统,操作系统用户接口。2. 分析:Linux的Shell,Linux的系统调用。
第3章
进程管理
教学要点:
进程的概念和描述,进程的同步和互斥,进程通信,死锁。教学时数:10学时 教学内容: 3.1 进程和线程的概念(1学时)
掌握程序的并发执行、进程的定义、作业和进程的关系;了解线程的概念。3.2 进程的描述
(1学时)
掌握进程控制块PCB,进程上下文。3.3 进程状态及其转换
(1学时)
掌握进程的三种基本状态:执行状态、等待状态、就绪状态,三种状态间的转换。3.4 进程控制
(1学时)
理解进程的创建与撤消,进程的阻塞与唤醒。3.5 进程互斥
(2学时)
掌握资源共享所引起的制约,互斥的加锁实现,信号量和P、V原语,用P、V原语实现进程互斥。3.6 进程同步
(1学时)
掌握同步的概念,私用信号量,用P、V原语实现同步;理解生产者——消费者问题。3.7 进程通信
(1.5学时)
理解进程的通信方式,消息缓冲机制,邮箱通信。3.8 死锁问题
(1.5学时)
掌握死锁的概念,死锁的排除方法,银行家算法。考核要求:
1. 识记:进程的概念和描述,进程的互斥和同步,死锁的产生条件,线程的概念。2. 领会:进程控制,进程通信,死锁的排除方法和各种算法。
第4章
处理机调度
教学要点:
作业调度,进程调度,各种调度算法及其评价,多处理机调度机制。教学时数:6学时 教学内容:
4.1 分级调度(1学时)
作业的状态和转换,调度的层次。4.2 作业调度
(1学时)
掌握作业调度功能,作业调度目标与性能衡量。4.3 进程调度
(1学时)
掌握进程调度的功能,进程调度的时机,进程上下文切换;理解进程调度性能评价。4.4 调度算法(1学时)
掌握先来先服务调度算法,轮转法,多级反馈轮转法,优先级法,静态优先级,动态优先级。4.5 算法评价
(1学时)
理解FCFS方式的调度性能分析,轮转法调度性能评价,线性优先级法的调度性能。4.6 多处理机调度
(1学时)
了解多处理机系统的概念,多处理机操作系统的分类,多处理机系统调度策略。考核要求:
1. 识记:作业调度的功能和目标。
2. 领会:进程调度,调度算法的性能评价。3. 分析及应用进程调度算法。
第5章
存储管理
教学要点:
虚拟存储器的概念,分区存储管理,页式存储管理,段式与段页式存储管理。教学时数:12学时 教学内容:
5.1 存储管理的功能(1.5学时)
掌握虚拟存储器,内外存数据传输的控制,内存的分配与回收;理解地址变换,内存信息的共享与保护。
5.2 单道环境下的存储管理
(0.5学时)
理解单一连续区分配;了解单一连续区管理方式的优缺点。5.3 分区存储管理
(2学时)
理解分区管理基本原理,分区的分配与回收。5.4 覆盖与交换技术
(1学时)理解覆盖技术,交换技术。5.5 页式管理(3学时)
掌握页式管理的基本原理,静态页面管理,动态页式管理,存储保护;理解请求页式管理中的置换算法;了解页式管理的优缺点。5.6 段式与段页式管理(3学时)
掌握段式管理的基本思想,段页式管理的基本思想;理解段式管理的实现原理,段页式管理的实现原理;了解段式管理的优缺点。
5.7 局部性原理和抖动问题(1学时)掌握局部性原理;理解工作集概念。考核要求:
1.识记:存储管理的功能,虚拟存储器的概念,页式管理的基本原理,动态页式管理,页式管理存储保护,段式管理和段页式管理的基本思想,局部性原理。
2.领会:地址变换,分区管理的基本原理,分区的分配与回收,静态页式管理,段页式管理的实现原理,工作集概念。
3.应用:请求页式管理中的置换算法。
第6章
Linux进程和存储管理
教学要点:
Linux进程结构、进程控制,Linux进程调度与交换,进程间通信,Linux存储管理方式。教学时数:8学时 教学内容:
6.1 Linux进程和存储管理介绍(1学时)6.2 Linux进程结构(1学时)
掌握Linux进程的概念,进程的虚地址结构,进程上下文,进程的状态和状态转换。6.3 Linux进程控制
(1学时)
了解Linux启动和进程树的形成,理解Linux进程控制。6.4 Linux进程调度与交换
(1学时)掌握Linux进程调度,交换。6.5 进程间通信(2学时)
掌握Linux的低级通信,进程间通信IPC。6.6 Linux存储管理
(2学时)
掌握Linux虚存空间划分和管理思想;理解Linux的内存分配与释放,地址变换过程,Linux的请求调页技术。考核要求:
1.领会:Linux进程控制,内存的分配与释放,Linux进程结构。2.分析:Linux进程调度,进程间通信,Linux的页式存储管理。
第7章
文件系统
教学要点:
文件系统的作用,文件的结构与存取,文件的目录管理。教学时数:12学时 教学内容:
7.1 文件系统的概念(1学时)
掌握文件系统的引入,文件与文件系统的概念,文件的分类。7.2 文件的逻辑结构与存取方法
(1学时)
理解文件的逻辑结构,存取方法,顺序存取法,随机存取法,按键存取法。7.3 文件的物理结构与存储设备
(1学时)
理解文件的物理结构:连续文件,串联文件,索引文件;理解文件存储设备:顺序存取设备,直接存取设备。
7.4 文件存储空间管理
(1学时)
掌握三种不同的空闲块管理方法:空闲文件目录,空闲块链,位示图。7.5 文件目录管理
(2学时)
掌握文件的组成,文件目录,可共享的文件目录,目录管理。7.6 文件存取控制
(1学时)
理解文件存取控制的目标,存取控制方法。7.7 文件的使用
(0.5学时)了解文件的使用。
7.8 文件系统的层次模型(0.5学时)了解文件系统的层次模型。
7.9 Linux文件系统的特点与数据结构、文件类别
(1.5学时)
掌握Linux文件系统的特点,Linux文件分类,文件系统的数据结构及其关系。7.10 Linux文件系统的资源管理和地址映射
(1.5学时)
理解磁盘i-node的分配与释放,内存i-node的分配与释放,系统打开文件表的分配与释放,地址映射。
7.11 Linux系统中的目录与搜索方法,以及文件系统的系统调用(1学时)理解散列搜索法,算法描述;理解Linux系统调用。考核要求:
1.识记:文件系统的功能,文件系统的层次模型。
2.领会:文件的逻辑与物理结构,文件存取方法及其存取控制,文件目录管理。
3.分析:Linux文件系统的数据结构及其相互关系,Linux文件系统的资源管理和地址映射、系统中的目录与搜索方法,Linux文件系统的系统调用。4.应用层次:文件的使用。
第8章
设备管理
教学要点:
主要介绍设备管理的基本概念,包括中断、缓冲、设备分配和控制。教学时数:8学时 教学内容:
8.1 引言(0.5学时)
掌握设备的类别,设备管理的功能和任务。8.2 数据传送控制方式
(1学时)掌握程序直接控制方式,中断方式,DMA方式,通道控制方式。8.3 中断技术
(1学时)
掌握中断的基本概念,中断的分类与优先级,软中断;理解中断处理过程。8.4 缓冲技术
(1学时)
掌握缓冲的目标,缓冲的种类,缓冲池的管理。8.5 设备分配
(1学时)
掌握设备分配用的数据结构,设备分配的原则,设备分配办法。8.6 I/O进程控制与设备驱动程序
(0.5学时)
了解I/O控制的功能,I/O控制的实现,设备驱动程序。8.7 Linux的中断和异常处理
(1学时)
理解中断和异常总控过程,中断分类和处理,异常处理。8.8 Linux缓冲区管理(1学时)
掌握Linux缓冲池结构,缓冲区的分配与释放,缓冲区数据读写。8.9 块设备驱动与字符设备驱动
(1学时)
理解块设备驱动:设备配置,设备驱动程序的接口;理解字符设备驱动:主要数据结构,包括缓冲区结构、缓冲队列的控制结构、字符设备开关表。考核要求:
1.识记:数据传送控制方式,缓冲技术,设备分配。
2.领会:中断技术,Linux缓冲区管理,Linux的中断和异常处理。
第9章
面向对象、网络、分布式操作系统
教学要点:
介绍面向对象的操作系统和网络操作系统,以及分布式操作系统的概念。教学时数:4学时 教学内容:
9.1 面向对象和操作系统(1学时)
了解面向对象的基本概念,面向对象操作系统的概念及其开发方法,面向对象操作系统的分类。9.2 网络操作系统
(1学时)
了解网络操作系统的构成,文件与打印服务,电子邮件服务。9.3 分布式操作系统
(2学时)
了解进程迁移,分布进程同步,分布式进程通信,分布式系统中的死锁。考核要求:
识记面向对象操作系统的概念,分布式操作系统的基本概念;领会网络操作系统的构成与服务。
三、参考书目
1.2.3.4.张尧学,史美林,《计算机操作系统》,清华大学出版社。
Tanenbaum AS, Operating System Design and Implementation, Prentice-Hall, 1987。郭玉东,《Linux操作系统结构分析》,西安电子科技大学出版社,2002。汤子赢,《计算机操作系统》,西安电子科技出版社,2000。
第五篇:操作系统实验
操作系统实验
实验一
Linux常用命令实验
一.目的和要求
本实验的目的是熟悉Linux操作系统的命令接口、图形接口和程序接口;了解Linux操作系统的启动过程;了解Linux操作系统的目录结构;用vi编辑器编写简单的C语言程序,并用gcc编译器编译、运行。
二.实验内容
1、实现开机、登录、退出与关机:
(1)如果以root用户登录,则命令窗口的提示符为#;如果以普通用户登录,则命令窗口的提示符为$;登陆用户名:user 密码:123456(2)修改口令(修改口令操作不做):成功进入系统后,在命令提示符后输入“passwd”并键入回车键
(3)退出帐号:命令方式下:logout(4)关机或重启:
命令方式下:halt或reboot 窗口方式下:“桌面”->“注销”
2、掌握的基本常用命令列表
(1)关于目录的操作命令:cd、ls、mkdir、rmdir、pwd等;
(2)关于文件的操作命令:cat、find、man/help、vi/vim、cp、rm、mv、dd、du、df、chmod、ln等;
(3)关于进程管理的操作命令:ps、kill、top、free 等;
(4)关于系统管理的操作命令:whoami、passwd、adduser/useradd、addgroup、userdel、groupdel、su、who、Ctrl+Alt+Fn(n=1、2、3、4、5、6)(在X-Window界面下切换到字符界面,重新登录,Ctrl+Alt+F7返回图形界面)、Alt+Fn(n=1、2、3、4、5、6)(在6个虚拟终端之间切换)等;
(5)安装和卸载文件系统:mount、umount等;
(6)显示有关计算机系统信息的命令:uname(显示操作系统的名称)、uname –n(显示系统域名)、uname –p(显示系统的CPU名称)
(7)其它命令:time、date、cal 等。
3、阅读/etc/inittab 文本文件,思考问题:如果要求启动Linux系统之后进入字符 1
操作系统实验
界面,应如何修改/etc/inittab文件?用户应具有什么权限?
4、切换到不同的虚拟终端,登录到Linux系统
5、vi 编辑器的使用(1)进入和退出vi(2)利用文本插入方式建立一个文件(3)在新建的文本文件上移动光标。
(4)对文本文件执行删除、复原、修改、替换操作。
6、熟悉gcc编译环境:编写一个C语言程序myfile1.c,求1~100中偶数的和,编译并运行。
(1)编译 gcc myfile1.c 运行./a.out(2)编译 gcc –o myfile1 myfile1.c
运行./myfile1
7、编写一个C语言程序myfile2.c,显示字符串“Hello, Linux!”,并将其反向输出。
8、熟悉Linux系统的目录结构,使用命令或者编写C语言程序报告Linux内核的行为。
报告以下内容: CPU类型和型号 内核版本
从系统最后一次启动以来经历了多长时间?形式为dd:hh:mm:ss 当前配置的内存数量 当前可用内存数量
自系统启动以来,发生的所有的中断的次数 从系统启动开始创建的进程数 内核执行的上下文转换的次数
三.实验提示
1、Linux安装
(1)安装前的准备工作 <1>.基本的硬件配置
由于安装涉及到各种硬件的设置,所以在安装前必须了解机器各种硬件的型号,硬盘的使用情况,内存的大小,鼠标的类型及接口,声卡,网卡,显卡,显示器的型号。
操作系统实验
<2>.有关网络的信息
IP地址,掩码,网关IP地址,域名服务器IP地址,域名,宿主机名。<3>.安装方式的选择
•从CD-ROM安装 •从FTP站点安装 •从NFS服务器安装 •从硬盘安装 硬盘分区
硬盘空间必须和计算机上安装的其他操作系统所使用的硬盘空间分开。特别要注意,如果硬盘空间很大,切忌不能将Linux装在8G以后。安装Red Hat Linux至少需要两个硬盘分区:一个或多个“Linux native”类型的分区,一个“Linux swap”类型的分区
分区命名设计Linux 通过字母和数字的组合来表示硬盘分区。
前两个字母-----分区名的前两个字母表明分区所在设备的类型。hd指IDE硬盘,sd指SCSI硬盘。
下一个字母-----分区在哪个设备。例如,/dev/hda(第一个IDE硬盘),/dev/sdb(第二个SCSI硬盘)。
数字-----代表分区。前四个分区(主分区或扩展分区)用数字1到4表示。逻辑分区从5开始。例如, 若IDE硬盘在安装Linux前安装了Windows系统并划分了C盘和逻辑分区D盘,那么D盘就是/dev/hda5, /dev/hda5表示第一个硬盘的第一个逻辑分区。
对于Linux初学者来说,为Linux分两个区(根分区和交换分区)是比较简单方便的。
一个交换分区:用来支持虚拟内存。一个根分区:根分区是/(根目录)的所在地,其中包含启动系统所需的文件和系统配置文件。这个分区要足够大。
一个/usr分区: /usr是Linux系统许多软件所在的地方。一个/home分区:这是用户的主目录所在地。(2)开始安装
注意点:我们一般选择的是图形化的安装方式。它的主要部分是相同的。
可能会在安装完成后第一次启动时才进行网卡的检测。
操作系统实验
在选择图形化界面时,有两种方式gnome和kde;它们各有优缺点。 系统会让你选择启动时是图形化方式,还是字符方式。请大家选择字符方式。
在选择防火墙的时候,在安装时请先不用防火墙。
图形化安装方式下,不能选择启动时的开启服务。可在系统安装完成后用setup命令进行修改。
2、进入Linux(1)登录
第一次登录系统,必须作为“root”登录。这个帐号对系统的一切都有完全的访问权限。
在login:提示符处输入root。按[Enter](或[Return]键).会出现Password提示。输入口令,应该看到类似以下的信息:
[root@localhost /root] #(2)退出
输入[Ctrl]-[D](3)帐号和口令 <1>.帐号
创建新的帐号有几种方法,最基本的方法:useradd命令.[root @ localhost / root] # useradd
Tom
[root @ localhost / root] # <2>.口令
passwd 命令可以用来: 为新创建的用户分配口令。 修改已存在的用户的口令。 修改登录的用户的口令。此时必须以root登录。如:
[root @ localhost / root]# passwd Tom
New UNIX password:
Retype new UNIX password:
passwd:all authentication tokens updated successfully 4
操作系统实验
[root @ localhost / root]#
用新帐户登录:
Red Hat Linux release 7.1(Manhattan)
Kernel 2.0.34 on an i586
login: Tom
Password:
[Tom@ localhost Tom] $ <3>.su 命令
用su,当前的登录段能变成root(或其他用户)的登录段。如:
[Tom@ localhost Tom] $ su
Password:
[root@ localhost Tom] # 也可以用su变成其他用户。这时,必须作为root运行su,给出用户名。<4>.关闭系统
关闭系统时,必须告诉所有的进程结束运行,使用shutdown命令。且只能由root 运行,格式是:
shutdown
-h-------在关闭完成后(Halt)停止系统。
-r--------在关闭完成后重启动(Reboot)系统。
3、vi 编辑器的使用(1)进入和退出vi <1>进入vi 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
<2>退出vi 在命令方式下可有几种方法退出vi编辑器:
:wq 把编辑缓冲区的内容写到正在编辑的文件中,退出编辑器,回到Linux shell下。
:ZZ 仅当作过修改时才将缓冲区内容写到文件上。
操作系统实验
:x 与 :ZZ 相同。
:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。(2)新建文件
<1>在Linux提示符$之后,输入命令 :vi myfile,然后按〈Enter〉键。<2>输入插入命令i(屏幕上看不到字符i)。<3>然后,输入以下文本行: To the only book tht I, For mang year you have been my favourite book <4>发现这两行有错,进行改正: 按〈Esc〉键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。
按光标左移键,使光标移到“tht”的第二个“t”处。
输入i(这是插入命令),然后输入a。该行变成如下形式: To the only book that I, 按光标右移键,使光标移到“I”上。
我们想在“I”之后输入一个空格和单词“like”。为此,输入附加命令“a”。结果屏幕显示为:
To the only book that a I,没有出现预期的效果......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。<5>按〈Esc〉键,返回命令方式。
利用x命令删除错误字符。然后,进入插入方式,输入正确字符。<6>最后输入如下所示的文本: To the only book that I like, For many year you have been my favourite book I liveeyou all the time and could not have picked much better.<7>将编辑的文本文件存盘。(利用“:wq”命令,或者“:x”命令)<8>重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile)
操作系统实验
<9>在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数:“myfile”4 lines,130 characters 它仍然有错,需进一步修改。
<10>将光标移到第二行的year的r处。输入a命令,添加字符s。
<11>按〈Esc〉,回到命令方式。输入命令10〈Space〉,光标移至何处?---光标右移10个字符位置。
<12>利用取代命令r将liveeyou改为live you。
<13>将光标移至第三行。输入新行命令O(大写字母),屏幕上有什么变化?---光标移至上一行(新加空行)的开头。<14>输入新行的内容: We've been through much together 此时,vi处于哪种工作方式? <15>按〈Esc〉,回到命令方式。将光标移到第四行的live的v字母处。利用替换命令s将v改为k。
<16>在第四行的you之后添加单词very much。<17>修改后的文本是以下内容: To the only book that I like, For many years you have been my favourite book We've been through much together I like you very much all the the time and could not have picked much better.将该文件存盘,退出vi。
<18>重新编辑该文件。并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。
<19>现在想恢复17步的原状,怎么办?(使用复原命令u)
<20>使用dd命令删除第一行;将光标移至through的u字母处,使用C(大写字母)命令进行修改,随便输入一串字符。将光标移到下一行的开头,执行5x命令;然后执行重复命令(.)。
<21>屏幕内容乱了!现在想恢复17步的原状,怎么办?(不写盘,强行退出vi)
4、Linux内核
操作系统实验
Linux 内核源程序目录结构(/usr/src/redhat/SOURCES)如下: /document :保存帮助文档
/arch
:包含多个子目录,每个存放与特定体系结构相关的代码。如arch/i386(intel 386 体系结构),arch/sparc,arch/alpha等。每个子目录下至少又包含三个子目录:
kernel(存放支持该体系结构特有的诸如信号处理和SMP之类特征的实现);
lib(存放该体系结构特有的诸如Strlen和memcpy之类的高效率函数); mm(存放该体系结构特有的诸如内存管理程序的实现)
/drivers :该目录占内核代码一半以上,包括显卡、网卡、SCSI适配器、软驱、PCI设备和其他外设的软件驱动程序。/fs:包含linux支持的文件系统。
/include :包含源程序中大部分包含(.h)文件。/init: 包含main.c,保存大部分协调内核初始化的代码。/ipc:实现了SYSTEM V的进程间通讯IPC。
/kernel:包含了linux最重要的部分:实现平台独立的基本功能,包括Sched.c、fork.c、exit.c。
/lib :存放字符串和内存操作函数。
/mm:包含与体系结构无关的内存管理代码。/net:包含了linux应用的网络协议代码。/script :包含用来配置内核的脚本。
5、报告Linux状态(/proc 中的信息)
在终端窗口提示符下,可以使用cat命令显示相关文件的内容,如: cat /proc/cpuinfo 通过编写程序,显示相关文件内容:应用文件操作,将相关 /proc中的文件读入到缓冲区中,可用fgets()函数按行取文件中数据,通过strstr()检验包含所需数据字符串。如存在,用printf()函数输出。(1)CPU类型和型号
/proc/cpuinfo文件提供了有关CPU的多种信息,这些信息是从内核里对CPU的测试代码中得到的。文件列出了CPU个数:processor;CPU制造商:vendor_id;CPU架构:model;CPU名称:model name;CPU时钟频率:cpu MHz;CPU缓存大小: 8
操作系统实验
cache size;CPU包含的指令集:flags。文件还包含了以bogomips表示的处理机速度,而且如果检测到CPU的多种特性或bug,文件还会包含相应的标志。该文件的格式为:文件由多行构成,每行包括一个域名称、一个冒号和一个值。
通过fopen()函数打开包含CPU类型和型号的文件cpuinfo,把内容读入字符数组char_all,然后通过strstr()函数查找CPU类型和型号所在的位置,用strncpy()函数拷贝到字符数组中,通过printf()标准输出函数输出。(2)存储器信息
/proc/meminfo 文件给出了内存状态的信息。它显示出系统中物理内存的总量:MenTotal;未使用的物理内存的总量:MemFree;用做文件缓冲的物理内存的总量:buffers;用做缓冲的物理内存的总量:Cached;活跃的内存大小:Active;不活跃的内存大小:Inactive;交换分区的总量:SwapTotal;交换分区未使用的总量:SwapFree等信息。(3)内核版本
文件/proc/version显示了正在运行的内核版本、编译此内核的gcc版本以及该内核的编译时间。
(4)从系统最后一次启动以来的时间,形式为dd:hh:mm:ss uptime读出的时间是以秒计的,所以根据要求要转换为天:小时:分钟:秒。1天为86400秒,1小时为3600秒,1分钟为60秒。通过两个运算符就可以很好的转换:“/”做除法取整运算,“%”做除法取余运算。举例:86800秒,(86800/86400)=1(天),(86800%86400)=400(余400秒);400秒,(400/3600)=0小时,(400%3600)=400(余400秒);400秒,(400/60)=6分钟,(400%60)=40(余40秒)。所以最后结果为:1:0:6:40。(5)其他信息的读取 从/proc/stat中读取信息
CPU花费在用户态、系统态和空闲态的时间——cpu 自系统启动以来,发生的所有的中断的次数——intr 内核执行的上下文转换的次数----ctxt 系统最后启动的时间----btime 从系统启动开始创建的进程数----processes
6、Linux的目录结构
操作系统实验
对于Linux来讲它的树型结构与Windows不同,Windows可以有多个分区,每个分区都有根,但Linux 只有一个根,其他的所有文件、目录或硬盘分区、软盘、光盘、U 盘都必须mount(挂载)到Linux 根下的一个目录中才能被访问和使用。下面列出根目录下的常见系统目录及其用途。
/bin
bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
/boot
这里存放的是启动Linux时使用的一些核心文件。
/dev
dev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
/etc
这个目录用来存放系统管理所需要的配置文件(例如配置文件inittab)和子目录。
/home
用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang,也可以用~wang表示。
/lib
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所,有点类似于DOS下的.chk文件。
/media
用来挂载光盘、U盘等文件系统的目录。/misc
用来挂载NFS 共享目录。
/mnt
用于挂载其他硬盘分区系统的目录(如挂载xp分区)。
/opt
某些第三方软件商软件的安装地点,如国产红旗office就存放于此。/proc
这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
/root
系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权,比如单独拥有一个目录。
/sbin
s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理程序。
/tmp
这个目录是用来存放一些临时文件的地方。
/usr
这是最庞大的目录,要用到的应用程序和文件几乎都存放在这个目录 10
操作系统实验
下。其中包含以下子目录:
/usr/X11R6
存放X-Window的目录; /usr/bin
存放着许多应用程序;
/usr/sbin
给超级用户使用的一些管理程序就放在这里;
/usr/include
Linux下开发和编译应用程序需要的头文件,在这里查找; /usr/lib
存放一些常用的动态链接共享库和静态档案库;
/usr/local
这是提供给一般用户的/usr目录,在这里安装软件最适合; /usr/src
Linux开放的源代码就存在这个目录。
/var
这个目录中存放着那些不断在扩充着的东西,为了保持usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样做的。另外,系统的日志文件就在/var/log目录中。
我们一般日常能经常访问的目录有/home 目录、/mnt目录、/media 目录、/usr 目录。