Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)(上)

简介: Linux进程理解(冯诺依曼体系结构,操作系统,进程概念和基本操作)

要了解进程,我们首先要先了解两大知识点:

1.冯诺依曼体系结构(从硬件的角度来谈)

2.操作系统(从软件的角度来谈)

一.冯诺依曼体系结构

1.冯诺依曼体系结构的说明

2.冯诺依曼体系结构的价值

要了解冯诺依曼体系结构的价值,首先我们要先明确两点:

1.冯诺依曼之前的计算机的局限

可是在基于冯诺依曼体系结构设计的计算机出现之前

计算机有两大不足之处:

1.效率低

2.贵

为什么会这样呢?

这是从网上找的一张计算机的存储金字塔

它详细的说明了一个道理:

当时的计算机只有CPU和输入设备,输出设备

而且大家可能都听说过木桶原理

2.为什么在计算机体系结构当中要存在内存?

因此内存的引入使得我们的计算机的整体效率还不错,而且还比较便宜,这也就利于计算机的传播

使用计算机的人越来越多,因此才出现了互联网

至此,我们就将理解进程前冯诺依曼体系结构相关的前置知识介绍完毕

下面我们来谈一下第二个前置知识:操作系统

二.操作系统

1.什么是操作系统

这里的驱动程序是指:

操作系统可以通过调用对应底层硬件对应的驱动程序的接口来实现对底层硬件的访问与控制

因此把操作系统可以通过驱动程序来保证对硬件管理的高效性和成功率

2.操作系统如何进行管理

至此,我们就了解了操作系统是如何进行软硬件资源管理的了

那么接下来的问题是:

操作系统跟用户之间是什么关系呢?

下面我们就说明操作系统跟用户之间的关系:

3.为什么要有操作系统

4.系统调用接口和用户操作接口

至此,大家对于这张图片的理解就会更加深刻了

我们将理解进程前操作系统相关的前置知识介绍完毕了

下面我们正式进入进程的学习当中

三.进程理解

1.进程的概念

我们大家应该都知道我们windows系统当中的任务管理器

程序被加载到内存变成进程的时候,操作系统会给每一个进程分配一个用来存放该进程的结构体对象的数据,方便操作系统对进程进行管理!

下面这个就是描述进程信息的结构体

至此操作系统成功将进程的属性用PCB对象描述好了,

因此操作系统对于进程的管理就变成了对PCB对象的管理

因此:

进程=内核数据结构(不仅仅是PCB对象)+可执行程序

因此,所有对进程的控制和操作都只和进程的PCB对象有关,和进程的可执行程序无关

只要你愿意,你可以把PCB对象放入任何数据结构中进行管理!

2.task_struct结构体独特的链接方式

请注意:

一个task_struct可以被连入多种数据结构中!!!

这一点很重要,因为我们以后还要介绍运行队列,

这就是在不改变task_struct已经形成的链表结构的同时

还可以将其放入队列当中的原因

3.task_struct内容分类(粗略的谈一下)

那么task_struct里面都是什么呢?

我们先来粗略的谈一下

关于这里的这个pc指针或者eip寄存器

我们介绍一下它的作用

这些内容我们以后会详细介绍的

你说了这么多,总得让我们见一见进程吧

下面我们先来看一下进程基础的相关操作

四.进程基础的相关操作

1.查看进程

先生成一个process可执行程序

ps ajx | head -1 && ps -ajx | grep 可执行程序名字
• 1

在这里我们先执行了一个可执行程序:process

然后查看这个进程

ps ajx | head -1 && ps -ajx | grep 可执行程序名字 | grep -v grep

2.杀死进程

刚才我们说了ctrl+c退出一个进程

有些时候ctrl+c并不可行(下面我们就会见到这种情况的)

此时就需要我们去使用

kill -9 进程的PID

来杀死指定的进程

相关文章
|
6月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
389 0
|
6月前
|
Unix 物联网 Linux
都什么年代了,你还不懂啥是Linux操作系统
至于华为鸿蒙操作系统是不是独树一帜,这个留给各位阅读本文的网友们来讨论
167 0
|
6月前
|
安全 Linux iOS开发
linux属于什么操作系统
Linux是一种自由和开放源代码的操作系统,具有高度的灵活性和可定制性。与常见的操作系统如Windows和macOS相比,Linux具有自由、安全和稳定等优势。Linux已广泛应用于服务器、桌面电脑、超级计算机和嵌入式设备等领域,并且在未来的发展前景广阔。由于其自由和开放源代码的特性,Linux还促进了计算机技术和社区的发展,为全球的计算机用户提供了更多的选择和可能性。
|
6月前
|
安全 Ubuntu Unix
关于Linux操作系统,你必须要知道的事
我们可以看到无论是Debian还是Buildroot都有各自的特点,为客户提供了更大的选择空间和灵活性,大家可以根据自己的需求选择合适的版本来满足终端用户的体验和功能需求。从平技术将会一直关注更多更安全、灵敏、易于开发的Linux版本,做好适配工作,不断为客户带来“简单开发、方便应用”的使用体验。
|
6月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
6月前
|
Web App开发 缓存 Rust
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
854 0
Vanilla OS:下一代安全 Linux 发行版
|
12月前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
529 10
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
428 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
278 7