操作系统的定义
操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
操作系统的功能
操作系统是由一系列程序模块和数据组成的,它的基本功能是管理系统内各种资源和方便用户使用
具体为五个方面:
1、存储管理:
- 内存分配:主要是为每一道程序分配一定的内存空间。
- 需要记录整个内存的使用情况;
- 当用户提出申请时,按照某种策略实施分配,接收系统或用户释放的存储空间。
- 在制定分配策略的时候需要考虑提高内存的利用率
- 地址映射:在多道程序环境下,用户程序所设计的相对地址与装入内存后的实际占用物理地址不一样,CPU执行用户程序时,需要从内存中取出指令或数据,因此需要用到相对地址转化为内存的物理地址。这就是操作系统地址的映射功能。
- 内存保护:不同用户的程序都放在一个内存中,不能互相干扰,更不能侵占操作系统的空间,因此需要建立保护机制。程序运行时需要对所产生的每个访问内存的地址做合法性检查。如果地址不属于范围内成为地址越界,将发生中断并进行相应的处理。
- 内存扩充:实际上采取逻辑扩充内存的方法,这就是虚拟存储技术。
2、作业和进程管理:
-
用户的计算任务称为作业,程序的执行过程叫做进程。
-
进程是分配资源和处理机运行的基本单位
- 作业和进程的调度:作业调度–把选中的一批作业放进内存,并配合其他必要的资源,建立相应的进程;然后进程调度按照一定的算法从进程中选出一个合适的进程并在cpu上运行
- 进程的控制:进程是活动的实体,进程控制包括:创建、撤销、封锁、唤醒进程
- 进程通信:多个进程在活动过程中彼此间会发生相互依赖相互制约的关系,为保证系统中所有的进程都能正常活动,需要设置同步机制
3、设备管理:
- 缓冲区管理:解决CPU和外设速度不匹配的矛盾,提高各自的利用率
- 设备管理:根据用户的IO请求和相应的分配策略,为用户进行分配
- 设备驱动:实现CPU与外设的通信
- 设备无关系:设备的独立性
4、文件管理:
- 文件存储空间管理
- 文件操作的一般管理
- 目录管理
- 文件读写管理和存取控制
5、用户接口服务:用户上机时直接用到操作系统提供的用户接口。
- 程序接口:系统调用接口,属于操作系统核心层的最外层
- 命令行接口:操作系统与用户的界面。在提示符之后用户从键盘上输入命令,命令解释程序并解释这些命令,然后把它们传递给操作系统的内部程序,执行相应功能;命令接口不属于操作系统的内核,相应的程序是在用户控件中运行的
- 图形用户接口:图形用户界面,不属于操作系统的内核,相应的程序是在用户空间中运行的
操作系统的类型
1、批处理系统
作业&作业步:作业是用户、定义计算机完成的工作单位,作业步是由作业控制语句明确表示的计算机程序执行过程
特点:
- 多道:内存中存放多个作业,并在外村上存放大量后备作业。—调度原则灵活,充分发挥系统资源的利用率,增加系统的吞吐量。但也会导致用户等待时间长
- 成批:运行过程中不允许用户与机器发生交互
2、实时系统:计算机能够及时响应外部事件的请求,并能在规定的时间内完成对该事件的处理。
目标:对外部请求在严格时间范围内做出反应,并由高可靠性和完整性
主要特点:资源的分配和调度首先要考虑实时性然后才是效率
典型:过程控制系统、信息查询系统、事务查询系统
3、分时系统:
-
分时:成若干程序对CPU时间的共享,分享时间的单位称为时间片
-
并行:两个或两个以上的事件或活动在同一时刻发生
-
并发:两个或两个以上的程序在同一时间内在同一CPU上执行叫做并发
特点:
- 同时性
- 交互性
- 独立性
- 及时性
实时性和分时性系统的差别
-
交互性:
分实行提供给多个用户、是通用性很强的计算机系统;
而分时性交互作用较差,一般来说是具有特殊用途的专用系统
-
实时性:
实时性系统对相应时间有严格限制
而分时性系统的要求是人们能够接受的等待时间为依据的
-
可靠性:实时性系统可靠性更高
4、网络系统:两大支柱–计算机技术和通信技术,这两大技术互相结合的产物
计算机网络特征:
-
分布性:
-
自治性:网络系统中的各个资源多是松散耦合的,并不具备整个系统统一任务调度的功能。
-
互连性:各个不同地点的资源物理逻辑上连接在一起,实现网络通信和资源共享
-
可见性:计算机网络中的资源对用户来说是可见的啊
4、网络操作系统特性:
- 接口一致性
- 资源透明性
- 操作可靠性:利用硬件和软件资源在物理上分散的优点;对全网的共享资源进行统一管理和调度;当某处资源出现故障不能使用是,可以分配另一处同类资源完成用户请求
- 处理自主性
- 执行并行性:不仅可以实现本机上多道程序的并行执行,还可以实现网络系统中各节点机上执行的真正并行
5、分布式系统:把大量计算机组织在一起,彼此通过高速网络进行连接
特点:
- 透明性
- 灵活性:可根据用户的需求和使用情况对系统进行修改扩充
- 可靠性:包括可用性、安全性、容错性
- 高性能:执行速度快、响应及时、资源利用率高、网络通信能力强
- 可扩充性:根据需求扩充或缩减规模
分布式操作系统&网络系统
分布式操作系统是网络操作系统更高的形式,保持了网络操作系统的全部功能,而且还具有透明性、可靠性、高性能性等。二者虽然都用于管理分布在不同地理位置的计算机,但有很大的差别:
- 网络操作系统知道确切的计算机的地址,而分布式操作系统不知道
- 分布式操作系统负责整个资源的分配,能很好地隐藏内部的实现细节
操作系统的特征
-
并发:多个活动在同一给定的时间间隔中进行
他是宏观上的并行,微观上的串行
-
共享:资源被多个进程所共用
-
不确定性:各个事件发生顺序的不可预测性,是由多道程序系统中进程的并发性和资源共享型带来的必然结果
操作系统初启过程
初启目的:将操作系统的副本读入内存,建立正常的运行环境
步骤:
- 硬件检测
- 加载引导程序
- 初始化内核
- CPU本身初始化:如页式映射的监理等
- 基础设施初始化:内存管理和进程管理的建立和初始化
- 最上层部分初始化:根设备的安装与外部设备的初始化
- 用户登录
软件的分类
-
应用软件:为解决某一类应用或某个特定问题而设计的程序
-
支撑软件:辅助软件技术人员从事软件开发的工具
-
系统软件:操作系统、编译程序、汇编程序、连接装配程序、数据库管理系统等。这些软件对计算机系统的资源进行控制管理,并未用户使用和其他程序的运行提供服务,为计算机提供最基本的功能,但并不针对某一特定的领域。
它只在核心态模式下运行,受硬件保护,不仅对硬件资源直接实施控制管理,而且他的很多功能你的完成是与硬件动作配合起来实现的。