【计算机】CPU,芯片以及操作系统概述

1.CPU

什么是CPU?

CPU(Central Processing Unit)是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,相当于系统的“大脑”。

CPU的工作流程?

CPU 的工作流程分为以下 5 个阶段:取指令、指令译码、执行指令、访存读取数据和结果写回。

摩尔定律:

CPU这类的芯片,每隔18个月,继承程度就能提高一倍,计算机效率会提高一倍,同时成本下降一半。

什么是芯片?

芯片是一种集成电路,由早期的晶体管.....一步一步发展而来。

CPU和芯片的区别与联系?

CPU和芯片是计算机硬件中的两个不同概念。CPU是中央处理器,负责执行指令和处理数据,是计算机中最重要的组件之一。而芯片是一种集成电路,可以包含多个CPU、内存和其他电路,用于控制和处理电子设备中的信息。虽然CPU是芯片的一种,但不是所有芯片都包含CPU。CPU的功能包括顺序控制、操作控制、时间控制、数据加工,解释计算机指令以及处理计算机软件中的数据。

2.操作系统

主要任务:管理计算机系统中的软硬件资源,本质上也是软件。

由图可知,操作系统对下是管理各种硬件设备,对上是给应用程序提供稳定的运行程序,例如提供各种API。

内核:

一个操作系统 = 内核 + 配套的应用程序。

“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。简单来说,内核就是为操作系系统提供驱动、内存管理、网络、IO等功能的软件代码。


3.进程 (process)

什么是进程?

       进程是资源分配的基本单位,进程想要执行,就得消耗一定的资源,进程也叫任务

进程的三种基本状态:

(1)就绪状态

(2)执行转态

(3)阻塞状态

进程的创建状态:

        进程由创建而产生,创建进程是一个很复杂的过程,如首先进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息,然后为该进程分配运行时所必须的资源,最后,把该进程转入就绪状态并插入就绪队列中。

进程的终止状态:

        两个步骤:首先等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。

PCB(进程控制块) :描述进程的属性

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

        所谓创建进程,实质上创建进程实体中的PCB,而撤销进程,实质上是撤销进程的PCB。

       创建一个进程时,应首先创建其PCB,然后才能根据PCB中的信息对进程实施有效的管理和控制。当一个进程完成其功能之后,系统则释放PCB,进程也随之消亡。

PID :进程的身份标识

4.进程调度

(1) 当CPU为单核时,此时CPU同一时刻只能有一个进程上CPU执行,调度策略分为分时调度和抢占式调度,将所有的的就绪进程拍成一个就绪队列,分时调度即规定每个线程在CPU中执行一定时间如30ms(时间片),执行到8ms时无论执行完否,都得下CPU,让其他线程执行,轮转调度;而抢占式调度指的是进程之间按照某种原则规定形成优先级,优先级高的先上CPU执行,并且当有新进程到达时,如果他的优先级比正在执行的进程的优先级高,则又开始执行这个新进程,并发执行这个词出现,指的是同一时间多进程执行,而非同一时刻。

(2)当CPU为多核时,此时CPU同一时刻可以有多个进程上CPU执行,即并行执行,指的是同一时刻多进程同时执行。

如何管理进程?

  1. 进程的调度:在多个等待使用处理器的进程中,按照一定策略选择合适的进程,使之拥有处理器的使用权而进入运行。
  2. 进程的同步:对系统中的多个进程在对共享资源的使用出现竞争时进行控制和协调。
  3. 进程的控制:进程的创建和撤消以及进程状态的转换。
  4. 进程的安全:解决因多个进程争夺资源的使用权而进入 “死锁”的僵局,使系统安全顺利地运行。
     

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解

时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解 目录 时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现CEEMD互补集合经验模态分解时间序列信号分解 1.分解效果图 &#xff0…

Maven - MacOS 快速安装

配置信息 Maven 版本:3.6.3Maven 地址:Index of /dist/maven/maven-3IDEA:2023 Tips:Maven 版本最好不要超过 3.8.0,最新版 Maven 会不兼容一些配置信息。上面的 Maven 地址里可以选择自己想下载的版本(这…

SpringBoot中使用拦截器

拦截器属于MVC中的内容 SpringBoot项目,引入web依赖即可 需要访问的控制器 拦截器第一步实现HandlerInterceptor接口 第二步实现WebMvcConfigurer接口,并重写addInterCeptors()方法,将自定义的拦截器注册 也就是说这里add进去拦截的请求,才会进入到prehandle方法,这里放行的请…

iOS UWB——Neaby Interaction框架(一)

苹果自2019年在iPhone中引入UWB技术,伴随着的就是其应用软件框架Nearby Interaction框架的升级。Nearby Interaction框架,是一个功能强大且易于使用的iOS空间感知能力。通过NI框架,支持开发者和配件制造商将对象检测和设备激活等功能整合到应…

rust生命期

一、生命期是什么 生命期,又叫生存期,就是变量的有效期。 实例1 {let r;{let x 5;r &x;}println!("r: {}", r); }编译错误,原因是r所引用的值已经被释放。 上图中的绿色范围’a表示r的生命期,蓝色范围’b表示…

Koa处理请求数据

在开发中,后端接收到请求参数后,需要解析参数。请求分为很多种类型,比如常见的get和post。 请求参数 Koa本身可以解析get请求参数,不能解析post请求参数。例如: router.get(/api/get/userInfo, async (context) >…

计算机网络(四):网络层

参考引用 计算机网络微课堂-湖科大教书匠计算机网络(第7版)-谢希仁 1. 网络层概述 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输 要实现网络层任务,需要解决以下主要问题 网络层向运输层提供怎样的服务 (“…

Origin分段显示柱状图

注意这里生成的是柱状图,而不是直方图。因此用到的是plot -> column/bar/pie -> stacked column: 而不是Statistical->histogram。 先上最终的作图效果: 单个柱的柱状图 第一步先填充数据,如图左所示,然后选…

Android shape记录

之前一直觉得dataPath很好用&#xff0c;可以画各种矢量图。今天发现用shape画图也不错&#xff0c;记录一下自己用shape画的图。 一般使用shape就是定义形状、stroke边、solid内部、corners圆角等&#xff0c;代码 <?xml version "1.0" encoding "utf-8&q…

IntelliJ IDEA 常用快捷键

目录 一、IDEA 常用快捷键 1 通用型 2 提高编写速度 3 类结构、查找和查看源码 4 查找、替换与关闭 5 调整格式 二、Debug快捷键 三、查看快捷键 1、已知快捷键操作名&#xff0c;未知快捷键 2、已知快捷键&#xff0c;不知道对应的操作名 3、自定义快捷键 4、使用…

【python的输入】sys.stdin与sys.argv

在老师的课堂里碰到了sys.stdin与sys.argv&#xff0c;虽然是很简单的东西&#xff0c;还是花了大半天的时间才勉强理解。在这里记录一下学习过程&#xff0c;方便以后用到复习。 一、sys.stdin 根据python3 library里的解释&#xff0c; sys.stdin可用于所有交互式的输入。 …

音频编辑软件Steinberg SpectraLayers Pro mac中文软件介绍

Steinberg SpectraLayers Pro mac是一款专业的音频编辑软件&#xff0c;旨在帮助音频专业人士进行精细的音频编辑和声音处理。它提供了强大的频谱编辑功能&#xff0c;可以对音频文件进行深入的频谱分析和编辑。 Steinberg SpectraLayers Pro mac软件特点 1. 频谱编辑&#xff…

数据在内存中的存储(一个新手的理解)

目录 1.整数在内存中的存储 2.大小端字节序和字节序判断 2.1什么是大小端&#xff1f; 2.2为什么有大小端呢&#xff1f; 2.3那怎么知道编译器是什么存储呢&#xff1f; 2.4几个有趣的小练习 3.浮点数在内存中的存储 3.1练习 3.2浮点数的储存 3.2.1 浮点数存的过程…

【Java-LangChain:使用 ChatGPT API 搭建系统-4】评估输入-分类

第三章&#xff0c;评估输入-分类 如果您正在构建一个允许用户输入信息的系统&#xff0c;首先要确保人们在负责任地使用系统&#xff0c;以及他们没有试图以某种方式滥用系统&#xff0c;这是非常重要的。 在本章中&#xff0c;我们将介绍几种策略来实现这一目标。 我们将学习…

pytorch之nn.Conv1d详解

自然语言处理中一个句子序列&#xff0c;一维的&#xff0c;所以使用Conv1d

开启创意思维,畅享Mindomo Desktop for Mac思维导图之旅

在数字化时代&#xff0c;我们需要一个强大而直观的工具来整理和展现我们的思维。Mindomo Desktop for Mac&#xff08;Mindomo&#xff09;作为一款免费的思维导图软件&#xff0c;将为您提供卓越的创意思维体验。 Mindomo拥有直观的界面和丰富的功能&#xff0c;让您能够方便…

[React] Zustand状态管理库

文章目录 1.Zustand介绍2.创建一个store3.使用方法3.1 获取状态3.2 更新状态3.3 访问存储状态3.4 处理异步数据3.5 在状态中访问和存储数组3.6 持续状态 4.总结 1.Zustand介绍 状态管理一直是现代程序应用中的重要组成部分, Zustand使用 hooks 来管理状态无需样板代码。 更少…

JVM篇---第一篇

系列文章目录 文章目录 系列文章目录一、知识点汇总二、知识点详解:三、说说类加载与卸载一、知识点汇总 JVM是Java运行基础,面试时一定会遇到JVM的有关问题,内容相对集中,但对只是深度要求较高. 其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践…

python二次开发CATIA:为选中元素上色

先打开一个零件文档&#xff0c;然后用鼠标选中元素&#xff0c;再运行如下python程序&#xff1a; import win32com.client import pywintypes # 导入pywintypes模块 import random # 启动CATIA应用 catia win32com.client.Dispatch(CATIA.Application) catia.visible1try:…

python中实现定时任务的几种方案

目录 while True: sleep()Timeloop库threading.Timersched模块schedule模块APScheduler框架Celery框架数据流工具Apache Airflow概述Airflow 核心概念Airflow 的架构 总结以下几种方案实现定时任务&#xff0c;可根据不同需求去使用不同方案。 while True: sleep() 利用whil…