操作系统的功能,特性,发展和分类,结构设计

本文章只是为了期末复习用的,如果能帮到你,那我很荣幸

文章目录

  • 一,操作系统的功能
    • 处理器管理功能(*)
    • 存储管理功能(*)
    • 设备管理功能
    • 文件管理功能
    • 网络与通信管理功能
  • 二、操作系统的主要特性
    • 2.1 并发性
    • 2.2 共享性
    • 2.3异步性
    • 2.4虚拟性
  • 三、操作系统的发展和分类
    • 3.1.操作系统的分类
    • 3.2操作系统的分类
      • 3.2.1 批处理操作系统
      • 3.2.2 分时操作系统
      • 3.3.3 实时操作系统
  • 四,系统调用
    • 4.1系统调用的有关概念
    • 4.2系统调用的实现要点
    • 4.3系统调用处理过程
    • 4.4系统调用和过程(函数)调用的区别
  • 五,操作系统结构设计(*)
    • 5.1主要构件
    • 5.2结构
      • 5.2.1单体式结构
      • 5.2.2 层次式结构
      • 5.2.3客户机/服务器与微内核结构(*)
    • 5.3 运行模型


一,操作系统的功能

操作系统的功能体现为资源管理功能。根据硬件类别,OS功能包括:

处理器管理功能(*)

处理器管理的硬件对象是处理器,其主要工作是处理中断事件和处理器调度。处理器管理包括:
1)进程控制和管理:包括进程创建,运行,阻塞,终止
2)进程的同步和互斥
3)进程的通信和死锁
4)线程控制和管理
5)处理器调度:分作业调度,中程调度,低级调度等。

处理器管理策略的不同会形成不同类型的操作系统或不同类型的任务处理方式,如批处理,分时处理,实时处理等描述的是操作系统处理系统任务时的不同策略。

存储管理功能(*)

存储管理的硬件对象是内存存储器,其功能包括存储分配,存储共享,地址转换与存储保护,存储扩充。

设备管理功能

设备管理的对象是输入\输出设备,其功能包括设备分配,缓冲管理,设备驱动,设备独立性,实现虚拟设备。

文件管理功能

文件管理的对象是软件,其任务是:提供文件逻辑组织方法,提供文件物理组织方法,提供文件的存取方法,提供文件的使用方法,实现文件的目录管理,实现文件的存取控制,实现文件的存储空间管理。

网络与通信管理功能

网络是对单机的扩展,其中包含多台互相链接的计算机,网络与通信管理对网络中的硬件和软件资源进行管理。


二、操作系统的主要特性

2.1 并发性

并发性是指两个或两个以上的事件或活动在同一时间间隔内发生。
已经开始,尚未结束的两个事件或活动是并发的。没有时间上的重叠就是顺序的。并发的事件在宏观上是同时进行的,在微观上可能是同时进行的,也可能是交替穿插进行的。并发能够有效改善资源利用率,改进系统吞吐量。提高系统效率
在计算机系统中,并发的实质一个物理CPU(也可以是多个)在若干道程序之间的多路复用。并发技术的关键在于如何对系统中的多个运行程序(进程)进行切换。
并行性两个或两个以上的事件或活动在同一时刻发生。并行在宏观或微观上都是同时进行的。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。并行一定并发,反之不一定

2.2 共享性

共享性是操作系统中的资源(信息和硬件)可被多个并发执行的进程共同使用,而不是被一个程序独占

资源共享方式有两种:互斥访问同时访问

互斥访问也叫顺序访问,系统中的某些资源同一时间只能有一个进程访问。打印机之类的这种叫做临界资源(同一时间内只允许一个程序访问的资源)

同时访问也叫并发访问,允许同一时间内多个进程对某些资源进行交替,穿插地并发访问。在微观上,某一进程对于某一资源的访问不是连续的,各进程归于该资源的访问是交错的,这种交错访问的顺序对访问的结果没有影响。例如磁盘

并发性共享性是操作系统的两个最基本的特性,程序的并发执行导致资源共享,对共享资源的有效管理才能保证程序的并发执行。

2.3异步性

就是在操作系统中程序不是一下执行完的,而是“走走停停”。但是只要运行环境相同,操作系统必须保证多次运行同一进程的时候,都能得到相同的结果。异步性是并发性的表现特征,并发性是异步性的内在原因。

2.4虚拟性

虚拟性是操作系统资源管理技术的特性,虚拟资源管理技术即资源虚化,将物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物。
例如:

  • 通过多道程序分分时使用CPU技术,物理上一个CPU变成逻辑上的多个CPU。
  • 通过Spooling(假脱机)技术把物理上的一台独占设备变成逻辑上的多台虚拟设备。
  • 通过窗口技术可以把物理上的一个屏幕变成逻辑上的多个虚拟屏幕。
  • IBM的VM(虚拟计算机)技术把物理上一台计算机变成逻辑上的多台计算机。
  • 虚拟存储器把物理上的多个存储器(主存和外存)变成逻辑上的一个存储器,即虚拟存储器。

三、操作系统的发展和分类

3.1.操作系统的分类

  • 人工操作系统
    老生常谈了,没什么东西。
  • 管理程序阶段
    有点东西,但东西不多。
  • 多道程序设计和操作系统的形成
    就是可以并发了,多道程序设计技术的硬件基础是中断及通达技术。引入多道程序设计技术可以提高CPU的利用率,充分发挥计算机系统部件的并行性。例如下图:

3.2操作系统的分类

3.2.1 批处理操作系统

batch OS:用户把要计算的应用问题编制成程序,连同数据和作业说明书一同交给操作员,操作员集中一批作业,输入到计算机中;由操作系统来调度和控制作业的执行
主要特征:

  • 用户脱机操作:用户提交作业直至获得结果前不再和计算机及作业交互,不利于调试和修改程序。
  • 成批处理作业
  • 多道程序运行
  • 作业周转时间长

3.2.2 分时操作系统

time share OS:允许多个联机用户同时使用一台计算机系统进行计算的操作系统;
实现思想;就是时分复用,一台主机连接多个终端,每个用户再各自的终端上以问答的方式控制程序运行,主机中央处理器轮流为各个用户服务一个时间片。若一个用户的程序再一个时间片没有执行完,则挂起等待下一次时间片
特性:

  • 同时性:若干个终端用户联机使用计算机
  • 独立性:每个用户感觉自己独占了一个计算机
  • 及时性:每个用户可以及时控制自己的程序
  • 交互性:人机交互,联机工作,方便调试,修改程序

batch 和time share都是基于多道程序设计技术,两者不同之处在于:

  • 目标不同:batch OS以提高资源利用率与作业吞吐量为目标,time share OS以满足多个联机用户的立即型命令的快速响应为目标。
  • 适应的作业性质不同:batch 适应已经调试好的大作业,time适应正在调试的小作业
  • 资源利用率不同:batch更注重资源利用率
  • 作业控制方式不同:batch——脱机控制方式,time——联机控制方式

time share的时间片长度选择应该根据机器速度,用户多少,响应要求,系统开销等因素综合考虑。合理选取。太短则进程切换过于频繁,CPU利用率降低,太长则小的交互请求的效应时间变长

3.3.3 实时操作系统

real time OS:当外界事件和数据产生的时,能接收并以足够快的速度予以处理,处理的结果又能在规定的时间内控制监控的产生过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的OS。

三种典型的real time OS:过程控制系统,信息查询系统,事务处理系统

real time OS通常由4部分组成:数据采集,加工处理,操作控制,反馈处理

time share OS为用户提供一个通用的交互型开发环境,real time OS 通常为特殊用途提供专用系统。

通用操作系统:如果一个操作系统兼有批处理,分时,实时处理全部或两种功能,则被叫做通用OS(Windows,Linux)


四,系统调用

系统调用:是为扩充机器功能,增强系统能力,方便用户使用而在内核中建立的过程(函数),它是用户程序或其他系统程序获得操作系统服务的唯一途径,系统调用=广义指令

广义指令由软件过程实现,机器指令由硬件实现完成。

4.1系统调用的有关概念

陷入或异常处理机制:在操作系统中,实现调用功能的机制称为陷入或异常处理机制。
访管指令(陷入指令或异常中断指令):由于系统调用引起处理器中断的机器指令称为访管指令。

4.2系统调用的实现要点

  • 编写调用处理程序
  • 设计一张调用入口地址表,每个入口都指向一个系统调用的处理程序
  • 陷入处理需开辟现场保护区,以保存系统调用时的处理器现场

4.3系统调用处理过程

当处理器执行到系统调用指令时,其工作状态由用户态切换为核心态。处理器将由执行用户指令变为执行操作系统指令,及系统调用处理程序,该程序的入口地址根据系统调用功能号中中断向量表中获得。包括用户进程的下一条指令地址(即返回地址在内)的处理器现场被保存起来,然后系统调用处理程序开始执行。结束时,通过中断返回指令,用户进程的现场信息被恢复,处理器重返用户进程后续指令执行

4.4系统调用和过程(函数)调用的区别

  • 调用形式不同
  • 被调用代码的位置不同
  • 提供方式不同
  • 调用的实现不同

五,操作系统结构设计(*)

5.1主要构件

  • 内核
    操作系统内核是对硬件进行首次抽象的一层软件,也叫硬件抽象层,用于隐藏硬件复杂性,为上层软件提供简洁,统一硬件无关的接口,使得程序设计和系统移植简单方便。内核管理系统的进程,内存,设备驱动程序,文件和网络系统,决定了系统的性能和稳定性

OS内核结构主要有单体式结构微内核结构。单体式内核将操作系统的大部分功能模块调用方式组织为一个不可分割的整体运行时建立一个单独的二进制映像Linux内核属于单体式内核

微内核将操作系统分解为内核服务器,采用客户/服务器模式。用户进程与操作系统服务进程构成客户/服务器关系一并运行在内核之上,用户进程以客户的身份向操纵系统服务器进程发出服务请求,服务器向用户进程返回服务结果,内核在客户机和服务器之间递交请求和服务结果。微内核采用消息传递通信方式。

  • 进程
    进程是程序的一次运行过程,用于完成特定任务,进程是一个任务单位,进程执行需要分配一定资源,结束时回收资源,进程可以视为用户的代表
  • 线程
    线程是进程中的一个执行流,一个进程可以有多个执行流(多线程进程),每个执行流分别承担一个计算任务,多线程进程包含多个任务。多线程可以将多个进程间的任务集中在同一个进程当中,有利于降低任务切换,资源共享的开销
  • 管程
    管程时用来管理共享资源的一种对象。管程封装了对共享资源进行同步,互斥操作的数据结构和一组过程,进程调用管程过程访问共享资源的时候,如同其他进程不存在一样。管程将分散在进程中同步互斥操作集中起来同意管理,简化进程编制,减少出错机会

5.2结构

5.2.1单体式结构

操作系统由过程集合构成,链接成一个大型可执行二进制程序。整个操作系统在内核态中以单一程序的方式运行。每个过程可以自由调用其他过程。由于过程非常多,调用关系十分复杂,系统常难以维护的理解。

5.2.2 层次式结构

把操作系统分为内核和若干模块(或进程),这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单项调用的关系,即底层为高层服务,高层可以调用低层的功能。这样系统结构清晰,且不构成循环调用

层次构造的方法有自顶向下自底向上

5.2.3客户机/服务器与微内核结构(*)

5.3 运行模型

  • 进程模式
  • 非进程模式

你可能感兴趣的:(操作系统,linux,ubuntu)