操作系统之第一章概述

第一章 操作系统概述

操作系统是对硬件系统功能的第一次扩充
计算机系统
软件
硬件

操作系统是对硬件系统功能的第一次扩充
没有装os系统的 —— 裸机

基于不同系统下的应用软件是取决CPU的运作方式不同

软件
应用软件
系统软件
操作系统
控制与管理整个计算机系统
信息均以文件的形式存在
图片
音乐
...

接口是对硬件系统的第二次扩充

接口
USB
VGA
HDMI
1060
1080
显卡
核显
装在显示器上
独显:独立显卡

芯片:

cpu核显

操作系统的性能:

设置操作系统的目的/操作系统性能
方便性:使用户更易使用
有效性:有效管理资源
可扩展性:允许有效开发,测试,增加新的系统功能USB接口,HDMI接口,超大集成店里,模块化管理
开放性:应用软件的可移植和互操作
冯诺依曼计算机

冯诺依曼
在这里插入图片描述

过去都以运算器、控制器为核心,冯诺依曼是以 存储器为核心
存储器:寄存器 —>内存 CPU<—>内存
4G+128G 4G是内存大小,128G是存储容量

操作系统的功能
操作系统功能
用户与计算机硬件间的接口
命令方式:键盘输入命令完成所需操作
系统调用方式
操作系统作为资源的管理者
用作扩充机器
操作系统是计算机资源的管理者
处理机管理
分配和控制CPU,进程控制
存储器管理
malloc:内存分配,free:内存回收
I/O设备管理
文件管理:文件存取,共享,保护

操作系统用作扩充机器的功能,使其便于使用的机器,机器——虚拟机

单道程序进程:
在这里插入图片描述

操作系统结构

三层架构

高层:用户接口\命令接口,图形接口
中层:对对象实施操纵和管理的软件集合\软件架构
底层:操作系统对象\处理机,控制器,设备,文件和作业

底层:
处理机—> cpu,线程,java,多线程,线程锁。对处理机管理就是对进程进行控制,并发处理
存储器:file.open(),file.write()
设备:USB,文件,作业:进程的管理

操作系统发展的主要动力
  1. 不断提高计算机资源利用率(单批处理——多批处理)
  2. 方便用户(命令界面——图形界面)
  3. 器件更新换代(从16位——32位)
  4. 体系结构不断发展(从显卡到芯片核显)
操作系统的公共服务类型
  • 程序执行(装入程序,运行,出错处理等)
  • 输入输出操作(控制打印机,清屏等)
  • 文件系统操纵(文件的创建,保存等)
  • 通信(进程间通信)
  • 差错检测(硬件:cpu,存储器与电源故障等,软件:地址越界等)
操作系统的主要功能
  1. 处理机管理
  2. 存储器管理
  3. 设备管理
  4. 文件管理
  5. 方便用户使用的用户接口(包括组织作业的运行)
  • 处理机管理

    • 进程控制:为作业创建进程,撤销已结束的进程,以及控制进程的状态转换(暂停<=>运行)
    • 进程同步:多个进程的运行协调
      实现进程同步机制——信号量机制
      两种协调方式:
      • 进程互斥方式(不能既运行一个进程,又撤销这个进程)
      • 进程同步方式(进程相互合作去完成共同任务时)
        class student
        class person 分开写,但在person类中调为student类
    • 进程通信:进程之间的信息交换 (用cmd打开百度网页)
      进程相当于队列
      同一计算机上进程采用直接通信方式,源进程利用发送命令直接将消息发送至消息队列中
    • 进程调度:在后备队列等待的作业需要进行调度才能执行
      调度将进程分为不同的等级,先后进行进程运行
      system.h头文件中有进程调度 fork()启动进程,exit()结束进程
  • 存储器管理功能

    • 内存分配
    内存分配
    静态分配:运行之前分配内存空间,数组
    动态分配:运行前或运行中均可申请新的附加内存空间,集合List,arrayList,map
       内存分配的数据结构——一张表——“快表”(TLB)
       内存分配:为用户程序分配内存空间
       内存回收:系统回收内存
    
    • 内存保护:用户程序在自己内存空间中运行
    • 地址映射
      地址映射:地址空间中的逻辑地址转换成内存空间
      • 地址空间:目标程序装入程序限定的空间,单元编号为逻辑地址(相对路径)
      • 内存空间:内存中的一系列单元所限定的地址范围(绝对路径)
        在这里插入图片描述
    • 内存扩充:借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大的多
      内存 0X100 但是需要1000个内存空间
      硬盘 0X101~0X1000 给硬盘编上地址,将内存与硬盘联系起来
      硬盘给内存提供数据,只需将内存中运行数据清除,然后重新加载(置换)
  • 设备管理
    完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,提高CPU和I/O设备利用率,提高I/O速度,方便用户使用I/O设备

    • 矛盾:高速CPU<—>低速I/O设备
      解决:缓冲管理 缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率
      不同系统采用不同的缓冲机制。
    • 设备分配:根据用户进程I/O请求,为之分配其所需设备
      实现设备分配:系统设置设备控制表控制器控制表等数据结构,用于记录设备及控制器的标识等状态。
      不同设备类型采用不同分配方式
    • 设备处理
      设备处理程序——设备驱动程序
      I/O命令
      中断请求
      CPU
      设备控制器

    检查请求合法性——>设备空闲否——>向控制器发送I/O命令——>启动I/O执行程序

    • 设备独立性:应用程序独立于物理设备以使用户编制程序与实际使用物理设备无关(插U盘,拔掉U盘不会影响程序运行 Uni操作系统的输入/输出重定向[将命令结果输出到指定文件中])
    • 虚拟设备:仅允许允许一个进程使用的物理设备,改造为能同时供多个进程共享的设备,与扩充内存原理一致(编写地址)
  • 文件管理——程序的应用
    是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性

文件管理功能:
1. 文件存储空间管理。诸多文件及文件存储空间实施统一管理,基于数据结构对存储空间进行分配和回收。
2. 目录管理。为文件创建目录项。对文件进行管理(文件共享,按名存取)
3. 文件读/写管理。根据用户请求,从外存中读数据或写数据到外存。
4. 文件保护(文件设置权限):存取控制功能,防止未经核准用户存取文件,防止冒名顶替存取文件和不正确的方式使用文件。 
  • 操作系统提供的接口

    • 命令接口/用户接口

    由OS实现的所有用户命令所构成的集合。

    命令表示形式
    字符形式
    菜单形式
    试图在字符终端上提供友好的用户界面
命令接口:用户通过该接口向作业发出命令以控制作业的运行
命令接口
联机用户接口
脱机用户接口
一组键盘操作命令+命令解释程序所组成
用户通过JCL作业控制语言写成控制语句对作业进行控制和干预
类比:python的命令行
类比:python的IDLE

脱机用户接口:

提供给
进行
调用
事先写在作业说明书上
作业+作业说明书
系统
系统调度
到作业运行时
命令解释程序
对作业说明书上的命令逐条地解释
脱机用户接口也是批处理接口
    • 程序接口:用户程序执行中访问系统资源而设置的,由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序
      程序 —要求—>OS提供某种服务功能—调用—>具有相应功能的系统调用
    • 图形接口:采用了图形化成操作界面,用图标将系统功能,应用程序和文件直观表现出来

由OS实现的所有系统调用所构成的集合被称为程序接口或者应用编程接口(API)

操作系统的结构

操作系统的四代变革:

OS无结构
OS采用模块式结构
层次式结构
工程学引入软件开发过程中,形成了软件工程学

软件:计算机运行时提供要求的功能和性能的指令和程序(能够处理信息的数据结构)的集合
软件是一种逻辑部件 ①是人类思想的产物 ②软件产品不允许有误差,因此在软件生产上,要求有很高的质量保证体系 ③对软件维护要比硬件维护要复杂的多
软件工程:运用系统的,规范的和可定量的方法来开发,运行和维护软件。(制定规则防止编程随意,软件质量不可保证和维护困难的问题)
程序=数据结构+算法

传统的操作系统

先后引入了分解,模块化,抽象和隐蔽等方法,现在出现了“滚雪球”的软件开发方式。

无结构操作系统

OS是一组过程的集合,各过程之间可以相互调用,在系统内部不存在任何结构。

分层式结构

包含若干层
层与层之间的相互关系:所有各层实现不依赖其以上各层提供的概念及其属性,只依赖其直接下层所提供的概念及其属性。——类似多态

用户层
命令层
服务层
内核层
硬件
命令解释程序,编辑/编译器,数据库管理系统,各种应用程序
操作系统命令库,C语言函数库,各类应用公式库,图形文字库,网络应用库
操作系统内核:unix系统的Kernel
计算机硬件
层次设置考虑因素
1. 程序嵌套:一个功能实现,并非用一个程序完成,而是经若干软件层才可完成
2. 运行频率:活跃的模块放在最接近硬件的层(unix的内核)
3. 公用模块:供多种资源管理程序调用的公用模块放在最底层以便调用
4. 用户接口:命令接口,图形接口,程序接口放在最高层
模块式结构
操作系统
进程管理
存储器管理
文件管理
进程控制
进程通信
进程调度
内存分配
内存保护
磁盘管理
目录管理
模块化OS优缺点:
优点:提高了OS设计的正确性,可理解性与可维护性及增强可适应性,加速开发过程。
缺点:对模块划分及对接口规定要精确描述很困难,并且未能将共享资源与独占资源区分开。
客户/服务器模式 C/S

将OS划分为两部分

操作系统
提供各种服务的服务器
内核
进程服务器,存储器服务器,文件服务器,运行在用户态
客户与服务器间通信,服务器:提供运算指令的模块
请求
请求
应答
应答
客户
内核
服务器

C/S优点:
提高系统灵活性,可扩充性与可靠性,并且适用性强

面向对象程序设计

类:服从相同规则的一系列抽象
对象:对类的实例化
封装:隐蔽了表示实体的数据和操作
打破封装机制:c++ 友元机制 与Java 反射机制
继承性:子对象可继承父对象的属性

微内核结构

cpu更新换代——>推动多处理机发展——>对OS要求越来越高——>OS维护与移植非常困难——>减少OS复杂性——>增强OS的可扩展性和可维护性——>产生微内核技术

  • 微内核结构设计思想:
    剔除核心系统中多余成分,并把他们移到核外子系统中实现,只实现一些必要的简单的概念及属性(例如:windows系统,原机4G,装上后40G)
  • 运行在核心态,开机后常驻内存,不是一个完整的OS,为构建通用OS提供一个重要基础
  • 微内核采用C/S模式,OS的大部分功能和服务,都由服务器提供
微内核功能
进程管理
存储器管理
进程通信管理
I/O设备管理
  1. 进程管理:
    进程作为资源分配的基本单位。允许一个进程拥有若干个线程。线程作为独立运行和调度的基本单位。在同一个进程中,各线程可共享进程所拥有的资源。允许线程并发执行。实现进程与线程间同步。
  2. 存储器管理:
    虚拟存储器管理功能,例如页式存储管理,每页固定大小(1KB-8KB),为进程分配和回收运行空间。从逻辑上扩充内存容量。
  3. 进程通信管理:
    微内核采用消息传递机构。进程之间以消息作为交换单位。
  4. I/O设备管理:
    微内核中,每一个连接到主机上的I/O设备配备一个设备驱动程序实现设备I/O处理。
  • 总结:
    微内核结构建立在模块化,层次化结构上,采用客户/服务器和面向对象技术使之成为主流OS结构。

C/S技术思想:
在这里插入图片描述

操作系统的发展过程
批处理操作系统
多道程序批处理以及此基础上的分时系统
微机和计算机网络系统
多用户多任务和分时以及网络操作系统
操作系统分类
操作系统分类
人工操作方式:无操作系统
脱机输入输出方式
  • 人工操作方式:
    所有资源由用户占用,人操作慢,从而产生了人机矛盾
  • 脱机输入输出方式:
    用于中,大型计算机系统中,增加一台IOP,原来由主机管理和控制的I/O操作,交由IOP完成,造成I/O操作与主机脱机的假象,所以称作假脱机技术
单道批处理系统

仅存在一道作业(一个程序)运行,结束或出错时才自动调用另一道作业运行。
特点:自动性,顺序性,单道性,减少人工操作,解决了作业的自动连续。

  • 单道程序运行情况:
    在这里插入图片描述

  • 多道批处理系统
    内存中存放多道程序运行,运行结束或出错,自动调度另一道作业运行
    在这里插入图片描述
    多道性,无序性,调度性(进程调度和作业调度)
    优点: 提高资源利用率和系统的吞吐能力
    缺点:平均周转时间长,无交互能力

      需要解决的问题:处理机:分配和控制CPU
    

单道程序:
内存:

操作系统
程序A

多道程序:
内存:

操作系统
程序A
程序B
程序C
分时系统——多用户交互式操作系统

分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。
交互是指交流互动
分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。
提高了资源利用率和系统吞吐量,推动了多道批处理的形成和发展。
推动分时系统形成和发展是:人机交互,共享主机,便于用户上级。

  • 分时系统分类:
    单道分时系统,具有前台和后台的分时系统,多道分时系统
  • 特点:
    多路性:多用户使用一台计算机
    独立性:独立运行
    及时性:系统能在短时间内得到回答
    交互性:实现人机对话
  • 系统出现关键问题:
    及时接收:实现多个用户信息及时接收
    及时处理:及时控制作业运行
    (响应时间的问题)
    改善方法
    采用重入码减少信息对换量(共享)。
    采用虚拟存储技术,减少信息对换量。
实时操作系统

实时是及时的意思
计算机及时响应外部事件请求,在规定时间内对事件处理,并控制所有实时设备和实时任务协调一致的运行

  • 实时系统分类:
实时系统类型
实时控制系统
对某一个过程进行实时控制
实时信息处理系统
对信息进行实时处理的系统
  • 实时任务分类:
实时任务类型
按任务执行是否为周期性来化分
周期性实时任务
非周期行实时任务
按截止时间来化分
硬实时任务
软实时任务
  • 特征:
    多路性:多个对象进行控制
    独立性:独立运行不混淆
    交互性:仅限于访问系统中某些特定的专用服务程序。
    可靠性:具有过载防护能力
    及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。
网络操作系统

功能:

  1. 数据通信功能
  2. 资源共享功能
  3. 网络管理:管理定义了差错、配置、性能、计费和安全五大管理功能 。
分布式操作系统

特点:分布式,并行性,透明性,共享性,稳健性

阿里云——>分布式操作系统——>虚拟机原理,分时无数个去卖
系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件资源。

嵌入式操作系统

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。

操作系统的四个基本特征
操作系统基本特征
并发
共享
虚拟
异步
并发

并发:是指两个或多个事件在同一时间间隔(8:00~12:00也算一个时间间隔,像吃饭与思考,吃完饭后思考)发生
并行:两个或多个事件在同一时刻发生(边吃饭边思考)
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序是分时交替执行。
在多处理机系统中,可把这些任务分配到多个处理机上,实行并行处理,即利用每个处理机来执行一个可并发执行的程序,实现多个程序同时执行。

程序是静态实体的是不能并发执行,并发与并行是建立在进程的基础上进行的
引入进程的目的:使多个程序能并发执行

  • 进程:作为分配资源的基本单位,它由一组机器指令、数据和堆栈等组成,是一个活动实体。资源是指CPU、存储器、I/O设备。

  • 一个进程包含若干个线程,将进程作为分配资源的基本单位,线程作为独立运行的基本单位。

  • 任务共行:宏观上系统中有多个任务同时运行。
    微观上:单处理的任务并发,多处理机的任务并行

共享

系统中资源可供内存中多个并发的进程同时使用

共享
互斥共享
临界资源:一个时间段只允许一个进程访问的资源
临界资源可供多个进程使用,但一次只允许一个进程使用
同时访问
宏观上
资源共享是指多个任务可以同时使用系统中的软硬件资源
微观上
微观上资源共享是指多个任务可以同时使用系统中的软硬件资源
虚拟

通过某种技术把一个物理实体变为若干个逻辑上的对应物。

异步

在多道程序环境下,允许多个进程并发执行

进程

可并发执行的程序在一个数据集合上的运行过程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值