操作系统概述
操作系统的目标和作用:
操作系统的基本特性:并发,共享,虚拟和异步;
并发和并行的区别:
并行是指两个或多个事件在同一时刻进行;而并发是指两个或多个事件在同一个时间间隔内发生;
并发性在宏观上是指多个程序在同时运行,但是在单处理机系统中,只能有一道程序在运行,所以,这是分时运行的;
而在多处理机系统中,由于有多个处理机,可以实现同时运行的效果。于是这就是实现了可并行性;
进程的概念:能够在系统中独立地运行并作为资源分配的基本单位;进程使得并发的实现成为了可能;
共享的概念:系统中的资源可供内存中多个并发执行的进程共同使用;
实现资源共享的方式:
1,互斥共享方式:在一段时间内只允许一个进程访问的资源,称为临界资源;
2,同时访问方式:允许在一段时间内由多个进程同时对他们进行访问,宏观意义上,但是在微观上,还是以交替进行的;
虚拟:通过某种技术将一个物理实体变成若干个逻辑上的对应物的功能称为“虚拟”;
常用的技术有:时分复用技术;空分复用技术;
时分复用:利用某设备为一用户服务的空闲时间,转去为其他用户服务,使得设备得到最充分的利用;利用了处理机的空闲时间运行其他程序,提高了处理机的利用率;
空分复用:利用存储器的空闲空间分区域存放和裕兴其他的多道程序,以此来提高内存的利用率;
异步的概念:由于资源等因素 限制,导致进程的执行通常都不可能一气呵成,而是以走走停停的方式运行;这是由于进程是以人们不可预知的速度向前推进的。这就是进程的异步性;
操作系统的主要功能:
处理机管理功能:
处理机的分配和运行是以进程为单位的,对处理机的管理可升级为对进程的管理。
主要功能有:创建和撤销进程,对诸进程的运行进行协调,实现进程之间的信息交换,按照一定的算法把处理机分配给进程;
1,进程控制:
主要功能就是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换。还包括一个进程创建若干个线程,提高系统的并发性;
2,进程同步:
对多个进程的运行进行协调:
协调的方式:
1,进程互斥方式:跟前面的类似;
2,进程同步方式:跟前面的类似;
3,进程通信:
进程通信的任务是实现相互合作进程之间的信息交换;
4,调度:
包括作业调度和进程调度两步:
1,作业调度:从后备队列中找出若干个作业,分配运行所需的资源,建立进程,进入就绪队列之中;
2,进程调度:从就绪队列中选出一个进程出来,将处理机分配给他,投入执行;
两者是先后的关系的;
存储器管理功能:为运行提供良好的环境,提高存储器的利用率。
主要功能有:内存分配和回收,内存保护,地址映射和内存扩充等;
1,内存分配:
分配内存空间,提高内存利用率,动态添加内存空间;
1,静态分配方式:不允许改作业申请新的内存空间;
2,动态分配方式:允行动态增长;
2,内存保护:
确保自己内存空间内运行,不允许用户程序访问操作系统的程序,不运行转移到其他用户程序中;
3,地址映射:
由于每个程序形成后的地址都是从0开始,但是不可能从0物理地址开始装入内存,所以需要提供地址映射功能,保证我们的逻辑地址和物理地址的相互对应;
4,内存扩充:
借助虚拟存储技术,从逻辑上扩充,为此必须设置内存扩充机制,用于实现以下功能:
1,请求调入功能:可先运行部分用户程序,之后再请求调入;
2,置换功能:可以将内存中一部分的数据转移到磁盘上来,进行数据的置换;
设备管理功能:跟I/O有关的,提高CPU和I/O的利用率,方便用户使用I/O设备;
1,缓冲管理:
在I/O设备和CPU之间引入缓冲,缓冲CPU和I/O速度不匹配问题;
2,设备管理:
根据I/O请求,分配所需的设备;
3,设备处理:
设备驱动程序,用于实现CPU和设备控制器之间的通信,的确是作为I/O设备和CPU之间的一个通道程序;
文件管理功能:对用户文件和系统文件进行管理,保证文件的安全性。
1,文件存储空间的管理;
分配必要的外村空间,提高外村的利用率;
2,目录管理:
建立目录项,加以有效的组织,
3,文件的读/写管理和保护;
操作系统与用户之间的接口:
1,用户接口:
1,联机用户:简单的说呢就是我们直接在cmd上打命令,实时运行;
2,脱机用户:也就是通过写批处理文件来等待执行;
3,图形用户接口:也就是直接用窗口来实现了;
2,程序接口:
通过程序去取得操作系统服务的唯一途径;
OS结构设计:
传统操作系统结构:
1,无结构操作系统:
2,模块化结构OS:
基于分解和模块化的原则;
分为几大模块的设计方式;
模块的独立性;
衡量模块独立性的两个标准:
内聚性;耦合度;
3,分层式结构OS:
采用自底向上的方式;
客户/服务器模式:
客户/服务器之间的交互:
1,客户发送请求消息;
2,服务器接受消息;
3,服务器回送消息;
4,客户机接收消息;
微内核OS结构:
1,足够小的内核:
2,把操作系统最基本的部分放到内核中,其他绝大部分功能都放到微内核外面的一组服务器中实现;
3,应用机制与策略分类原理;机制是底层,策略是高层,把机制(即具体的功能实现)放到了内核的较低层,策略放较高层;
4,采用面向对象技术;
微内核的基本功能:
1,进程管理;进程之间 通信功能是微内核的基本功能;
2,低级存储器管理:只配置最基本的低级存储器管理机制;
3,中断和陷入处理: