操作系统——什么是操作系统

news2024/11/12 13:15:40

文章目录

  • 操作系统的概念
  • 操作系统的特征
    • 并发和并行
    • 共享
    • 虚拟
    • 异步
  • 操作系统的功能
    • 管理计算机系统的资源
    • 作为用户和计算机硬件之间的接口
  • 操作系统的发展历程
  • 操作系统的运行环境
    • CPU运行模式
    • 异常和中断
    • 系统调用
  • 操作系统结构
  • 操作系统的引导
  • 虚拟机
  • 容器

操作系统的概念

操作系统是指控制和管理整个计算机系统的硬件和软件资源、合理的组织和调度计算机的工作与资源分配、进而为用户和其它软件提供方便接口与环境的程序集合,操作系统是计算机系统中最基本的系统软件。

操作系统的特征

并发和并行

  • 并发:并发是指计算机系统中在同一时间间隔(宏观)内运行多个程序。而在同一时刻(微观),单处理机的环境下实际仅能有一道程序执行,因此并发执行实际是通过分时交替实现的。在操作系统中引入进程的目的是使程序能并发的执行。
  • 并行:并行是指计算机系统在同一时刻运行多个程序,并行性需要有相关硬件的支持。

共享

共享是指计算机中的资源可供内存中多个并发执行的进行共同使用。共享可分为以下两种方式:

  • 互斥共享模式:当进程访问某个资源时,必须先提出请求,若此时该资源空闲,那么操作系统便将其分配给该进程使用,此后有其它进程要访问该进程时就必须等待,仅当资源被使用完并被释放时才能被另一个进程访问。这种资源共享模式就称为互斥共享,这种在一段时间内只允许一个进程访问的资源称为临界资源
  • 同时访问模式:某种资源允许在一段时间内被多个进程同时(类似于并发,通过分时实现)访问。这种访问模式就称为同时访问

并发和共享互为同时存在的条件:

  • 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题。
  • 若系统不能对资源共享实施有效的管理,则必将影响程序的并发执行,甚至根本无法并发执行。

虚拟

虚拟是指把一个物理上的实体变为若干逻辑上的对应物,用于实现虚拟的技术称为虚拟技术,虚拟技术分为以下两种:

  • 时分复用技术:如虚处理器技术,可以通过多道程序设计,采用让多道程序并发执行的方法,来分时复用一个处理器。虽然只有一个处理器,但每个程序都认为有一个专门的处理器为它服务。
  • 空分复用技术:如虚存储器技术,可以将一台计算机的物理存储器变为虚拟存储器,以便从逻辑上扩充存储器的容量。

异步

多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。只要程序运行的环境相同,操作系统就必须保证多次运行进程后都能获得相同的结果。

操作系统的功能

管理计算机系统的资源

  • 进程管理:在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理和进程调度等。
  • 内存管理:存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存利用率,主要功能包括内存分配与回收、地址映射、内存保护、内存共享以及内存扩充等。
  • 文件管理:计算机中的信息都是以文件形式存在的,操作系统中负责文件管理的部分称为文件系统,文件管理主要功能包括文件存储空间的管理、目录管理以及文件读写管理和保护等。
  • I/O管理:设别管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要功能包括缓冲管理、设备分配、设备处理和虚拟设备等。

作为用户和计算机硬件之间的接口

操作系统提供的接口主要分为两类,一类是命令接口,用户利用这些命令来组织和控制作业的执行;另一类是程序接口,程序员可以使用它们请求操作系统的服务。

  • 命令接口:使用命令接口进行作业控制的方式有两种,联机控制方式和脱机控制方式,按作业控制方式的不同,可将命令接口分为联机命令接口脱机命令接口
    • 联机命令接口:又称为交互式命令接口,它由一组键盘操作命令组成。用户通过控制台或终端输入操作指令,用户每输入一条命令,控制权就转交给操作系统的命令解释程序,然后由命令解释程序解析并执行输入的命令,之后控制台返回控制台或终端,此时用户又可输入下一条指令。
    • 脱机命令接口:又称批处理指令接口,它由一组作业控制命令组成,脱机用户不能直接干预作业的执行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起交给操作系统,系统调度到改作业时,由操作系统中的解释程序逐条解释执行作业说明书上的命令,从而间接的控制作业的执行。
  • 程序接口:程序接口由一组系统调用组成,用户通过在程序中使用这些系统调用来请求操作系统为其服务。

操作系统的发展历程

在这里插入图片描述

操作系统的运行环境

CPU运行模式

在计算机系统中,CPU通常执行两种不同性质的程序,一种是操作系统内核程序,另一种是用户程序。内核程序是用户程序的管理者,因此内核程序可以执行一些特权指令。

  • 特权指令:指不允许用户直接使用的指令。
  • 非特权指令:指允许用户使用的命令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,主要是为了防止用户程序对系统造成破坏。

在具体的实现上,将CPU的运行模式实现为用户态内核态,用户程序运行在用户态,操作系统内核运行在内核态。CPU变态的过程如下:

  • 计算机开机时,计算机内核开始运行,CPU处于内核态。
  • 内核态 → \rightarrow 用户态:操作系统执行一条特权指令,这个动作意味着操作系统将主动让出CPU使用权。
  • 用户态 → \rightarrow 内核态:由异常和中断引发,硬件自动完成变态过程。

异常和中断

异常和中断是CPU从用户态到内核态的唯一途径,当发生异常和中断时,运行在用户态的CPU会立即进入到内核态,这是通过硬件实现的。

在这里插入图片描述

当CPU在执行用户程序的第 i i i条指令时检测到一个异常事件,或者在执行第 i i i条指令后发现一个中断请求信号,则CPU打断当前用户程序,然后转到相应的异常或中断处理程序去执行。若异常或中断处理程序能够解决相应的问题,则在异常或中断处理程序的最后,CPU通过执行异常或中断返回指令,回到被打断的用户程序的第i条指令或第 i + 1 i+1 i+1条指令继续执行;若异常或中断处理程序发现是不可恢复的致命错误,则终止用户程序。通常情况下,对异常和中断的具体处理过程由操作系统完成。从CPU检测到异常或中断事件,到调出相应的处理程序,整个过程称为异常和中断的响应。CPU对异常和中断响应的过程可分为以下几个步骤:

  • 关中断:在保存断点和程序状态期间,不能被新的中断打断,因此要禁止响应新的中断,即关中断。
  • 保存断点和程序状态:为了能在异常和中断处理后正确返回到被中断的程序继续执行,必须将程序的断点和状态送到栈或特定寄存器中。
  • 识别异常和中断:异常大多采用软件识别方式,中断可以采用软件识别方式或硬件识别方式。
    • 软件识别方式是指CPU设置一个异常状态寄存器,用于记录异常原因。操作系统使用一-个统一的异常或中断查询程序,按优先级顺序查询异常状态寄存器,以检测异常和中断类型,先查询到的先被处理,然后转到内核中相应的处理程序。
    • 硬件识别方式又称向量中断,异常或中断处理程序的首地址称为中断向量,所有中断向量都存放在中断向量表中。每个异常或中断都被指定一个中断类型号。在中断向量表中,类型号和中断向量一一对应,因而可以根据类型号快速找到对应的处理程序。

系统调用

系统调用是操作系统提供给应用程序使用的接口,应用程序可以通过系统调用来请求获得操作系统内核的服务。相对于库函数而言,系统调用更为底层:

在这里插入图片描述

系统调用按功能大致可分为以下几类:

  • 设备管理。完成设备的请求或释放,以及设备启动等功能。
  • 文件管理。完成文件的读、写、创建及删除等功能。
  • 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
  • 进程通信。完成进程之间的消息传递或信号传递等功能。
  • 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。

系统调用必须使用某些特权指令才能完成,所以系统调用的处理需要由操作系统内核程序负责完成,要运行在核心态。用户程序可以执行陷入(访管)指令(CPU状态会从用户态进入内核态)来发起系统调用,请求操作系统提供服务。处理完成后,操作系统内核程序又会把CPU的使用权还给用户程序(CPU状态会从核心态回到用户态)。

在这里插入图片描述

操作系统结构

操作系统结构可以从不同方向划分,但从操作系统的发展来看,从操作系统的内核架构划分的方式得到了长足的发展。

在这里插入图片描述

内核是指最基本最核心的部分,实现内核功能的程序就是内核程序,根据内核程序的不同可以将内核划分为宏内核和微内核:

在这里插入图片描述

其中原语是一些可以被调用的公用小程序,它们各自完成一个规定的动作,它们的特点如下:

  • 处于操作系统的最底层,最接近硬件的部分。
  • 原语的运行具有原子性。
  • 运行的时间比较短,而且调用频繁。

定义原语的直接方法就是关闭中断,让其所有动作不可分割的完成后再打开中断。

操作系统的引导

操作系统是一种程序,程序以数据的形式存放在硬盘中,而硬盘通常分为多个区,一台计算机中又有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。常见操作系统的引导过程如下:

  • ①激活CPU、硬件自检、加载带有操作系统的硬盘:激活的CPU读取ROM中的引导程序,将指令寄存器置为BIOS的第一条指令,即开始执行BIOS的指令。启动BIOS程序后,先进行硬件自检,检查硬件是否出现故障。如有故障,主板会发出不同含义的蜂鸣,启动中止;如无故障,屏幕会显示CPU、内存、硬盘等信息。硬件自检后,BIOS开始读取启动顺序表(通过CMOS里保存的启动顺序,或者通过与用户交互的方式),把控制权交给启动顺序排在第一位的存储设备,然后CPU将该存储设备引导扇区的内容加载到内存中。
  • ②加载主引导记录MBR、扫描硬盘分区表并加载硬盘活动分区:硬盘以特定的标识符区分引导硬盘和非引导硬盘。如果发现一个存储设备不是可引导盘,就检查下一个存储设备。如无其他启动设备,就会死机。主引导记录MBR的作用是告诉CPU去硬盘的哪个主分区去找操作系统。MBR包含硬盘分区表,硬盘分区表以特定的标识符区分活动分区和非活动分区。主引导记录扫描硬盘分区表,进而识别含有操作系统的硬盘分区(活动分区)。找到硬盘活动分区后,开始加载硬盘活动分区,将控制权交给活动分区。
  • ③加载分区引导记录PBR、加载启动管理器。读取活动分区的第一个扇区,这个扇区称为分区引导记录(PBR),其作用是寻找并激活分区根目录下用于引导操作系统的程序(启动管理器)。分区引导记录搜索活动分区中的启动管理器,加载启动管理器,启动管理器即完整的操作系统初始化程序。
  • ④加载操作系统:执行启动管理器,加载操作系统。

在这里插入图片描述

虚拟机

虚拟机是一台逻辑计算机,是指使用虚拟化技术,将一台物理机虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统。有以下两种虚拟化方法:

在这里插入图片描述

它们的区别如下:

在这里插入图片描述

容器

​传统的虚拟机技术通过在物理硬件上运行虚拟化层,将物理资源(如处理器、内存、存储等)虚拟化为多个独立的虚拟机。每个虚拟机都有自己的操作系统和应用程序,它们在各自的虚拟环境中运行,并与物理硬件和其他虚拟机隔离开来。然而,传统虚拟机的运行需要占用较高的资源,包括磁盘空间、内存和处理器性能。每个虚拟机都需要完整的操作系统和应用程序副本,这在资源利用和启动时间上存在一定的开销。容器技术则是在虚拟化领域的进一步演进,它采用了更轻量级的虚拟化方式。容器技术利用操作系统的容器化功能(如Linux容器),通过隔离进程的命名空间、文件系统和资源控制组等功能,实现了应用程序的隔离和运行环境的虚拟化。

在这里插入图片描述

容器和虚拟机的区别如下:

在这里插入图片描述

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

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

相关文章

安全渗透知识总结二

目录 一、html实体编码 1、Unicode字符编码 2、字符的数字表示 3、常见实体编码 4、url 协议 主机 http状态码 http常用的状态码 端口 常见协议端口 查询参数 锚点 url字符 urlcode字符 绝对url和相对url 二、字符编码 Ascll字符集 html字符集 html的url编码 …

2023年华数杯C题

C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情感、社会行…

Docker-Compose编排与部署

目录 Docker Compose Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Docker Compose Docker Compose 的前身是 Fig,它是一个定义及运行多个 Dock…

【软考中项】系统集成项目管理工程师2023下半年报名考试攻略

软考中级系统集成项目管理工程师2023下半年考试时间: 2023年下半年软考中级系统集成项目管理工程师的考试时间为11月4日、5日。考试时间在全国各地一致,建议考生提前备考。共分两科,第一科基础知识考试具体时间为9:00到11:30;第二…

《信息系统项目管理师教程(第4版)》软考高级 第六章 项目管理概论知识点、思维导图整理

第六章 项目管理概论 考情分析 Part1 PMBOK的发展(无考点)Part2 项目基本要素 一、项目基础 1、独特的产品、服务或成果2、临时性工作3、项目驱动变更4、项目创造业务价值5、项目启动背景 (与组织的战略目标和项目的业务价值关联&#xff09…

木马病毒怎么回事?带你深度分析了解木马病毒!

一、病毒简介 SHA256:3110f00c1c48bbba24931042657a21c55e9a07d2ef315c2eae0a422234623194 MD5:ae986dd436082fb9a7fec397c8b6e717 SHA1:31a0168eb814b0d0753f88f6a766c04512b6ef03 二、行为分析 老套路,火绒剑监控: 这边可以看见创建了一个exe&#x…

Anaconda安装以及如何创建新环境

一、安装: 官网下载安装包:Anaconda | The World’s Most Popular Data Science Platform ok. 二、创建新的python环境: (这个在学习别人的开源代码时常用,因为自己的环境常常会与别人项目中的环境不兼容&#xff09…

Android Studio 屏幕适配

Android开发屏幕适配流程 首先studio中没有ScreenMatch这个插件的,下去现在这个插件 点击File->settings->Plugins->(搜索ScreenMatch插件),点击下载,应用重启Studio即可,如下图 在values下 创建dimens.xml&#xff0c…

[数据集][目标检测]遛狗不牵绳数据集VOC格式-1980张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1980 标注数量(xml文件个数):1980 标注类别数:5 标注类别名称:["dog","p…

Cpp9 — map和set

map和set STL分为序列式容器(vector、list、deque)和关联式容器(map、set) 序列式容器:数据与数据之间没有很强的联系。(各个数据之间没什么关联)。底层为线性序列的数据结构,里面…

Go语言入门:从零开始的快速指南

文章目录 引言Go语言的诞生背景Go 语言的特性安装Go语言环境集成开发环境安装第一个Go程序Go 源代码的特征解读 引言 Go语言(也称为Golang)是一种开源的、静态类型的编程语言,由Google开发。它的设计目标是简单、高效、安全、并且易于学习和…

使用docker 搭建nginx + tomcat 集群

创建3个Tomcat容器,端口分别映射到 8080,8081,8082,使用数据卷挂载,分别将宿主机目录下的 /opt/module/docker/tomcat3/ROOT1/,/opt/module/docker/tomcat3/ROOT2/,/opt/module/docker/tomcat3/ROOT2/ 挂载到 容器内部…

安防监控视频汇聚EasyCVR电子地图定位偏移是什么原因?

安防监控EasyCVR视频汇聚综合管理平台具有强大的数据接入、处理及分发能力,平台可提供视频监控直播、云端录像、云存储、录像检索与回看、告警上报与查询、平台级联、云台控制、语音对讲、电子地图、轨迹跟踪、H.265自动转码等视频能力。 在视频监控管理平台TSINGSE…

什么样的跨网文件安全交换系统 可实现安全便捷的文件摆渡?

进入互联网时代,网络的运算和数据管理能力助力各个行业高速发展,但同样带来了一些网络安全隐患,网络攻击、数据窃取、敏感信息泄露等问题。为此,我国出台了系列政策来全面提升银各行业系统网络安全整体防护水平,其中“…

微信小程序中的全局数据共享(状态管理)使用介绍

开发工具:微信开发者工具Stable 1.06 一、状态管理简介 微信小程序全局状态是指可以在不同页面之间共享的数据或状态。 它可以存储用户的登录状态、个人信息、全局配置信息等。 二、安装MobX 1、安装NPM 在资源管理器的空白地方点右键,选择“在外部…

在Volo.Abp微服务中使用SignalR

假设需要通过SignalR发送消息通知,并在前端接收消息通知的功能 创建SignalR服务 在项目中引用 abp add-package Volo.Abp.AspNetCore.SignalR在Module文件中添加对模块依赖 [DependsOn(...typeof(AbpAspNetCoreSignalRModule))] public class IdentityApplicati…

JavaEE 面试常见问题

一、常见的 ORM 框架有哪些? 1.Mybatis Mybatis 是一种典型的半自动的 ORM 框架,所谓的半自动,是因为还需要手动的写 SQL 语句,再由框架根据 SQL 及 传入数据来组装为要执行的 SQL 。其优点为: 1. 因为由程序员…

便捷省心的手机直播影视工具,畅享轻松电视娱乐时光

便捷省心的手机直播影视工具,畅享轻松电视娱乐时光 在快节奏的现代生活中,我们常常渴望能够以简单、省心的方式消遣自己,享受高品质的电视娱乐。幸运的是,随着技术的进步,便捷省心的手机直播影视工具应运而生。这些工…

原来设计师都在6个网站找素材~

设计师都在用的这些设计素材网站你知道吗?免费、商用真的很香,一定要收藏~ 菜鸟图库 https://www.sucai999.com/?vNTYxMjky 菜鸟图库是一个非常大的素材库,站内包含设计、办公、自媒体、图片、电商等各行业素材。网站主要为新手设计师提供…

网站无法访问的常见原因

有多种问题可能会阻止用户访问您的网站。本文将解决无法访问网站,且没有错误消息指示确切问题的情况,希望对您有所帮助。 无法访问网站的常见原因有: (1)DNS 设置不正确。 (2)域名已过期。 (3)空白或没有索引文件。 (4)网络连接问题。 DNS 设…