Jirairya

温故而知新——关于操作系统的一些知识

2017-06-09

计算机的中央处理器CPU、内存和I/O控制芯片这三个部件是计算机的核心。

操作系统的目标和作用

计算机由硬件系统(裸机)、软件系统、系统软件、应用软件:

  1. OS的主要目标:有效性、方便性、可扩充性、开放性
  2. os的作用
    • 作为用户和计算机硬件系统之间的接口
    • 作为计算机系统资源的管理者
    • 实现了计算机资源的抽象
  3. 推动操作系统发展的主要动力:
    • 不断提高计算机资源利用率
    • 方便用户
    • 器件的不断更新换代
    • 计算机体系结构的不断发展
    • 不断提出新的应用需求

操作系统的发展过程

  • 未配置操作系统的计算机系统
  • 单道批处理系统
  • 多道批处理系统
  • 分时系统
  • 实时系统

脱机I/O: 为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾。 事先将装有用户程序和数据的纸带装入纸带输入机,再一台外围控制机的控制下,把纸带卡片上的数据输入到磁带上。

单道批处理系统:为了解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。缺点就是,系统中的资源得不到充分利用。

多道批处理系统:

  • 优缺点:
    1. 资源利用率高
    2. 系统吞吐量大
    3. 平均周转时间长
    4. 无交互能力
  • 需要解决的问题:
    1. 处理机争用问题
    2. 内存分配和保护问题
    3. I/O设备分配问题
    4. 文件的组织和管理问题
    5. 作业管理问题
    6. 用户和系统接口问题

分时系统: 关键问题:及时接收、及时处理 特征:多路性、独立性、及时性、交互性

实时系统: 硬实时任务和软实时任务:硬实时任务是指系统必须满足任务对截至时间的要求,否则可能出现难以预料的后果;软实时任务是指任务时间上执行并不严格,偶尔错过任务的截至时间,对系统的影响也不会会太大。

微机os的发展: 1.单用户单任务操作系统:CP/M、MS-DOS(IBM首先推出个人PC) 2.单用户多任务操作系统:windows95 3.多用户多任务操作系统:UNIX OS

操作系统的基本特性

  • 并发性:
    • 并行和并发
    • 引入进程
  • 共享性:
    • 互斥共享
    • 同时访问
  • 虚拟性
    • 时分复用
    • 空分复用
  • 异步性

操作系统的主要功能

  1. 处理机管理功能
    • 进程控制
    • 进程同步
    • 进程通信
    • 调度
  2. 存储器管理功能
    • 内存分配
    • 内存保护
    • 地址映射
    • 内存扩充
  3. 设备管理功能
    • 缓冲管理
    • 设备分配
    • 设备处理
  4. 文件管理功能
    • 文件存储空间的管理
    • 目录管理
    • 文件的读/写管理和保护
  5. 操作系统与用户之间的接口
    • 用户接口
    • 程序接口

OS结构设计

传统操作系统结构:无结构操作系统、模块化操作系统 客户/服务器模式:

  • C/S模式的由来、组成、类型:客户机、服务器、网络
  • C/S之间的交互:捕获.PNG
  • C/S模式的优点:
    • 数据的分布处理和存储
    • 便于集中管理
    • 灵活性和可扩充性
    • 易于改变应用软件 面向对象的程序设计 微内核OS结构: 1. 足够小的内核 2. 基于C/S模式 3. 应用“机制与策略分离”原理 4. 采用面向对象技术

微内核的基本功能:

  1. 线程(进程)管理
  2. 低级存储器管理
  3. 中断和陷入处理

微内核优点:

  1. 提高系统的可扩展性
  2. 增强系统的可靠性
  3. 可移植性强
  4. 提供对分布式系统的支持
  5. 融入了面向对象技术

硬件结构

南桥是基于个人电脑主板芯片组架构中的其中一枚芯片。南桥设计用来处理低速信号,通过北桥与中央处理器联系。各芯片组厂商的南桥名称都有所不同,例如英特尔称之为输出/输入控制器中心(Input/Output Controller Hub,ICH),NVIDIA的称为MCP,ATI的称为IXP/SB,AMD也开始纳入Fusion APU,并给予FCH这个标记,或称Fusion控制器中心,代表其南桥芯片。

南桥专门处理低速设备,比如周边设备接口、多媒体控制器和通信功能接口。(如PCI控制器、ATA控制器、USB控制器)

北桥连接所有高速芯片,处理高速设备。

南桥北桥.png

多核处理器是SMP(对称多处理器,Symmetrical Multi-Processing)的简化版,从逻辑上看,相差不大。

硬件结构架构.png

软件体系

软件体系结构.JPG

每个层次之间相互通信的协议称为接口(Interface),接口上层为提供者(定义接口),下层为使用者(实现所需功能)。

在硬件和操作系统之间增加一层虚拟层,使得计算机可同时运行多个操作系统。

应用程序接口的提供者是运行库,Linux的Glibc库提供POSIX的API,Windows的运行库提供Windows API,运行库使用操作系统提供的系统调用接口,系统调用接口一般是用中断方式提供。Linux使用0x80号中断作为系统调用接口,Windows使用0x2E号中断作为系统调用接口(从Win xp sp2开始采用新的系统调用方式)

硬件规格:硬件的接口定义OS内核(驱动如何操作硬件,如何与硬件通信)

操作系统作用:提供抽象接口,管理硬件资源

使用虚拟地址(通过映射,可以让虚拟地址转换成实际的物理地址),可以让一个程序能够访问的物理内存区域跟另外一个程序互不重叠,达到地址空间隔离的效果。

系统使用一种通过软件扩展物理硬件能力的内存管理方案。因为地址空间与实内存不是一一对应的,所以地址空间(以及系统将其与实内存相对应的方法)称为虚拟内存。 内核和硬件子系统相互合作以将虚拟地址转换为物理地址,它们组成了内存管理子系统。内存管理策略由内核采用的操作构成,那些操作保证进程能平等地分享主内存。(地址空间为程序创造了一种抽象的内存。地址空间是一个进程可用于寻址内存的一套地址集合。每个进程都有一个自己的地址空间,并且这个地址空间独立于其他进程的地址空间。)

分段:把一段与程序所需的内存空间大小的虚拟地址空间映射到某个地址空间。 分页:把地址空间人为地等分为固定大小的页,每一页由硬件决定,或硬件支持多种大小的页,由操作系统选择决定页的大小。

虚拟地址和物理地址通过MMU(内存管理单元,集成在CPU内部)实现。

*线程和进程

线程:有时称为轻量级进程(LWP,Lightweight Process),是程序执行流的最小单元。一个标准的 线程由线程ID、当前指令指针、寄存器集合和堆栈组成

进程:一个进程由一个或者多个线程组成,各个线程之间共享程序的内存空间(包括代码段、数据段、堆等)及一些进城级的资源(如打开文件和信号)

线程私有 线程之间共享
局部变量 全局变量
函数的参数 堆上的数据
TLS(线程局部存储)数据 函数里的静态变量
  程序代码,任何线程都拥有权力读取执行任何代码
  打开的文件,A线程打开的文件B线程可以读写

进程内的线程.png

函数重入

一个函数被重入,表示该函数没有执行完成,由于外部因素或内部调用,又一次进入该函数执行。一个函数要被重入只有两种情况:

  • 多个线程同时执行这个函数
  • 函数自身调用自身

一个函数可重入(可重入,表明该函数重入之后不会产生不良后果),必须具有如下特点:

  • 不使用任何(局部)静态或全局的非const变量
  • 不返回任何(局部)静态或全局的非const变量的指针
  • 仅依赖于调用方提供的参数
  • 不依赖于任何单个资源的锁
  • 不调用任何不可重入的函数

可重入是并发安全的保障,一个可重入函数可在多线程环境下放心使用。

进程的描述与控制

前趋图和程序执行

2.1.1 前趋图:有向无循环图 2.1.2 程序顺序执行 2.1.3 程序的并发执行

进程的描述

多道程序下,进程的执行是并发的,为了使参与并发执行的每个程序(含数据)都能独立运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。

进程:进程实体就叫做进程,由程序段、相关的数据段和PCB三部分便构成了进程实体(进程映像)。创建进程,实质上是创建进程实体中的PCB;撤销进程,就是撤销进程的PCB。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 进程的特征:动态性、并发性、独立性、异步性

进程的基本状态和转换:

进程的三种基本状态:就绪、执行、阻塞

三种基本状态的转换:

创建状态和终止状态: 为了满足进程控制块对数据及操作的完整性要求以及增强管理的灵活性,引入了创建状态和终止状态:

  1. 创建状态 引入创建状态是为了保证进程的调度必须在创建工作完成后进行,以确保对进程控操作的完整性。同时,创建状态的引入增加了管理的灵活性,OS可以根据系统性能或主存容量的限制推迟新进程的提交(创建状态)。对于创建状态的进程,当其获得了所需的资源以及对其PCB的初始化工作完成后,便可由创建状态转入就绪状态。
  2. 终止状态 进程的终止要等到操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。

其他的一些关于OS的知识 ,链接: https://pan.baidu.com/s/1o7LCYGq 密码: ucw8


上一篇 SSDT

下一篇 编译和链接

Comments

Content