-
第一章引论
这章主要来了解操作系统的一些基本概念,发展历史,以及分类和系统结构设计。
-
●1.1前言与目录
了解整个课程的内容框架和具体知识要点。
-
●1.2操作系统概念
了解操作系统运作一个程序的具体过程,从而认识操作系统的重要性以及与操作系统有关的裸机与虚拟机的概念,最后明确操作系统的定义。
-
●1.3操作系统的历史
学习操作系统由产生到发展的历史过程,从而掌握多道、分时、实时等相关基础概念以及操作系统各个发展时期所具有的特点。
-
●1.4操作系统分类、功能及结构
学习操作系统的分类、操作系统的结构设计,了解中国操作系统的发展史。
-
第二章进程的描述与控制
学习进程的概念、结构及进程控制和互斥同步控制,掌握利用信号机制和管程机制解决同步问题,并学习进程间通信的几种方法及其实现编程设计。
-
●2.1进程概念的引入
了解操作系统此入进程概念的原因,学习程序顺序执行与并发执行所具有的不同特点。
-
●2.2进程相关概念
学习进程的定义及进程特征以及进程状态。
-
●2.3进程控制块PCB
学习进程控制块PCB的结构及存储的进程的相关信息,以及系统启动的过程,从而认清整个系统的PCB的组织形式。
-
●2.4进程控制
了解原语概念,学习与进程控制相关的原语,了解其控制的具体过程。
-
●2.5进程互斥与同步
学习进程互斥与同步概念,掌握利用信号量机制解决互斥与同步的方法。
-
●2.6经典同步问题-生产者消费问题
学习利用信号量机制解决生产者消费者问题,并掌握其互斥同步控制具体的解决方法和过程。
-
●2.7经典同步问题-读者写者问题
学习利用信号量机制解决读者写者问题,并掌握其互斥同步控制具体的解决方法和过程。
-
●2.8管程机制
了解管程定义及结构及相关操作,弄清其与信号量机制的不同。
-
●2.9利用管程解决同步问题
学习利用管程解决哲学家问题和生产者消费者问题。
-
●2.10进程通信
学习进程通信的定义及其主要实现方法,了解消息通信方法实现的具体过程和程序设计。
-
●2.11线程
了解操作系统引入线程的原因,学习线程的定义和特征及相关的基础知识。
-
第三章处理机调试与死锁
处理机是计算机系统中的重要资源,其调度算法不仅对处理机的利用率和用户进程执行有影响,这一章主要讲解各个层次调度的算法以及死锁产生的原因和必要条件,以及解决死锁的方法。
-
●3.1处理机调度的层次
学习处理机调度的三个层次,和各种类型调度算法实现所采用的的调度队列模型,以及处理机调度算法的设计目标。
-
●3.2作业与作业调度
了解作业的概念,学习作业调度的先来先服务、短作业优先以及高响应比优先的三个方法。
-
●3.3进程调度算法
了解进程调度相关的知识,学习进程调度的基于时间片的轮转调度算法、优先级调度算法和多级反馈队列调度算法。
-
●3.4实时调度
了解实时任务调度的条件及调度算法的分类,学习先来看最早截止时间优先和最低松弛度优先算法,以及抢占方式 调度引起的优先级倒置现象的解决方法。
-
●3.5死锁的原因与必要条件
学习死锁的定义,分析产生死锁的原因和必要条件。
-
●3.6预防死锁的方法
学习预防死锁的方法,利用有序分配法防止死锁的发生。
-
●3.7避免死锁
了解安全序列的概念,学习用银行家算法避免死锁产生的方法。
-
●3.8死锁检测与解除
了解死锁检测与解除的方法,学习利用资源分配图来分析系统的死锁状态,以及利用死锁定理来检测死锁的方法。
-
●3.9死锁与饥饿
学习饥饿的概念,了解死锁与饥饿的区别,并利用信号量机制来解决饥饿问题。
-
第四章存储器管理
存储器历来都是计算机系统的重要组成部分,虽然存储器容量一直在不断扩大,但仍不能满足现代软件的发展需求。所以对内存加以有效的管理,不仅影响到存储器的利用率,而且对系统性能也有重大影响。
-
●4.1存储器的层次结构
本小节主要讲解计算机系统的多层结构的存储器系统及各层存储器的结构特征。
-
●4.2程序的装入与链接
本小节主要讲解用户程序在系统中运行,必须先将他装入内存,再将其转变为一个可以执行的程序,通常经过的编译、链接和装入的具体过程。
-
●4.3连续分配存储管理方式
本小节主要讲解早期的操作系统在运行程序时,需在内存中给一个用户程序分配一个连续的内存空间的四种分配方式。
-
●4.4动态分区分配算法
本小节主要讲解根据进程的需要,动态地为进程分配内存空间的数据结构、分区分配算法和分区的分配与回收。
-
●4.5页式存储管理
本小节主要讲解页式存储管理与分区管理的不同以及基本分页存储管理的结构与地址变换机构
-
●4.6段式存储管理
本小节主要讲解段式存储管理与页式存储管理的不同以及基本分段存储管理的结构与地址变换机构
-
●4.7对换技术与虚拟存储器概念
本小节主要讲解什么是对换技术和多道程序环境下对换空间的管理以及虚拟存储器概念的引入。
-
●4.8请求分页式存储管理
本小节主要讲解在基本分页基础上引入的请求分页存储管理方式的硬件机制、缺页中断机构及请求分页中的内存分配。
-
●4.9请求分段式存储管理
本小节主要讲解在基本分段基础上引入的请求分段存储管理方式的硬件机制、缺段中断机构及请求分段中的内存分配
-
●4.10页面置换算法
本小节主要讲解在请求分页式管理方式中,需要将页面在内存中调入和调出的OPT、FIFO、LRU、简单clock和改进型clock页面置换算法。
-
第五章设备管理
本章主要讲解操作系统中与设备管理的基本概念,以及实现设备管理的IO软件的层次结构、缓冲实现的技术各实现虚拟设备的SPOOLING技术的实现方法。
-
●5.1I/O系统
本节主要讲解IO设备类型、设备控制器的结构以及通道相关的基本知识。
-
●5.2I/O控制方式
设备管理的任务之一是控制设备,以实现设备与内存之间传递数据,这节课讲解IO设备常用的几种数据传送控制方式。
-
●5.3中断
中断在操作系统中有着特殊重要的地位,它是多道程序得以实现的基础。本节主要讲解中断概念、中断分类以及中断嵌套和中断处理过程及中断向量表。
-
●5.4I/O软件
本节主要介绍操作系统IO软件设计的目标及IO软件的层次结构。
-
●5.5与设备无关性软件
本节主要介绍与设备无关性软件有关的物理设备与逻辑设备的概念以及设备分配过程。
-
●5.6用户层IO软件
本节主要介绍与设备无关性软件有关的库函数、系统调用等概念以及实现虚拟设备的SPOOLING技术和守护进程。
-
●5.7缓冲区管理
本节主要介绍单缓冲、双缓冲、循环缓冲及缓冲池实现方法。
-
●5.8磁盘调度
本节主要介绍磁盘的数据组织和格式,以及磁盘访问时间和几个磁盘调度算法。
-
第六章文件管理
由于计算机中的内存是易失性设备,所以需要外存来存储文件,所以操作系统中增加了文件管理功能,专门管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。
-
●6.1文件和文件系统
本小节主要讲解操作系统中文件的基本概念、文件类型及文件系统的层次结构。
-
●6.2文件的逻辑结构
本小节主要讲解文件的逻辑结构类型、分类,顺序文件、索引文件及索引顺序文件的特征。
-
●6.3文件目录
本小节主要讲解文件目录的作用及文件控制块、索引节点、单级目录、两级目录和树形结构目录
-
●6.4文件共享
本小节主要讲解基于有向无循环图的文件共享、利用符号链接实现的文件共享
-
●6.5文件保护
本小节主要讲解影响文件安全性的主要因素、保护域、访问矩阵
-
●6.6外存的组织方式
本小节主要讲解文件在磁盘上的主要存储方式,连续组织方式、链接组织方式、FAT与NTFS。
-
●6.7文件存储空间的管理
本小节主要讲解文件存储空间的管理方式,空闲表法和空闲链表法、位示图法和成组链接法。
-
●6.8提高磁盘I/O速度
本小节主要讲解可通过磁盘高速缓存、提前读、延迟写、优化物理块分布及使用RAID来提高磁盘I/O速度。
-
●6.9提高磁盘可靠性的技术
本小节主要讲解通过一级容错技术、二级容错技术、基于集群技术的容错功能及后被系统来提高磁盘可靠性。
-
●6.10数据一致性控制
本小节主要讲解利用事务、检查点、并发控制等技术来保证文件数据的一致性。
-
第七章高阶知识
本章简单简介操作系统安全相关的基础知识,以及网络操作系统基础概念和分布式系统通信、同步以及死锁、文件系统相关的基础知识。
-
●7.1操作系统安全
操作系统安全是整个系统安全的基础,本节主要简介对操作系统安全威胁的主要因素,以及操作系统在硬件和软件上的采用安全机制。
-
●7.2网络操作系统
本节主要简介网络操作系统的特征、分类和主要三大功能,数据通信、互操作和网络管理。
-
●7.3分布式系统及系统通信
本节主要讲解分布式系统的基本概念,以及设计分布式系统的若干问题,以及分布式系统中系统通信所涉及的寻址、缓冲、可靠性及包发送和远程调用,最后简介分布式系统设计时考虑的问题。
-
●7.4分布式互斥与并发
本节主要讲解分布式系统的与进程同步有关的事件顺序中的先发生于、全局排序,以及实现进程互斥的集中式、分布式和令牌算法,以及推选算法和原子事务。
-
●7.5分布式文件系统
本节主要简介分布式系统中的文件服务、目录服务、分布式命名服务以及文件共享。
-
第八章linux实验项目
学习在LINUX环境下,利用LINUX的系统调用,实现对进程控制、互斥与同步、通信以及实时多任务调度等问题的程序设计。
-
●8.1前言与目录
了解课程相关实验设置情况和实验相关内容。
-
●8.2虚拟机安装
学习WMware虚拟机和Ubuntu的安装。
-
●8.3Linux常用命令
学习LINUX中有关文件操作的基本命令。
-
●8.4进程管理
学习LINUX的有关进程管理的fork、wait等相关系统调用。
-
●8.5编写自己的shell
利用LINUX的fork、wait、execvp等系统调用,编写一个shell程序,接受键盘命令,完成相关操作和运行相关程序。
-
●8.6进程互斥与同步
利用LINUX的信号量机制的相关系统调用,完成生产者和消费者者问题的编程。
-
●8.7进程通信—共享区与消息传递共享区与消息传递通信的实现
利用LINUX的共享区与消息传递通信相关系统调用,完成2种通信方式的编程。
-
●8.8进程通信-管道通信
利用LINUX的管道通信相关系统调用,完成利用无名管道和有名管道的现通信的编程。
-
●8.9实时多任务调度
利用多线程和信号量机制,实现实时多任务调度的编程。
-
第九章DOS实验项目
学习在DOS环境下,利用DEBUG调试程序控制程序的执行,了解程序在硬件上的执行过程,从而提高对进程概念的深入理解。
-
●9.1关于程序
学习80x86CPU的功能结构、寻址方式以及程序在内存的映像,了解程序运行时所需的硬件环境。
-
●9.2DOS运行环境
学习在DOS环境下,运行和调试程序,以便我们能更深入地理解进程这一概念。
-
●9.3程序的结构控制
利用DEBUG调试程序,跟踪程序的执行,了解顺序、选择和循环三种结构控制的实现过程。
-
●9.4代码切换
利用DEBUG调试程序,跟踪过程切换的过程,了解堆栈在代码切换过程中所起的作用,从而理解进程切换相关的概念。
-
●9.5中断处理程序的设计
利用DEBUG调试程序,跟踪中断响应过程,了解中断向量表的作用及中断响应过程的更多细节,提高对系统的认知。
-
第十章Windows实验项目
学习在WINDOWS环境下,编写调试算法程序及存储管理程序,和Windows高级功能设置。
-
●10.1优先数进程调度算法
模拟在单处理器情况下,设计一个按优先数调度的算法程序,加深对处理器调度工作的理解。
-
●10.2动态分区存储管理
理解动态分区资源管理,掌握所需数据结构和管理程序,了解最佳、最坏、首次适应算法的优点和缺点。
-
●10.3Windows高级功能设置
学习利用Windows的注册表编辑器,设置Windows的高级功能应用。