第1章 计算机系统概述

news2024/12/26 21:23:54
  • 1.1 操作系统的基本概念
    • 1.1.1 操作系统的概念 操作系统是计算机系统中最基本的系统软件。
      • 操作系统(Operating System,OS)是指控制管理整个计算机系统的硬件软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
    • 1.1.2 操心系统的特征 操作系统的基本特征包括:并发、共享、虚拟和异步。并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件。​
      • 1. 并发(Concurrence):并发是指两个或多个事件在同一时间间隔内发生。 操作系统的并发性指计算机系统中同时存在多个运行的程序。操作系统的并发性是通过分时实现的。
        • 并发性与并行性的区别

      • 2. 共享(Sharing):指系统中的资源可供内存中多个并发执行的进程共同使用。
        • (1)互斥共享方式:在一段时间内只允许一个进程访问该资源(这种资源就叫临界资源)。如打印机、磁带机等大多数物理设备及某些软件中所用的栈、变量和表格这些临界资源。
        • (2)同时访问方式:允许在一段时间内由多个进程“同时”访问。如磁盘设备、用重入码编写的文件。 “同时”指宏观上的,而在微观上还是交替对该资源进行访问的。
      • 3. 虚拟(Virtual):把一个物理上的实体变为若干逻辑上的对应物。 操作系统的虚拟技术应用在虚拟处理器、虚拟内存和虚拟外部设备等。操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器。
      • 4. 异步(Asynchronism):操作系统运行在一种随机的环境下,以不可预知的速度向前推进,可能导致进程产生与时间有关的错误。 只要运行环境相同,操作系统就必须保证多次运行进程后都能获得相同的结果。
    • 1.1.3 操作系统的目标和功能 操作系统应具有以下功能:处理机管理、存储器管理、设备管理和文件管理,向用户提供接口及用来扩充机器。
      • 1. 操作系统作为计算机系统资源的管理者
        • (1)处理机管理:包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。 在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,故对处理机的管理就是对进程的管理。
        • (2)存储器管理:包括内存分配与回收、地址映射、内存保护与共享和内存扩充等。
        • (3)文件管理:包括文件存储空间的管理、目录管理及文件读写管理和保护等。
        • (4)设备管理:包括缓冲管理、设备分配、设备处理和虚拟设备等。 主要任务是完成用户的I/O请求,方便用户使用各种设备,提高设备的利用率。
      • 2. 操作系统作为用户与计算机硬件系统之间的接口
        • (1)命令接口:用户利用这些操作命令来组织和控制作业的执行。

        命令接口根据作业控制方式的不同,分为联机命令接口(交互式命令接口)和脱机命令接口(批处理命令接口)。

        • (2)程序接口:编程人员可以使用它们来请求操作系统服务。
        • 程序接口由一组系统调用(也称广义指令)组成。图形用户界面(GUI)就是调用程序接口实现的。
      • 3. 操作系统用作扩充机器
        • 没有任何软件支持的计算机叫裸机,操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成更强、使用更方便的机器。
  • 1.2 操作系统的发展与分类

 1.2.0 发展历程

  • 1.2.1 手工操作系统阶段(此阶段无操作系统)
    • 用户在计算机上计算题目需要人工干预。
    • 两个突出缺点:
      • ①用户独占全机,不好出现资源被其他用户占用而等待的现象,但资源利用率低。
      • ②CPU等待手工操作,CPU利用不充分。
  • 1.2.2 批处理阶段(操作系统开始出现)
    • 引入目的:为了解决人机矛盾及CPU和I/O设备之间速度不匹配的问题,出现了批处理系统。
    • 按发展历程分单道批处理系统和多道批量处理系统:
      • 1. 单道批处理系统:系统对作业的处理是成批进行的,单内存中始终只保持一道作业。 特点:自动性、顺序性、单道性。
      • 2. 多道批处理系统:允许多个程序同时进入内存并允许它们在CPU中交替运行,共享系统中的各种软/硬件资源。 引入目的:为了进一步提高资源的利用率和系统的吞吐量。因为单道系统在运行期间发出I/O请求后,高速的CPU会处于等待低速的I/O完成状态。特点:多道、宏观上并行、微观上串行。​
    • 优缺点
      • 优点:资源利用率高;系统吞吐量大,CPU和其他资源保持“忙碌”状态。
      • 缺点:用户响应的时间较长;不提供人机交互能力。
  • 1.2.3 分时操作系统
    • 引入目的:为了解决批处理系统不能进行人机交互的问题。
    • 概念:分时系统是指多个用户通过终端同时共享一台主机,用户可以同时与主机进行交互操作而互不干扰。分时系统是实现人机交互的系统。
    • 特点:
      • (1)同时性。指允许多个终端用户同时使用一台计算机。
      • (2)交互性。指用户能够与系统进行人机对话交互。
      • (3)独立性。系统中多个用户可以彼此独立进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己独自使用。
      • (4)及时性。用户请求能在短时间内得到响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务。
  • 1.2.4 实时操作系统
    • 引入目的:为了能在某个时间限制内完成某些紧急任务而不需要时间片排队。
    • 根据时间限制分为两种情况:硬实时系统和软实时系统。
      • 硬实时系统:某个动作必须绝对地在规定时间范围发生。如飞行器的自动控制系统。
      • 软实时系统:能够接受偶尔违反时间规定且不好引起任何永久性的损害。如飞机订票系统、银行管理系统。
    • 特点:及时性、可靠性。
  • 1.2.5 网络操作系统和分布式计算机系统 二者本质不同是:分布式操作系统中的若干计算机相互协同完成同一任务。
    • 网络操作系统
      • 概念:把计算机网络中的各台计算机结合起来,集中控制,实现各台计算机之间的数据相互传送。
      • 特点:网络中各种资源的共享、各台计算机之间的通信。
    • 分布式计算机系统
      • 概念:任意两台计算机通过通信方式交互信息;地位同等(没有主机也没有从机);每天计算机的资源为所有用户共享;任意台计算机能构成子系统并还能重构;任何工作可以分布在几台计算机上,并行工作协同完成。
      • 特点:分布式和并行性。
  • 1.2.6 个人计算机操作系统
    • 目前使用最广泛的操作系统,广泛应用于文字处理、电子表格、游戏中,常见的由Windows、Linux和Macintosh等。
  • 1.3 操作系统的运行环境
    • 1.3.1 操作系统的运行机制
      • CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序(应用程序)。前者是后者的管理者。
      • 特权指令(内核程序要执行的指令):指计算机中不允许用户直接使用的指令。如I/O指令、置中断指令,存取用于内存保护的寄存器、送程序状态字道程序状态字寄存器等指令。
      • 在具体实现上将CPU的状态分为:
        • 用户态:用户自编程序运行在用户态
        • 核心态(管态、内核态):操作系统内核程序运行在核心态。
        • 内核的内存构成(这部分内容的指令操作工作在核心态):
        • 一些与硬件关联紧密的模块,如时钟管理、中断处理、设备驱动等处于最底层。
        • 其次是运行频率较高的程序,如进程管理、存储器管理和设备管理等。
      • 大多数操作系统内核包含以下的内容: 内核是计算机上配置的底层软件。核心态指令实际上包括系统调用指令和一些针对时钟、中断和原语的操作指令。​
        • 1. 时钟管理
        • 时钟的功能:计时(第一功能);实现进程的切换(如分时系统中采用时间片轮转调度;实时系统中按截止时间运行;批处理系统中衡量作业的运行程度)。
        • 2. 中断机制
        • 引入目的:提高多道程序运行环境中CPU的利用率,主要针对外部设备。
        • 功能:负责保护和恢复中断现场的信息、转移控制权道相关的处理程序。 只有一小部分属于内核,为的是减少中断的处理时间,提高系统的并行处理能力。
        • 3. 原语
        • 原语的特点(也是定义): 原语是操作系统底层可被调用的公用小程序,它们各自完成一个规定的操作。
        • (1)处于操作系统的最底层,是最接近硬件的部分。
        • (2)这些程序的运行具有原子性(要么成功要么失败无其他可能),主要处于系统安全性和便于管理考虑。
        • (3)这些程序的运行时间都较短,而且调用频繁。
        • 定义原语的方法:直接方法是关闭中断,让其所有动作不可分割地完成后再打开中断。 系统中的设备驱动、CPU切换、进程通信等功能中的部分操作可以定义为原语,称为内核的组成部分。
        • 4. 系统控制的数据结构及处理
        • 为了实现数据结构的管理,通过有以下一些基本操作:
        • (1)进程管理。进程状态管理、进程调度和分派、创建与撤销进程控制块。
        • (2)存储器管理。存储器的空间分配和回收、内存信息保护程序、代码对换程序。
        • (3)设备管理。缓冲区管理、设备分配和回收。
    • 1.3.2 中断和异常的概念
      • 0. 中断的应用
        • (1)发生中断或异常时,运行用户态的CPU就会立即进入核心态,这是通过硬件实现的。
        • (2)对资源占有权的释放,也需要通过中断实现。
      • 1. 中断和异常的定义
        • 中断(也称外中断):指来自CPU执行指令以外的事件的发生,与当前指令执行无关的事件发生(即它们与当前处理机运行的程序无关)。如I/O结束中断、时钟中断等。
        • 异常(也称内中断、例外或陷入(trap)):指来自CPU执行指令内部的事件,对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。如程序性的非法操作码、地址越界、算术溢出、虚存系统的缺页及专门的陷入指令等。
        • 内中断与外中断的联系与区别

      • 2. 中断处理的过程
        • 外中断处理流程如下:

        其中第(1)~(3)步是在CPU进入中断周期后,由硬件(中断隐指令)自动完成的;(4)~(9)步由中断服务程序完成。

        • (1)关中断。CPU响应中断后,首先要保护程序的现场状态,在保护现场的过程中,CPU不应响应更高级中断源的中断请求。否则,若现场保存不完整,也就不能正确地恢复并继续执行现行程序。
        • (2)保存断点。为保证中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来的程序的断点(即程序计数器PC)保存起来。
        • (3)引出中断服务程序。其实质是取出中断服务程序的入口地址送入程序计数器PC。
        • (4)保存现场和屏蔽字。进入中断服务程序后,首先要保存现场,现场信息一般是指程序状态字寄存器PSWR和某些通用寄存器的内容。
        • (5)开中断。允许更高级中断请求得到响应。
        • (6)执行中断服务程序。这是中断请求的目的。 中断服务程序是专门为中断设计的,在中断事件发生时执行的专用子程序,一般分为:保护现场、执行操作、恢复现场这些部分。
        • (7)关中断。保证在恢复现场和屏蔽字时不被中断。
        • (8)恢复现场和屏蔽字。将现场和屏蔽字恢复到原来的状态。
        • (9)开中断、中断返回。中断服务程序的最后一条指令通常是一条中断返回指令, 使其返回到原程序的断点处,以便继续执行原程序。
    • 1.3.3 系统调用
      • 定义:系统调用是指用户在程序中调用操作系统所提高的一些子功能,系统调用可视为特殊的公共子程序。
      • 按功能分类:
        • 设备管理。完成设备的请求或释放,以及设备启动等功能。
        • 文件管理。完成文件的读、写、创建及删除等功能。
        • 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
        • 进程通信。完成进程之间消息传递或信号传递等功能。
        • 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。
      • 系统调用执行过程:系统调用的处理需要由操作系统内核程序负责完成,要运行在核心态。 用户程序可以执行陷入指令(又称访管指令或trap指令)来发起系统调用(执行陷入指令CPU状态从用户态进入核心态;处理完成后CPU状态从核心态回到用户态),请求操作系统提供服务。​
      • 核心态与用户态间的切换 若程序的运行由用户态转到核心态,则会用到访管指令,访管指令是在用户态使用的,所以它不可能为特权指令。
        • 用户态转向核心态的例子: 注意:由用户态进入核心态,不仅需要状态切换,而且所用的堆栈也可能需要由用户堆栈切换为系统堆栈,单这个系统堆栈也是属于该进程的。​
        • (1)用户程序要求操作系统的服务,即系统调用。
        • (2)发生一次中断。
        • (3)用户程序产生了一个错误状态。
        • (4)用户程序中企图执行一条特权指令。
        • (5)从核心态转向用户态由一条特权指令实现,这条指令也是特权指令,一般是中断返回指令。
  • 1.4 操作系统的体系结构
    • 1.4.1 大内核和微内核
      • 操作系统的核心态 为应用程序提供什么样的公共服务、如何提高公共服务形成了两种体系结构:大内核和微内核。
        • 大内核:提供了高性能的系统服务,但使得系统层次间界限模糊,接口不清晰,维护代价高,稳定性低。
        • 微内核:将最基本的功能(如进程管理)保留在内核,将一些服务(如文件系统)移到用户态执行。降低了内核设计的复杂性,移出内核的服务程序执行相互独立,交互则需借助微内核通信。使接口更加清晰,维护代价降低,保障了操作系统的可靠性(稳定性),但是系统性能下降。 为解决操作系统内核代码难以维护的问题,即大内核的接口不够清晰、层次模糊的问题,提出了微内核的体系结构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

锐捷端口安全实验配置

端口安全分为IPMAC绑定、仅IP绑定、仅MAC绑定 配置端口安全是注意事项 如果设置了IPMAC绑定或者仅IP绑定,该交换机还会动态学习下联用户的MAC地址 如果要让IPMAC绑定或者仅IP绑定的用户生效,需要先让端口安全学习到用户的MAC地址,负责绑定不生…

如何参与一个开源项目!

今天教大家如何给开源项目提交pr,成为一名开源贡献者。pr是 Pull Request 的缩写,当你在github上发现一个不错的开源项目,你可以将其fork到自己的仓库,然后再改动一写代码,再提交上去,如果项目管理员觉得你…

【建议收藏】回收站数据恢复如何操作?3个方案帮你恢复删除的文件

在使用电脑时,我们经常会清理不需要的文件数据。电脑回收站被清空了,但是里面有我们重要的数据,回收站数据恢复如何操作?不如试试下面的3个方案,一起来了解一下回收站数据恢复吧! 一、注册表恢复回收站数据…

电脑视频转换成mp4格式,视频格式转换器转换

怎么把电脑视频转换成mp4格式?使用视频转换器,可以转换来自各种设备的音视频格式,包括相机、手机、视频播放器、电视、平板电脑等。因此,音视频爱好者都可以使用它在各种设备上播放或在社交平台上分享。 主要人群及作用&#xff1…

BHQ-2 NHS,916753-62-3作为各种荧光共振能量转移DNA检测探针中淬灭部分

英文名称:BHQ-2 NHS CAS:916753-62-3 外观:深紫色粉末 分子式:C29H29N7O8 分子量:603.59 储存条件:-20C,在黑暗中 结构式: 凯新生物产品简介: 黑洞猝灭剂-2&#…

pytorch初学笔记(九):神经网络基本结构之卷积层

目录 一、torch.nn.CONV2D 1.1 参数介绍 1.2 stride 和 padding 的可视化 1.3 输入、输出通道数 1.3.1 多通道输入 1.3.2 多通道输出 二、卷积操作练习 2.1 数据集准备 2.2 自定义神经网络 2.3 卷积操作控制台输出结果 2.4 tensorboard可视化 三、完整代码 一、torc…

NestJS 使用体验 | 不如 Spring Boot

本博客站点已全量迁移至 DevDengChao 的博客 https://blog.dengchao.fun , 后续的新内容将优先在自建博客站进行发布, 欢迎大家访问. 文章目录前言正文开发体验运行体验总结相关内容推广前言 公司里近期在尝试部署一些业务到阿里云的函数计算上, 受之前迁移已有的 Spring Boot…

TestStand-调试VI

文章目录调试VI调试VI 在LabVIEW PASS/FAIL TEST步骤中放置一个断点。 ExecuteRun MainSequence。执行在LabVIEW PASS/FAIL处暂停测试步骤。 3.完成以下步骤来调试LabVIEW PASS/FAIL TEST VI步骤。 a.在TestStand的调试工具栏上单击step into(步进)…

System V IPC+消息队列

多进程与多线程 使用有名管道实现双向通信时,由于读管道是阻塞读的,为了不让“读操作”阻塞“写操作”,使用了父子进程来多线操作, 1)父进程这条线:读管道1 2)子进程这条线:写管道2…

【二叉树的顺序结构:堆 堆排序 TopK]

努力提升自己,永远比仰望别人更有意义 目录 1 二叉树的顺序结构 2 堆的概念及结构 3 堆的实现 3.1 堆向下调整算法 3.2 堆向上调整算法 3.3堆的插入 3.4 堆的删除 3.5 堆的代码实现 4 堆的应用 4.1 堆排序 4.2 TOP-K问题 总结: 1 二叉树的顺序结…

分享几招教会你怎么给图片加边框

大家平时分享图片的时候,会不会喜欢给照片加点装饰呢?比如加些边框、文字或者水印之类的。我就喜欢给图片加上一些边框,感觉加了边框的照片像裱在相框中的感觉似的,非常有趣。那么你知道如何给图片加边框吗?不知道的话…

【Nginx】01-什么是Nginx?Nginx技术的功能及其特性介绍

目录1. 介绍1.1 常见服务器的对比1)IIS2)Tomcat3)Apache4)Lighttpd1.2 Nginx的优点(1) 速度更快、并发更高(2) 配置简单、扩展性强(3) 高可靠性(4) 热部署(5) 成本低、BSD许可证2. Nginx常用功能2.1 基本HTTP服务2.2 高级HTTP服务…

华为数通2022年11月 HCIP-Datacom-H12-821 第二章

142.以下关于状态检测防火墙的描述,正确是哪一项? A.状态检测防火墙需要对每个进入防火墙的数据包进行规则匹配 B.因为UDP协议为面向无连接的协议,因此状态检测型防火墙无法对UDP报文进行状态表的匹配 C.状态检测型防火墙只需要对该连接的第一…

性能测试-CPU性能分析,IO密集导致系统负载高

目录 IO密集导致系统负载高 使用top命令-观察服务器资源状态 使用vmstat命令-观察服务器资源状态 使用pidstat命令-观察服务器资源状态 使用iostat命令-观察服务器资源状态 IO密集导致系统负载高 stress-ng -i 10 --hdd 1 --timeout 100-i :有多少个工作者进行&#…

函数的极限:如何通过 δ 和 ϵ 来定义一个连续的函数

连续的定义 维基百科给出的定义: 连续函数(英语:Continuous function)是指函数在数学上的属性为连续。直观上来说,连续的函数就是当输入值的变化足够小的时候,输出的变化也会随之足够小的函数。 所以不要直…

51单总线控制SV-5W语音播报模块

单总线控制SV-5W语音播报模块SV-5W语音播报模块SV-5W语音播报模块简介工作模式说明模块配置接线驱动部分代码效果展示SV-5W语音播报模块 SV-5W语音播报模块简介 DY-SV5W是一款智能语音模块,集成IO分段触发,UART串口控制,ONE_line单总线串口控…

macOS monterey 12.6.1安装homebrew + nginx + php + mysql

效果图 主要步骤 安装homebrew使用brew安装nginxphpmysql详细步骤 参考“Homebrew国内如何自动安装(国内地址)(Mac & Linux)”安装brew, 命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cu…

[附源码]java毕业设计网上学车预约系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

教你十分钟在Linux系统上快速装机并安装Ansible

PS:本教程建立在VMware软件上的使用上,Linux版本为centos7或者centos8都可以。 一、看发行版本 cat /etc/redhat-release 二、修改主机名 hostnamectl set-hostname centos8 三、自动获取IP地址 nmcli connection modify ens160 autoconnect yes 四、设置…

软件设计(一):统一建模语言基础知识

1.UML简介 1.1 UML简介 UML语言是一种可视化的标准建模语言,它是一种分析和设计语言,通过UML可以构造软件系统的蓝图。 1.2 UML的结构 1.2.1 视图(view) 1.2.2 图(daigram) 用例图 类图 对象图 包图…