当前位置: 首页 > news >正文

Linux进程1.0--task_struct

1.硬件冯诺依曼体系结构:

单个分析:

数据流向:数据必须先进入输入设备,再到存储器,然后由存储器给控制器,控制器收到以后进行相应的处理后,再传回存储器,存储器最终传给输出设备!

 

存储效率:一般情况下在存储的生态中,距离cpu越远的设备,它所对应的容量会越来越大,效率会越来越低!

存储器是冯诺依曼体系结构中的核心地位

问题:1.一个程序要运行,必须要先加载到内存中运行?为什么?

答:正是因为冯诺依曼体系结构规定!(所有软件设计都必须遵守硬件结构。硬件是计算机的底线和边界)

2.为什么写的进度条,默认显示的数据,是可能会缓存起来的?在哪里缓存?

答:缓存在内存,遵守了体系结构,缓存是正常的。

2.软件:操作系统:

操作系统是一款进行管理的软件!它管理着硬件和软件

问题:· 操作系统为什么管理?

计算机是一个层状结构,所有硬件要和软件配合的使用,要存在对应的驱动程序!

操作系统要帮助用户,管理好西面的软硬件资源!

给用户提供一个稳定、高效、安全的运行环境。

所以核心作用:操作系统通过管理好底层的软硬件资源(手段),为用户提供一个良好的执行环境(目的)

· 操作系统是什么?

作为一名用户平时用的都是程序员开发的客户端,并不是操作系统。但是用户并不可以直接绕过操作系统去使用其他app客户端。

操作系统里面,会有各种数据。可是,操作系统不相信任何的用户!因此操作系统为了保证自己的数据安全,也为了保证给用户能够提供服务,操作系统以接口的方式给用户提供调用的入口。来获取操作系统内部的数据。

这里提到的接口,其实就是操作系统提供的用“c语言”实现的,自己内部函数调用---系统调用!所有访问操作系统的行为,都只能通过系统调用完成!这种接口实现就叫系统编程!

·操作系统如何管理好软硬件资源?

先描述再组织!!!

3.进程:

一个已经加载到内存的程序就叫做进程(任务)--也可以说是正在运行的程序叫做进程。

下图可以看得出来,一个操作系统,不仅仅只能运行一个进程,可以同时运行多个进程。

这里的属性值:是进程编号、进程状态、优先级、相关指针信息....

各个pcb之间的连接用指针进行穿行的连接起来,所以可以形成一个单链表。一个进程如果是先后的,它在系统中进行排队是进程的PCB再进行排队,等排到了,PCB会调出相应的数据和代码。

Linux操作系统下的PCB是:task_struct

task_struct 内容分类

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

在Linux当中:用指令ls /proc可以看见会有很多的蓝色文件,这些都为目录,基本都是数字命名,这些数字其实就是属性里面的PID(标识符),这中目录里面包含着进程的基本所有属性

知识点:进程和线程的区别?

​​​​​​​进程是程序执行活动,是资源分配和调度基本单位,有独立资源,调度开销大,多个进程可并发或并行执行。线程是进程内执行单元,是CPU调度基本单位,共享进程资源,调度开销小,同一进程的多个线程能并发或并行执行,协作更高效。

(未完结)

相关文章:

  • 分支与循环(上)
  • OpenCV基础【图像和视频的加载与显示】
  • 超声重建,3D重建 超声三维重建,三维可视化平台 UR 3D Reconstruction
  • 链表·简单归并
  • 基于SpringBoot+Vue的毕业论文管理系统+LW示例参考
  • Vue:Vue+TS学习笔记
  • Linux第三次练习
  • 【后端】【django】【related_name】`related_name` 的作用
  • 召回度、准确度
  • Java基础面经
  • PyTorch 深度学习实战(14):Deep Deterministic Policy Gradient (DDPG) 算法
  • 【推荐项目】052-用水监控管理系统
  • 【Godot】Window类
  • 【SpringMVC】常用注解:@CookieValue
  • 股票查询系统
  • C#生产型企业ERP系统管理软件PCB行业ERP进销存MRP管理系统BOM管理
  • python---序列 (str,list,tuple)
  • RBAC 模型的简单实现
  • Mamba组件:状态空间模型简介
  • 使用 PerformanceObserver 实现网页性能优化的最佳实践
  • 国务院新闻办公室发布《新时代的中国国家安全》白皮书
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查
  • 今起公开发售,宁德时代将于5月20日在港股上市
  • 14岁女生瞒报年龄文身后洗不掉,法院判店铺承担六成责任
  • 中国中古史集刊高质量发展论坛暨《唐史论丛》创刊四十周年纪念会召开
  • 陕西澄城打造“中国樱桃第一县”:从黄土高原走向海外,年产值超30亿