0.考核目标
- 掌握操作系统的基本概念,方法和原理,了解操作系统的结构,功能和服务。理解操作系统所采用的策略,算法和控制
- 能够从计算机系统的角度理解并描述应用程序,操作系统的内核和计算机硬件协作完成任务的过程
- 能够运用操作系统的原理,分析并解决计算机系统中与操作系统相关的问题
- 参考教材
- 计算机操作系统,汤小丹,西安电子科技大学出版社,第四版
- 《操作系统概念》,[美]Abraham Si lberschatz,Peter Bear Galvin,Greg Gagne著,郑扣根译,高等教育出版社
1.1操作系统的基本概念
1.1操作系统概念
- 组成原理:处理器+内存+外设
- 汇编语言(计算机指令的符号化):用符号代表一串二进制代码,二进制代码交给CPU解释执行,完成我们预期的操作
- OS是系统软件,程序模块的集合,资源管理和用户接口功能,操作系统提供的接口不需要我们直接使用机器指令操作硬件,我们写的C程序,JAVA程序等高级语言程序,经过编译程序,链接程序,形成相应操作系统的发行版本
- 操作系统的地位:紧贴硬件之上,所有其它软件之下
- 操作系统的目标
- 方便性(用户观点):提供良好的,一致的用户接口,更容易使用
- 有效性(系统管理员观点):使CPU,I/O设备和存储空间得到有效利用,管理和分配硬件,软件资源,合理组织计算机的工作流程
- 可扩充性:OS采用层次化结构,便于增加新的功能和模块
- 开放性:实现互连,可移植性(比如Android中的QQ和iphone中的QQ要能够通信)和互操作性
- OS作为用户与计算机硬件系统间的接口
- OS处于用户与计算机硬件系统之间,用户通过OS使用计算机系统的资源
- 系统方式:命令行,菜单式,命令脚本式
- 系统调用(是一种程序接口):像C语言中的printf(“Hello World !”);将主存中的数据输出到屏幕上,用到显卡,显卡驱动显示器,如果没有这个函数,我们要将信息输出到屏幕上,就需要自己写代码驱动显示器来工作,printf函数实际上是一个系统调用,操作系统管理这些硬件的工作
- 图形用户接口:图形和窗口
- OS作为计算机系统资源的管理者
- 硬件资源:处理机(CPU),存储器,I/O设备数据和程序
- 管理内容:资源当前的状态(数量和使用情况),资源的分配,回收和访问操作,相应的管理策略,处理机管理,存储设备管理,I/O设备管理,文件管理
- OS用作扩展机(虚拟机)
- 在裸机之上添加:设备管理,文件管理,存储管理(针对内存和外存),处理机管理
1.2操作系统的基本特征
- 并发(Concurrence):指多个事件在同一时间段内发生,操作系统是一个并发系统,各个进程之间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理
- 并行(parallel):多个事件在同一时刻发生,单核心处理机条件下,在多道程序处理时,宏观并发,微观交替执行,程序的静态实体是可执行文件,动态实体是进程,并发是指多个进程(线程)之间
- 共享(Sharing):系统中的资源可供内存中多个并发执行的进程共同使用,因为资源的属性不同,对资源共享的方式不同(以并发执行为前提)
- 互斥共享(音频设备,打印机):资源分配给某进程后到释放前,不能被其他进程占用
- 同时访问(磁盘文件):同时是宏观上的现象,在微观上可能是交替对资源访问
- 虚拟(Virtual):把物理实体变为若干逻辑对应物,提高资源利用率
- CPU:进程的“虚处理机”,如,单处理机情况下,有两个应用程序程序QQ和微信都要用处理机,某一时刻只有一个在用,QQ用时间片结束,微信要使用,QQ运行指令的当前状态应该如何处理?给每个应用程序内部设计上一个虚处理机(逻辑上的,软件实现,保存当前程序的执行状态)对应物理处理机(上当程序的执行状态),下次获得处理机,将虚处理机中内容(程序执行状态)加载到物理处理机上,每个程序都认为自己独占处理机的
- 存储器:虚拟存储器,扩大物理主存,挪用外存空间
- 显示设备:多窗口或虚拟终端
- 打印设备:将临界资源变为同时访问资源
- 异步:进程执行的顺序和执行时间的不确定性,进程的运行速度不可预知,但结果应该相同,通过进程互斥和同步手段来保证
1.3操作系统的主要功能
-
处理机管理
① 处理机资源的分配,回收调度,处理机调度的单位:进程和线程
② 进程控制:创建,撤销,挂起,改变运行优先级等
③ 进程同步:协调并发进程之间的推进步骤,以协调资源共享- 互斥方式:进程访问临界资源时采取这种方式
- 同步互斥:相互合作完成任务的进程之间由同步机构对执行次序加以协调
④ 进程通信:负责进程之间传递传递数据,以协调进程的协作
⑤ 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能,作业(可执行程序)调度从外存调入内存(形成进程)。从内存中的进程的就绪队列中选一个分配处理机 -
存储管理
① 内存分配:为每道程序分配空间,分配方式- 静态分配:每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”
- 动态分配:每个作业所要求的基本内存空间虽然也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。
② 内存保护
- 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。
- 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
③ 地址映射
- 程序中的地址称为“逻辑地址”或“相对地址”
- 内存中单元地址称为“物理地址”
- 多道程序下,进程装入内存后要由逻辑地址到物理地址进行转换
③ 内存扩充:为了能在逻辑上扩充内存,系统必须设置内存扩充机制(包含少量的硬件),用于实现下述各功能
- 请求调入功能。
- 置换功能
-
设备管理:完成用户进程提出的 I/O 请求,为用户进程分配所需的I/O 设备,并完成指定的I/O操作。 提高 CPU 和 I/O 设备的利用率,提高 I/O 速度,方便用户使用I/O设备。
① 缓冲区管理- 匹配cpu和外设的速度,提高两者的利用率
- 单缓冲,双缓冲,公共缓冲池
② 设备分配和回收
- 在多用户共享I/O设备资源
- 针对不同类型的设备采用不同策略,如独占设备分配
- 虚拟设备:设置由多个进程共享,每个进程如同独占
③ 设备独立性
- 用户申请使用的设备和实际使用操作的物理设备无关
-
文件管理:对用户文件和系统文件进行管理,以方便用户使用并保证文件安全
① 文件存储空间管理- 解决如何存放信息,以提高空间利用率和读写性能
- 存储空间的使用情况,空间分配和回收
② 目录管理
- 信息检索问题,能按名存取
- 目录项包括文件名,文件属性,文件在磁盘上的物理位置等
③ 文件读写
- 根据用户请求,从外存中读取数据;将数据写入外存
④ 文件保护
- 解决信息安全问题
- 防止未经核准的用户存取文件
- 防止冒名顶替存取文件
- 防止不正确的方式使用文件
-
用户接口:提供一个友好的用户访问操作系统的接口
① 命令接口- 联机用户接口:为联机用户提供的,它由一组键盘操作命令及命令解释程序构成
- 脱机用户接口:为批处理作业的用户提供的,也称为批处理用户接口,该接口由一组作业控制语言JCL组成
② 程序接口:该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。他是由一组系统调用组成,每个系统同调用都是一个能完成特定功能的子程序
③ 图形接口:采用图形化操作界面,直观,逼真展示应用程序和文件