【Linux】OS和进程概念

news2025/8/12 7:42:42

在这里插入图片描述

文章目录

  • 1.冯诺依曼体系结构
  • 2. 操作系统(Operator System )
    • 概念
    • 总结
  • 3. 进程
    • 描述进程-PCB
    • task_struct-PCB的一种
    • task_ struct内容分类
    • 见见进程


1.冯诺依曼体系结构

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

image-20221113102834505

我们日常使用的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系

注意:这里的存储器指的是内存,而不是硬盘(外设)!

内存:掉电易失(临时存储),但速度相对快!

运算器+控制器+其他=CPU

CPU:在读写的时候,在数据层面只与内存打交道,不为什么,就是为了提高整机效率!

输入设备:键盘,鼠标,扫描仪 …

输出设备:屏幕,打印机 …

硬盘:外设,永久存储,速度较慢!

CPU其实没有大家想象的那么聪明,相反,其实它很笨,只能被动的接收别人的指令,别人的数据。

通过指令去执行,从而达到了计算数据的目的

所以CPU必须要有认识指令的能力

从而决定了它本身就有自己的指令集:精简指令集+复杂指令集

所以我们写代码,编译的代码的本质就是生成让CPU认识的二进制可执行程序(指令)

image-20221113110649643


2. 操作系统(Operator System )

概念

所谓的操作系统其实就是一个进行软硬件资源管理的软件!!!

在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的“搞管理”的软件

细分化其中操作系统包括 :

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库, shell程序等等)

设计OS的目的

  • 与硬件交互,管理所有的软硬件资源
  • 为用户程序(应用程序)提供一个良好(稳定,良好,安全)的执行环境

image-20221113121936735


那操作系统是怎么进行管理的呢?

管理的本质又是什么呢?

下面给大家举个例子:

image-20221113124727590

image-20221113131109076


总结

​ 计算机管理硬件

  • 描述起来,用struct结构体
  • 组织起来,用链表或其他高效的数据结构

3. 进程

基本概念

根据维基百科的定义,进程(Process)是计算机中已运行程序的实体。用户下达运行程序的命令后,就会产生进程。进程需要一些资源才能完成工作,如CPU使用时间、存储器、文件以及I/O设备,且为依序逐一进行,也就是每个CPU核心任何时间内仅能运行一项进程。

课本概念:程序的一个执行实例,正在执行的程序等
内核观点:担当分配系统资源(CPU时间,内存)的实体

相信大家看到这样的定义瞬间都不理解,或者概念很模糊,接下来看我给你举个例子!

image-20221113135842240

描述进程-PCB

进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
课本上称之为PCB(process control block), Linux操作系统下的PCB是: task_struct

task_struct-PCB的一种

  • 在Linux中描述进程的结构体叫做task_struct。
  • task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息

task_ struct内容分类

  • 标示符: 描述本进程的唯一标示符,用来区别其他进程。
  • 状态: 任务状态,退出代码,退出信号等。
  • 优先级: 相对于其他进程的优先级。
  • 程序计数器: 程序中即将被执行的下一条指令的地址。
  • 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
  • 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
  • I/ O状态信息: 包括显示的I/O请求,分配给进程的I/ O设备和被进程使用的文件列表。
  • 记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
  • 其他信息

见见进程

程序运行的时候,可以通过

$ ps ajx |grep 程序名

来进行查看当前运行的进程

image-20221113141653607

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

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

相关文章

微机原理实验:字符转换为ASCII码

随记! 要求: 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的AS…

JS高级(四):正则表达式、常见的特殊字符、案例、预定义类、正则替换

JavaScript高级(四)一、正则表达式1.它有什么作用?2.创建正则表达式(1)利用RegExp对象来创建(2)利用字面量创建3.测试正则表达式二、特殊字符1.^和$匹配开头和结尾2.[ ]字符类3.量词符三、用户名…

有线热电偶温度验证系统

在本文中,我们将介绍使用有线热电偶温度验证系统的一些优势,并将虹科Ellab的E-Val™ Pro与市场上可用的传统有线系统(验证仪)进行比较分析。 虹科E-Val Pro是一个高度直观的基于电缆的系统。设计用于各种应用,如冻干、…

数字化时代,企业为什么需要商业智能BI?

数字化时代的到来,数据资产已经成为第五大生产要素,数据是企业生产、经营和决策的重要因素。为提升企业经营状况的感知能力,数据分析应运而生,数据获取的及时性、准确性也需要更加系统些,此时,成熟的商业智…

EasyExcel代码层面设置写出的Excel样式、以及拦截器策略的使用、自动列宽设置、EasyExcel默认设置详解

一、概述 虽然EasyExcel已经提供了一系列注解方式去设置样式。 但是如果没有实体类,或者想要更精确的去设置导出文件的Excel样式的时候就需要在代码层面去控制样式了。 二、使用已有拦截器自定义样式 主要步骤: 创建Excel对应的实体对象创建一个sty…

注意 ! !|95% 的应用程序中发现错误配置和漏洞

业内权威机构 Synopsys 最近发布了一项研究报告,结果表明在进行4300次测试后,发现95%的应用程序中都至少都有一个影响安全的漏洞或配置错误,其中高危漏洞占20%,严重漏洞则占4.5%。在此次研究中,82% 的测试目标是 Web 应…

调用链路上千条,如何观测 Nacos 的运行状态

作者:涌月 背景 随着近年来微服务体系发展,微服务上下游链路的越来越复杂,在阿里云的线上实践场景中,我们发现使用微服务架构的公司的业务动辄会出现上千条调用链路,排查问题代价巨大。 在这种背景下,阿…

灰鸽子木马特征值免杀

文章目录木马特征值免杀一. 木马特征值免杀0x01. 灰鸽子配置生成木马0x02. 使用MyCCL复合特征码定位器反复缩小目标进行定位0x03. 直到定位到很小的区间0x04. 用工具将文件偏移地址0009B9C3转换成内存地址0049C5C30x05. 使用OD跳转特征值语句的执行顺序以实现免杀0x06. 将修改后…

【深入浅出Spring6】第五期——循环依赖和反射机制

一、Bean的循环依赖问题 什么是循环依赖? 类似于A依赖B,B又依赖A,这样就构成了依赖闭环 需求:我们创建两个类,彼此内置对方为私有属性,我们查看是否可以正常输出 $ singleton setter产生的循环依赖 编写我…

(八)Bean的生命周期

文章目录环境什么是Bean的生命周期为什么要知道Bean的生命周期Bean生命周期之5步Bean生命周期之7步Bean生命周期之10步三个点位详解:点位1点位2点位3演示程序Bean的作用域不同,管理方式不同自己new的对象如何让Spring管理上一篇:(…

UE4 回合游戏项目 20- 添加人物被攻击的动画

在上一节(UE4 回合游戏项目 19- 添加血量UI)基础上继续添加人物被攻击时播放被攻击动画的功能。 效果:(当玩家被攻击时,播放相应的受到伤害的动画) 步骤: 1.打开“1lantu”,在事件图…

艾美捷试剂级SM-102解决方案

LNP是一种多组分系统,通常由可电离脂质或阳离子类脂质化合物、辅助脂质、胆固醇、保护剂聚乙二醇-脂质共轭物组成。 脂质纳米颗粒(LNP)是mRNA药物常用的载体。目前,BioNTech/辉瑞和 Moderna的mRNA疫苗都采用LNP作为运输载体&#…

SpringMVC ---- RESTful

SpringMVC ---- RESTful1. RESTful简介a>资源b>资源c>资源2. RESTful的实现3. HiddenHttpMethodFilter1. RESTful简介 REST:Representational State Transfer,表示层资源状态转移。 a>资源 资源是一种看待服务器的方式,即&…

ECM:敏感文档控制的秘密武器

ECM:敏感文档控制的秘密武器 您的企业每天都会创建和处理数百个文档。这些文件详细说明了企业流程、产品规格,并为其他员工和客户提供指导。 每天都有大量文档流入和流出您的组织,有一件事始终保持不变:那就是组织内部和外部的…

Docker零基础快速入门(通俗易懂)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 Docker一、安装Docker二、配置镜像加速器三、Docker服务命令四、Docker镜像命令五、Docker容器命令六、Docker容器数据卷七、Docker部署应用…

view的context一定是Activity吗

最近在使用glide加载图片的时候出现“Caused by: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity”,但明明在使用glide之前已经进行了Activity是否destroy的判断,为什么还会发生这个crash呢?注意到A…

【快速上手系列】使用idea调百度AI接口实现内容审核(鉴黄)功能

【快速上手系列】使用idea调百度AI接口实现内容审核(鉴黄)功能 一、文本审核 步骤 1、百度AI开放平台 登录后点击控制台 点击应用列表——点击创建应用 填写一下信息然后创建 也可以配置审核策略 策略配置页面 然后回到概览——领取免费资源&#xf…

threeJS嵌入可交互的普通页面

效果图:1.这是我将一个地图当作地面,外面再包一个天空盒就更好看了 2.上面的例子可能不够直观,下面这个例子是嵌入的bilibili官网,嵌入的网页内容可以正常交互 关键 关键是用到了CSS3DRenderer渲染器。CSS3DRenderer仅仅关注普通的DOM元素&a…

【计算机网络】无线局域网详解

文章目录无线局域网IEEE802.11IEEE802.11的MAC帧头有固定基础设施的无线局域网无固定基础设施无线局域网的自组织网络VLAN传统局域网的局限VLAN虚拟局域网基本概念virtual local area networkVLAN 实现🍃博主昵称:一拳必胜客 🌸博主寄语&…

数据增强方法汇总

数据增强1.有监督数据增强1.1 单样本数据增强augly安装augly使用方法1.2 多样本数据增强1.2.1 SMOTEpython实现1.2.2 SamplePairingpython实现1.2.3 mixuppython实现2.无监督数据增强2.1 GAN2.2 Diffunsion2.3 Autoaugmentation1.有监督数据增强 1.1 单样本数据增强 augly安装…