Linux 进程概念
创始人
2024-09-25 04:19:43
0

冯诺依曼体系结构


我们常见的计算机,大部分都遵守冯诺依曼体系结构

关于冯诺依曼的注意点

1.这里的存储器指的是内存

2.不考虑缓冲情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)

3.外设(输入或输出设备)要输入或者输出的数据,也只能写入内存或者从内存中读取。

4.综上所述,所有设备都只能直接和内存互动。

硬件部分:

a. 存储器

指的是内存,硬件级别的缓冲空间,在体系中为核心地位。

为什么要加一个存储器?

因为外设和中央处理器的速度代差太大了,如果去掉存储器,输入设备慢悠悠的输入,但是运算器却能非常快的完成计算,运算器运算完后直接交给输出设备,而输出设备却慢悠悠的输出,则CPU就只能等,则势必会拖慢计算机的速度。所以加入了存储器(内存)。

b.输入设备

鼠标,键盘,摄像头,麦克风,磁盘(文件的写入),网卡(信息的接收)等

c.输出设备

显示器,扬声器,磁盘 (文件的保存),网卡(信息的发送)等

d.运算器

对输入的数据进行计算任务(算术运算和逻辑运算);

e.控制器

对我们的计算硬件流程进行一定的控制

运算器+控制器=中央处理器(CPU)

上面这些都是一个个独立的个体,设备和设备之间必须用"线"连接起来,这些"线"分为 1. 系统总线 2. IO总线

存储金字塔

1.距离CPU越远的设备,他所对应的容量会越来越大,效率会越来越低

2.存储是分级的,

软件部分:

一个程序要运行,必须得先加载到内存中运行。为什么?

程序的代码和数据必须由中央处理器运算,而想要中央处理器处理数据,程序必须在内存中运行,因为中央处理器只从运存中读取数据。所以必须把程序从外设记载到内存中。冯诺依曼体系结构规定!

操作系统

操作系统是一款进行管理的软件。

管理的中的为什么,是什么,怎么办。 


 

概念

任何操作系统都包含一个基本的程序集合,称为操作系统(OS),笼统的理解,操作系统还包括:

1.内核(进程管理,内存管理,文件管理,驱动管理)

2.其他程序(函数库,shell程序等)

设计OS的目的 (为什么)

1.与硬件交互,管理所有的软硬件资源,操作系统帮助用户管理好下面的软硬件资源。

2.为用户程序(应用程序)提供一个良好的执行环境。

操作系统通过管理好下面的软硬件资源,为用户提供一个良好的操作环境。

所有访问操作系统的行为,都只能通过系统调用完成。

如何管理好底层的软件资源?(怎么做)

1.管理者和被管理者是不需要见面的

2.管理者在不见被管理者的情况下,如何做好的管理呢?只要能够得到管理信息,就可以在未来进行管理决策。——管理的本质:是通过对数据的管理,达到对人的管理。

3.管理者和被管理者都不见面,如何拿到对应的数据呢?

在操作系统中是先描述再组织的,管理任何对象,最终都可以转化成对某种数据结构的增删查改

定位

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

系统调用和库函数概念

1.在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分有操作系统提供接口,叫做系统调用。

2.系统调用在使用上,功能比较基础,对用户的要求相对比较高,所以,有些开发者可以对部分系统调用进行适当封装,从而形成了库,有了库就很有利于上层用户或者开发者进行二次开发。

进程


基本概念

一个已经加载到内存中的程序,就叫进程。

正在运行的程序叫做进程。

描述进程-PCB

任何一个进程,在加载到内存的时候,形成真正的进程时,操作系统要先创建描述进程的结构体对象 ——PCB(进程控制块)。描述进程的PCB结构体和该进程对应的代码和数据合起来叫进程PCB是由操作系统自己维护,代码和数据由程序员维护。

进程=内核PCB数据结构对象(描述你这个进程的所有的属性值)+你自己的代码和数据

task_struct

概念

在linux中描述进程的结构体叫做task_struct。

task_struct是linux内核的一种数据结构,他会被装载到RAM里并且包含着进程信息。

内容分类

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

Linux内核中,最基本的组织进程task_struct的方式,采用双向链表组织。

组织进程

可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。


相关内容

热门资讯

荣耀全明星龙巢服,探索这个独特... 荣耀全明星龙巢服是《荣耀全明星》这款游戏中的一种服务器类型。这种服务器可能具有特定的游戏模式、规则或...
平台管理服务器的主要功能是什么... 平台管理服务器主要用于集中管理和监控软件定义的数据中心内的所有虚拟机和物理机资源。它提供统一的界面,...
AI剪辑短视频以及账号管理矩阵... 目录前言一、系统有哪些功能?二、怎么开发前言通过AI剪辑短视频以及生成短视频ÿ...
微信充值资金是如何操作的? 微信钱要充值指的是需要为微信钱包增加资金,以便在微信平台上进行消费、转账或支付等操作。可以通过绑定的...
快手草稿箱功能究竟有何用途? 快手的草稿箱是该平台上的一个功能,允许用户保存未完成的或者尚未准备好发布的视频内容。用户可以在方便的...
为什么CS2游戏默认连接到香港... CS:GO默认进入香港服务器可能是因为玩家的地理位置、网络供应商路由优化、或是游戏内的服务器选择机制...
服务器与家用机的差异究竟在哪里... 服务器和家用机的主要区别在于设计目的、性能、稳定性和扩展性。服务器针对企业级应用优化,提供高性能处理...
两个u的服务器通常指的是运行U... 两个u的服务器通常指的是使用UDP协议的服务器。UDP协议是一种无连接的网络协议,它不需要建立和断开...
在开始调试服务器之前,有哪些关... 调试服务器前,需确保备份数据、检查硬件状态、准备网络连接、安装必要的软件工具,并制定详细的调试计划。...
为什么Windows 10需要... Windows 10需要管理员账户是为了提供系统级别的权限,以便进行安装软件、更改系统设置、管理其他...