解决方案

计算机操作系统-1-总览

seo靠我 2023-09-23 17:38:13

Lecture1-操作系统概论

1. 计算机系统概述

电子数字计算机,是一种能够自行按照已设定的程序进行数据处理的电子设备;是软件与硬件相结合、面向系统、侧重应用的自动化求解工具1946年,首台计算机ENSEO靠我IAC诞生于美国。短短70年,计算机技术迅猛发展,从科学计算、数据处理等应用领域,迅速扩展到实时控制、辅助设计、智能模拟等诸多领域今天计算机无所不在,深入社会生活的各个领域,深深改变了当今人类社会的组SEO靠我织行为计算机系统包括计算机硬件系统和计算机软件系统

1.1. 计算机历史

1945:电子真空管、机器语言,应用于科学计算1956:晶体管、批处理控制、Fortran(科学计算的高级语言)/COBOL(数据SEO靠我处理的高级语言),扩展到数据处理领域1959:集成电路、多道程序、操作系统/数据库/高级语言,应用领域继续扩展1976:大规模/超大规模集成电路,向快速化/小型化/系统化/网络化/智能化等方面发展19SEO靠我80:微机出现,廉价化促使应用领域快速膨胀1990:图形化人机交互技术,友善化推动了应用人群的快速扩展2003:移动计算的出现,计算无处不在

1.2. 计算机系统的组成

计算机系统:包括硬件子系统和软件子SEO靠我系统

硬件:借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统工作的实体,包括CPU,主存储器,I/O控制系统,外围设备等软件:各种程序和文件,用于指挥计算机系统按指定的要求进行协同工作 包SEO靠我括系统软件、支撑软件和应用软件关键系统软件是操作系统与语言处理程序 系统软件(操作系统)层是最靠近硬件的一层软件。操作系统和支撑软件、应用软件之间的主要区别 操作系统有权利分配资源,支撑软件以及应用软SEO靠我件只能通过操作系统使用资源,两者为控制和被控制的关系。操作系统直接作用在硬件上,隔离其他上层软件,并为其提供接口和服务。

1.3. 计算机系统的用户视图

系统程序员:面向硬件编程的程序员

2. 计算机硬件系SEO靠我

2.1. 计算机硬件系统的组成

中央处理器 运算单元控制单元 主存储器外围设备 输出设备:显示器输入设备:键盘、鼠标存储设备:硬盘网络通信设备:机机通信 总线:连接硬件系统的部件

2.2. 冯·诺依曼计SEO靠我算机特点

冯·诺伊曼等人在1946年总结并明确提出,被称为冯·诺伊曼计算机模型

以运算单元为中心,控制流由指令流产生采用存储程序原理,面向主存组织数据流主存是按地址访问、线性编址的空间指令由操作码和地址码SEO靠我组成数据以二进制编码

2.3. 存储程序计算机的结构

当前计算机硬件的经典结构和主流组织方式存储器是这个模型的核心部分

2.4. 总线及其组成

2.4.1. 总线定义

总线是计算机各种功能部件之间发送信息的公共SEO靠我通信干线,它是CPU、内存、输入输出设备传递信息的公用通道计算机的各个部件通过总线相连接,外围设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。按照所传输的信息种类,总线包括 控制线数据SEO靠我线地址线

2.4.2. 总线分类

内部总线:用于CPU芯片内部连接各元件系统总线:用于连接CPU、存储器和各种I/O模块等主要部件 PCI总线用来连接块设备E(ISA)主要是用来处理字符型输入设备,输入速SEO靠我度较慢 通信总线:用于计算机系统之间通信

2.5. 中央处理器 CPU

2.5.1. 定义

中央处理器是计算机的运算核心(Core)和控制单元(Control Unit)

2.5.2. CPSEO靠我U的组成

运算逻辑部件:一个或多个运算器寄存器部件: 通用寄存器控制与状态寄存器高速缓冲存储器(Cache) 控制部件 实现各部件间联系的数据、控制及状态的内部总线负责对指令译码、发出为完成每条指令所要SEO靠我执行操作的控制信号、实现数据传输等功能的部件

2.6. 处理器和寄存器

运算单元:算术逻辑单元控制单元:包括指令译码和中断的处理,以及一些重要的控制寄存器内部总线PC/IR/Flag:重要的控制寄存器MASEO靠我R/MDR:和主存进行沟通的存储器不包括的部分 通用寄存器CacheIOAR/IODR

2.7. 存储器的组织层次

主存及以上都是易失型设备

2.8. 外围设备

2.8.1. 设备类型

输入设备输出设备存储设备SEO靠我网络设备:机机通信

2.8.2. 控制方式

轮询方式:CPU忙式控制,CPU执行内存数据交换中断方式:CPU启动外设,外设中断CPU,CPU执行内存数据交换DMA方式:CPU启动DMA,DMA执行输入输出SEO靠我与内存数据交换,处理完成后,DMA中断CPU

2.8.3. SoC片上系统

片上系统(SoC, System ona Chip)在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术所SEO靠我谓完整的系统一般包括中央处理器(CPU)、存储器、以及外围电路等SoC是与其它技术并行发展的,如绝缘硅(SOI),它可以提供增强的时钟频率,从而降低微芯片的功耗

2.9. 用户态和内核态

用户态和内核态之SEO靠我间可以相互转化内核态可以进行系统调用,完成中断处理

3. 计算机软件系统

3.1. 计算机软件系统组成

系统软件 操作系统:实施对各种软硬件资源的管理控制应用程序:为方便用户所设,如文本编辑等语言处理程序:SEO靠我把用汇编语言/高级语言编写的程序,翻译成可执行的机器语言程序数据库管理系统 支撑软件:支持用户使用计算机的环境,提供开发工具,也可以认为是系统软件的一部分。 接口软件工具软件环境数据库等 应用软件:是SEO靠我用户按其需要自行编写的专用程序

3.2. 程序员的计算机系统视图

计算机硬件系统:机器指令操作系统与实用软件:扩展机器指令,系统调用、操作系统与应用软件数据库语言:数据库管理系统,可以不再对流进行处理,而SEO靠我是处理对象式和关系式语言处理系统:高级语言,变向对目标进行解决支撑软件:使用软件工程工具

3.3. 软件开发的不同层次

计算机硬件系统:机器语言操作系统之资源管理:机器语言+广义指令(扩充了硬件资源管理)SEO靠我操作系统之文件系统:机器语言+系统调用(扩充了信息资源管理)数据库管理系统:+数据库语言(扩充了功能更强的信息资源管理)语言处理程序:面向问题的语言

3.4. 计算机程序执行过程

源程序是如何在硬件平台上SEO靠我进行处理如上图进行描述

4. 计算机操作技术的发展

4.1. 操作平台与操作系统

任意一台机器都有其操作平台与操作系统 例子: 洗衣机 确定水量、洗衣时间、洗涤强度、洗衣粉启动按钮指示灯显示工作状态 这一方SEO靠我式可以总结为:开关表示,按钮控制,亮灯显示操作平台的精细化和系统化,产生了操作系统 计算机也不例外,由此产生了极为系统的计算机操作平台——计算机操作 系统使用汇编语言的程序的编译运行程序为:汇编、执行SEO靠我使用高级语言的程序的编译运行程序为:编译、链接、执行

4.2. 计算机的手工操作

开关表示,按钮控制,亮灯显示 问题:手工操作速度与电子计算速度不匹配最简单的操作系统的操作,非常复杂并且SEO靠我容易出错。

4.3. 装入程序的引进

引入卡片和纸带描述程序指令与数据引入装入程序(Loader) 自动化执行程序装入,必要时进行地址转换通常存放在ROM中 一般执行顺序是从机器语言程序到装入程序,再到内SEO靠我存储器。装入程序的数据是非常麻烦的

4.4. 引入汇编语言后的计算机控制

添加进入高级语言之后,连接程序时非常重要的,将一些共有的操作进行封装

4.5. 引入高级语言后的计算机控制

磁带相对更加不容易断裂

4.SEO靠我6. 简单批处理系统的操作控制

简单批处理系统的处理过程 引入作业控制语言,用户编写作业说明书,描述对一次计算机求解(作业)的控制操作员控制计算机成批输入作业,成批执行作业 这一方式明显缩短了手工操作的SEO靠我时间,提高了计算机系统利用率这一阶段,磁带的出现,使得卡片与纸带等机械输入方式得以进一步提高简单批处理系统本质上是一种半自动化的操作方式,不算操作系统 解决了手工操作和计算机机械操作不匹配的矛盾没有解SEO靠我决了手工操作与中央处理器电子操作速度不匹配的矛盾进一步减少了慢速外设的影响 简单批处理系统的解决方案是允许多道程序同时运行,但是没有达到真正的多道程序设计

4.7. 操作系统与自动化操作控制

电子计算速度SEO靠我与机械I/O速度的矛盾:你在输,我在等在程序执行过程中能否同时输入作业重叠时间 需要多道程序同时执行程序切换需要高速的外存储设备 磁盘设备出现:计算机操作系统浓墨登场,实现了计算机系统的自动化控制机械SEO靠我I/O速度是难以显著提升的。为什么随机存储可以成为计算机操作系统出现的基础?(课本267页) 随机存储线性存储:线性存储 为什么随机存取很重要呢? 因为操作系统引入了虚拟存储,虚拟分页,虚拟的地址空间SEO靠我需要1000个页框,但是我只给了100个页框进行使用,命中即为是这100个。如果没有命中,则缺页,启动缺页中断处理,然后到磁盘中查找对应的页调入,寻找相对于磁带的形式而言非常大。让用户感觉不到有磁带的SEO靠我延时。

5. 计算机操作系统 OS

5.1. 计算机操作系统(OS, Operating System)的定义 *

OS是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,提供各种服务SEO靠我,合理组织计算机工作流程,为用户使用计算机提供良好运行环境。 定位(计算机系统最基础的系统软件):处于硬件之上(最接近硬件)的系统软件用途(管理软硬件资源): 管理硬件资源,首先进行抽象,提供系统调用SEO靠我和中断等服务给上层资源使用。管理软件资源,管理文件抽象的数据资源以及在操作系统环境下可能被启动运行的应用程序,并创建成进程,然后再为进程分配相应的资源,包括CPU资源、处理器资源、外设资源和程序运行中SEO靠我的文件系统需要的资源。也可以映射为三个基本抽象。 用途(控制程序的执行):在操作系统环境下,加入的软件系统的实体,要被创建成一些进程,并由操作系统来统管所有的进程。用途(改善人机界面):操作系统最终是SEO靠我呈现给终端用户使用,必须改善用户界面,方便人群使用。由于操作系统定位的人群不同,则风格不同,比如服务器的命令行控制。用途(合理组织计算机工作流程):体现资源调度和管理总结(为用户使用计算机提供良好运行SEO靠我环境) 简而言之,操作系统是方便用户、管理和控制计算机软硬件资源的系统程序集合 从用户角度看,OS管理计算机系统的各种资源,扩充硬件的功能,控制程序的执行从人机交互看,OS是用户与机器的接口,提供良好SEO靠我的人机界面,方便用户使用计算机,在整个计算机系统中具有承上启下的地位从系统结构看,OS是一个大型软件系统,其功能复杂,体系庞大,采用层次式、模块化的程序结构 操作系统是软件系统的核心,与硬件一同构成了SEO靠我各种软件的基础服务平台。操作系统在计算机系统中的作用(P11): 服务用户:操作系统作为用户接口和公共服务程序。进程交互:操作系统作为进程执行的控制者和协调者。系统实现:操作系统作为扩展机或虚拟机。资SEO靠我源管理:操作系统作为资源你的管理者和控制者。

5.2. 操作系统的组成

文件系统的核心目标是实现按名存取

操作系统组成的子系统描述进程调度子系统负责管理调度进程进程通信子系统负责进程间的通信解决方案内存管理SEO靠我子系统负责管理内存与虚存设备管理子系统负责管理我们的外围设备文件管理子系统负责管理文件信息,提供系统调用,Linux需要考虑如何在线性的地址空间,如何建立非线性的层次式目录结构以实现按名存储网络通信子SEO靠我系统实现网络操作系统,涉及到分布式等作业控制子系统提供用户操作控制计算机系统,在服务器、云计算等资源虚拟化环境下

5.3. 操作系统的类型

5.3.1. 从控制方式来看

多道批处理操作系统 采用脱机控制方式SEO靠我程序员通过作业说明来描述对作业的控制方式操作员根据说明书来成批加载作业和控制计算机系统优点:资源利用率高,作业吞吐量大缺点:作业周转周期长、不具备交互式计算能力,不利于程序的开发和测试 分时(TimeSEO靠我 Sharing)操作系统:交互控制,核心是划分CPU的时间 时间片调度思想:CPU的时间等分在终端上进行交互式会话,具有同时性、独立性、及时性和交互性的特点。和批处理操作系统区别:追求目标、适应作业SEO靠我、资源利用率不同。Eg:100MHz的CPU,如果有10个终端用户使用,那么一个终端用户大概使用10MHz的CPU来使用 实时(Real Timing)操作系统:支持分时交互,又有大量的进程处理突发任SEO靠我务 硬实时:最严格的实时操作系统软实时:可以在某些地方不严格 如果某个操作系统兼具批处理、分时和实时处理的全部或两种功能,则可以被称为通用操作系统。

5.3.2. 从应用领域领域来看

服务器操作系统:并行SEO靠我操作系统网络操作系统:分布式操作系统个人机操作系统:手机操作系统嵌入式操作系统:传感器操作系统

5.4. 操作系统功能和特性

5.4.1. 操作系统功能

处理器管理:对处理器的管理和调度最终归结为对进程和线SEO靠我程的管理和调度,最大限度提高处理器利用率。存储管理:管理内存资源,提供存储空间利用率。设备管理:管理各种外部设备,完成用户提出的I/O请求;加快数据传输速度,发挥设备的并行性,提高设备的利用率;提供设SEO靠我备驱动程序和中断处理程序,为用户隐蔽硬件操作细节,提供简单的设备使用方法文件管理:针对信息资源的管理。联网与通信管理: 网络资源管理数据通信管理应用服务网络管理

5.4.2. 操作系统特性

并发性: 并发SEO靠我性指两个或两个以上的活动或事件在同一时间间隔内发生。采用并发技术的系统又称多任务处理系统并行性指两个或两个以上的活动或事件在同一时刻发生,存在于多CPU系统中。并行一定并发,并发不一定并行并发的关键技SEO靠我术是对系统的多个运行程序(进程)进行切换的技术。 共享性: 计算机系统中的资源可以被多个并发执行的程序共同使用,而不是被某个程序独占划分: 透明资源共享:必须处理好资源隔离和授权访问问题独占资源共享:SEO靠我排他性地使用一类资源 并发性和共享性互相依存,没有并发就不必讨论共享,做不到共享也就导致做不到并发。异步性(随机性):并发活动导致随机事件的产生。操作系统需要保证只要运行环境相同,多次运行同一程序,都SEO靠我会获得完全相同的计算结果。

5.5. 操作系统的形成

中断和通道技术的出现使得硬件具备并行工作的能力。

6. 操作系统资源管理

解决物理资源数量不足的问题合理分配资源实现资源的易用性 硬件资SEO靠我源:处理器、内存和外设(字符型设备等)信息资源(可以理解为软件资源):数据和程序

6.1. 管理计算机系统的软硬件资源

处理器资源:哪个程序占有处理器运行?内存资源:程序/数据在内存中如何分布?设备管理:SEO靠我如何分配、去配和使用设备?信息资源管理:如何访问文件信息?信号量资源:如何管理进程之间的通信?信号量(->数据结构)与PV原理(->原语操作):重要

6.2. 资源管理最重要的是:屏蔽资源使用的底层细节SEO靠我

驱动程序:最底层的、直接控制和监视各类硬件(或文件)资源的部分职责是隐藏底层硬件的具体细节,并向其他部分提供一个抽象的、通用的接口比如说:打印一段文字或一个文件,既不需知道文件信息存储在硬盘上的细节,SEO靠我也不必知道具体打印机类型和控制细节

6.3. 资源管理技术

复用 空分复用共享,例如内存和外存资源是空分复用的关系、磁盘上进行空分复用时分复用共享 按照资源物理特性分为 独占式时分共享式 例如:磁带机与磁SEO靠我盘机 虚拟(虚拟性) 本质:对资源进行转化、模拟或整合,将一个物理资源变成多个逻辑上的对应物,也可以将多个物理资源编程单个逻辑上的对应物,达到多个用户共享一套计算机物理资源的目的。复用划分实际存在的物SEO靠我理资源,虚拟则实现假想的虚拟同类资源。例子:虚拟内存、虚拟文件系统(VFS)。 抽象: 目的:为了处理系统复杂性,重点解决资源易用性。资源抽象:不考虑物理细节而对资源执行操作的技术。抽象层次越高,使用SEO靠我越方便。 组合使用多种资源管理技术

6.4. 重要:操作系统的基础抽象——进程抽象、虚存抽象和文件抽象

计算机物理资源划分: 计算及存储类:包含处理器和内存等接口类:包含外存和外部处理器等 为方便对物理资SEO靠我源的管理和控制,现代操作系统引入了:进程、虚拟和文件,形成了三种最基础的抽象。

6.4.1. 进程抽象

进程是对进入内存的执行程序在处理器上操作的状态集的一个抽象。进程是并发和并行操作的基础。进程可以使用SEO靠我fork()、wait()、exec()等系统调用。进程的执行依赖于内存和设备上的信息资源。

6.4.2. 虚存抽象

虚拟内存的本质是在物理内存的基础上创建一个新的抽象概念。虚存抽象保证了安全性进程的执行SEO靠我还依赖于存放在内存中的程序和数据,而他们往往存储在设备上,所以我们需要对设备进行抽象。

6.4.3. 文件抽象

文件是设备的一种抽象,通过将文件的字节映射到存储设备的物理块中来实现文件抽象。提供了openSEO靠我()、read()和write()等方法来控制和使用文件。磁盘、光盘等外存设备都有极其复杂的物理接口,通常我们将其抽象,使得所存放柜的信息可以表示为一个命名的逻辑字节流,称其为文件,这是资源抽象的一个SEO靠我特例。为了管理方便,操作系统将除处理器和内存以外,将磁盘和其他外部设备资源都抽象为文件,减少系统开销,复用系统调用。

6.4.4. 三种抽象综述

操作系统基本任务 防止硬件资源被失控的应用程序滥用。屏蔽复SEO靠我杂的硬件操作细节。

6.4.5. 其他资源抽象

与设备抽象相似,操作系统还对其他底层硬件资源进行了抽象。资源抽象也可以用于没有特定基础硬件的软甲资源,如信息、信号量和共享数据结构。对象和抽象数据类型是常用SEO靠我于创建抽象资源的软件机制。

6.5. 操作系统虚拟机

物理CPU:时分共享复用,实现虚处理器物理内存:虚拟存储技术,实现虚内存独占型I/O设备:SPOOLing技术,实现虚设备磁盘设备:通过文件抽象,实现SEO靠我虚外存

6.6. 资源的共享与分配方式

资源共享方式 独占使用方式:只能被一个程序使用并发使用方式:在同一时段可以被多个程序使用,虚拟共享Spooling 资源分配策略:对于独占使用方式的分配方式 静态分配方SEO靠我式,运行程序进入内存前已经将所有的内存完成分配,好处是不会死锁,坏处是效率低,使用效率低动态分配方式,随用随分配,可能导致死锁资源抢占方式,如果你在使用,我的优先级高,我可以抢过来使用,但是涉及到保存SEO靠我状态的问题

7. 程序控制角度

7.1. 多道程序同时计算

CPU速度与I/O速度不匹配的矛盾,非常突出只有让多道程序同时进入内存争抢CPU运行,才可以够使得CPU和外围设备充分并行,从而提高计算机系统的使SEO靠我用效率例如:百度的搜索引擎

7.2. 多道程序同时计算例子

对于甲、乙两道程序,如果两个程序的操作之间是没有冲突的 独占计算机单道运行时均需1小时,占用CPU时间18分钟,CPU利用率为30%按多道程序设SEO靠我计方法同时运行,CPU利用率50%,由于要提供36分钟的CPU时间,大约运行72分钟。考虑到OS调度开销,实际花费时间还要长些,如80分钟 就处理两道作业而言,提高效率33%,整体的系统的吞吐率会高就SEO靠我单道作业而言,延长执行时间20分钟,即延长了33%的时间可以采用概率方法计算CPU的利用率,假设程序平均等待I/O 操作的时间占其运行时间的比例为P,当内存中有n道程序时,所有程序都等待I/O操作的概SEO靠我率是 P n P^n Pn,即此时CPU利用率= 1 − P n 1-P^n 1−Pn,其中n称为多道程序的道数或度数

7.3. 多道程序设计及优点

多道程序设计:指允许多个作业(程序)同时进入计算机系统SEO靠我的内存并启动交替计算的方法多道程序设计的特点 CPU与外部设备充分并行外部设备之间充分并行发挥CPU、内存和设备的使用效率提高单位时间的算题量(吞吐率) 多道程序设计的主要缺点:延长了作业的周转时间。SEO靠我

7.4. 多道程序系统的实现

进入内存执行的程序建立管理实体:进程动态概念,驻留在操作系统中OS应该能管理与控制进程程序的执行OS协调管理各类资源在进程间的使用 处理器的管理和调度主存储器的管理和调度其SEO靠我他资源的管理和调度信号量的管理和调度

7.5. 多道程序系统的实现要点

如何使用资源:调用操作系统提供的服务例程(如何陷入操作系统)如何复用CPU:调度程序(在CPU空闲时让其他程序运行)如何使CPU与ISEO靠我/O设备充分并行:设备控制器与通道(专用的I/O处理器)如何让正在运行的程序让出CPU:中断(中断正在执行的程序,引入OS处理),能够恢复现场而不是从头运行需要注意的是道数是受到物理资源的制约的。

7.SEO靠我6. 多道程序系统需要处理的问题

存储保护与程序浮动处理器管理与分配资源管理与调度

8. 操作系统控制计算机的角度

8.1. 计算机系统操作方式

OS规定了合理操作计算机的工作流程OS的操作接口——系统程序:SEO靠我OS提供给用户的功能级接口,为用户提供的解决操作计算机和计算共性问题的所有服务的集合OS的两类作业级接口 脱机作业控制方式:作业控制语言,比如批处理联机作业控制方式:操作控制命令

8.1.1. 脱机作业SEO靠我控制方式

脱机作业控制的各角色工作 OS提供作业说明语言,通过作业控制程序自动控制作业的执行用户编写作业说明书,确定作业加工控制步骤,并与程序数据一并提交操作员通过控制台输入作业 例:批处理OS的作业控SEO靠我制方式,UNIX的shell程序,DOS的bat文件多道批处理:可以多道作业交替占用处理器运行

8.1.2. 联机作业控制方式

联机作业控制方式的各角色工作 计算机提供终端用户登录系统OS提供命令解释程序SEO靠我用户进行联机输入命令,直接控制作业步的执行 例:分时OS的交互控制方式图形化无非就是把上述操作图形化了而已

8.2. 命令解释程序

命令解释程序:接受和执行一条用户提出的对作业的加工处理命令当一个新的批作SEO靠我业被启动,或新的交互型用户登录进系统时,系统就自动地执行命令解释程序,负责读入控制卡或命令行,作出相应解释,并予以执行实现方式 命令解释语言包含命令的执行代码,一旦收到命令后,就转向相应的命令处理代码SEO靠我执行,执行过程中往往会使用到系统调用由专用的实用程序实现,执行时将命令所对应的命令处理文件装入内存 会话语言:可编程的命令解释程序,UNIX的Shell图形化的命令控制方式多通道交互的命令控制方式

8.SEO靠我3. 命令解释程序的处理过程

OS启动命令解释程序,输出命令提示符,等待键盘中断/鼠标点击/多通道识别每当用户输入一条命令(暂存在命令缓冲区)并按回车换行时,申请中断CPU响应后,将控制权交给命令解释程SEO靠我序,接着读入命令缓冲区内容,分析命令、接受参数,执行处理代码前台命令执行结束后,再次输出命令提示符,等待下一条命令后台命令处理启动后,即可接收下条命令

8.4. OS内核是中断驱动的

等价表述

OS内核是中SEO靠我断驱动的中断是激活操作系统的唯一方式

9. 人机交互的角度

OS改善人机界面,为用户使用计算机提供良好的环境人机交互设备包括传统的终端设备新型的模式识别设备OS的人机交互部分用于控制有关设备运行理解执SEO靠我行设备传来的命令人机交互功能是决定计算机系统友善性的重要因素,是当今OS研发热点

9.1. 人机交互的初期发展

交互式控制方式 行命令控制方式:1960年代开始使用,一行一行进行编辑全屏幕控制方式:197SEO靠我0年代开始使用 斯坦福研究所提出的发展计划 始于1960年代,1980年代广泛应用强调而不是技术人机交互的中心代表性成果:鼠标、菜单与窗口控制(单窗口)

9.2. 人机交互发展-WIMP界面

缘起:7SEO靠我0年代后期Xerox的原型机Star特征:窗口(Windows) (多窗口)、图标(Icons)、菜单(Menu) 和指示装置(Pointing Devices)为基础的图形用户界面WIMP得益:ApSEO靠我ple最初采用并大力推动时间:1990年代开始广泛使用不足:不允许同时使用多个交互通道,从而产生人-机交互的不平衡Apple的界面是WIWP的顶峰

9.3. 人机交互发展-多媒体计算机

缘起:1985年的SEO靠我MPC把音频视屏、图形图像和人机交互控制结合起来,进行综合处理的计算机系统构成:多媒体硬件平台、多媒体OS 、图形用户接口、多媒体数据开发工具提供与时间有关的时变媒体(何时体现感觉更好)界面,既控制SEO靠我息呈现,也控制何时呈现/如何呈现人机交互界面需要使用多种媒体,同时支持多通道交互整合,改善用户体验

9.4. 人机交互发展-虚拟现实系统(临境系统)

缘起:1980年代的虚拟现实新型用户界面VR通过计算机SEO靠我模拟三维虚拟世界,根据观察点、观察点改变的导航和对周围对象的操作,来模拟临境(身临其境)的感觉支持多通道交互整合,改善用户体验支持用户主动参与的高度自然的三维HCI,以及语音识别、头部跟踪、视觉跟踪、SEO靠我姿势识别等新型HCI容许用户产生含糊和不精确的输入

10. 程序接口的角度

10.1. 系统调用

操作系统的程序接口:系统调用 操作系统实现的完成某种特定功能的过程为所有运行程序提供访问操作系统的接口 SEO靠我 为什么会出现系统调用?对上层如果暴露过于细粒度的操作,违背了软件复用的原则,所以我们将一系列的操作封装起来,作为系统调用来暴露。为什么操作系统不能使用名空间?(没有高级语言,为什么不可以SEO靠我通过名字来调用):操作系统处于系统底层之上,是不可以将高阶的名字,翻译成计算机操作系统可以理解的地址。底层是通过地址号来调用,而我们的按名访问本质上也只是完成了从名空间到地址空间的映射而已 操作系统诞SEO靠我生了名空间文件系统需要使用名空间 以32位系统为例,每个地址占4字节,以入口地址表的起地址 x 0 x_0 x0​作为起点,依据功能号向下偏移 4 ∗ i 4*i 4∗i,读取系统调用处理子程序 S SEO靠我u b i Sub_i Subi​的入口地址,然后执行 S U B i SUB_i SUBi​,执行完成之后,再返回用户空间。没有名称空间 -> 通过指针的地址计算做定位,表驱动按号索引,按号索引的前SEO靠我提是: 数据必须是按号连续排列的表中的各数据结构的规格是一致的

10.2. 系统调用的实现机制

陷入处理机制:计算机系统中控制和实现系统调用的机制陷入指令:也称访管指令,或异常中断指令,计算机系统为实现系SEO靠我统调用而引起处理器中断的指令每个系统调用都事先规定了编号,并在约定寄存器中规定了传递给内部处理程序的参数参数传递方法 访管指令或自陷指令自带参数,参数放置在指令后的若干单元,叫直接参数指令后放置参数的SEO靠我地址,叫间接指令通过CPU的通用寄存器传递参数,不适用于大量参数传递在内存中开辟专门堆栈区传递参数 操作系统实现系统调用的机制被称为陷阱或异常处理机制。由系统调用引起处理器中断的机器指令称为访管指令、SEO靠我自陷指令或中断指令,其中访管指令为非特权指令。

10.3. 系统调用的实现要点

编写系统调用处理程序设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,并包含系统调用自带参数的个数陷入处理SEO靠我机制需开辟现场保护区,以保存发生系统调用时的处理器现场

10.4. 系统调用的实现流程

由硬件和操作系统来合作完成 中断是由硬件完成的查入口地址和调用是由操作系统完成的 CPU执行程序中编写的由访管指令实SEO靠我现的系统调用时会产生异常,通过陷阱机制,处理器的状态由用户态转换为内核态,进入操作系统并执行相应的服务例程,以获得操作系统服务。 SUB子程序部分是绝对不能向用户暴露的,很危险A部分SEO靠我,可以通过地址偏移来发起调用, 4 ∗ i + x 0 4*i+x_0 4∗i+x0​调用的是第i号系统调用。 处理器状态包括用户态、内核态 用户态对应非特权指令内核态对应特权和非特SEO靠我权指令 Linux中是通过为每个系统调用构造一个同名封装函数,将系统调用封装后供用户编程使用,详见P25

10.4.1. Transition from user to kernel mode

特权指令和SEO靠我非特权指令混编实现代码如下图的Linux系统调用执行流程:两个进程之间切换,会损失一定的时间(内核消耗时间),应该是会非常快速的进行切换的。

更多过程见课本P31-34

10.5. 系统调用和函数调用之间SEO靠我的区别

系统调用函数调用调用形式按地址转向功能号调用实现方式用户态转换内核态,在内核态执行访问核心栈用户态被调用代码位置动态调用,服务例程位于操作系统内静态调用,调用程序和被调用程序在同一程序内提供方式SEO靠我由操作系统提供编程语言提供

11. 系统结构的角度

11.1. 操作系统软件的规模

在计算机软件发展史上,OS是第一个大规模的软件系统1960年代,由OS开发所衍生的体系结构、模块化开发、测试与验证、演化与SEO靠我维护等研究,直接催生了软件工程这一新兴研究领域(另一个催生来源是DB应用引发的需求与规格)OS作为大型软件,结构设计是关键

11.2. 操作系统软件的结构设计

内核设计是OS设计中最为复杂的部分

11.2.SEO靠我1. OS构件

内核:核心的部分,操作系统必须有一个内核 一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核他,具有直接访问硬件设备和所有内存空间的权限SEO靠我,是仅有的能够执行特权指令的程序。内核的功能 中断处理时钟管理短程调度原语管理:原语是内核中实现特定功能的不可中断过程 原语由内核实现,系统调用由系统进程实现例子:通信原语、同步原语、I/O设备原语 SEO靠我内核的属性 内核是由中断驱动的内核是不可抢占的内核可以在屏蔽中断状态下进行内核可以使用特权指令 进程线程管程

11.2.2. 设计概念

模块化层次式虚拟化

11.2.3. 操作系统内核

单内核:内核中各部件杂SEO靠我然混居的形态,始于1960年代,广泛使用;如Unix/Linux,及Windows(自称采用混合内核的CS结构),单内核导致内核会非常大

单内核结构的操作系统:写错了的Tanebaum,2015

微内核:SEO靠我 仅将所有应用必须的核心功能放入内核,其他功能都在内核之外,由在用户态运行的服务进程实现1980年代始,强调结构性部件与功能性部件的分离,大部分OS研究都集中在此,效率不高详见课本P37页

微内核结构的SEO靠我操作系统,存在一定的不确定性,会增加切换的次数,带来一定的性能损耗

混合内核:微内核和单内核的折中,较多组件在核心态中运行,以获得更快的执行速度外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机SEO靠我制,使得开发者专注于硬件的抽象化;部分嵌入式系统使用

安卓内核架构、C/S(Client/Server)模型

11.2.4. 单内核和微内核对比

11.2.5. 鸿蒙操作系统的软件架构

11.3. 操作系统实SEO靠我现的层次结构

11.3.1. 操作系统实现的第一种层次结构

现在文件系统也会划归到内核中

11.3.2. 操作系统实现的第二种层次结构

过程机制、指令解译、电路执行是由硬件完成,实现中断等机制。当前操作系统除SEO靠我了硬件电路以外都是由操作系统管理

12. 补充

i + + i++ i++ 返回成机器指令: i − > R 0 i -> R_0 i−>R0​ R 0 + 1 − > R 0 R_0 + 1 -> R_SEO靠我0 R0​+1−>R0​ R 0 − > i R_0 -> i R0​−>i

13. 操作系统运行模型

P42-44

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2