admin管理员组文章数量:1564635
目录
- 1. 什么是进程
- 2. 进程的管理
- 3. 进程的虚拟地址空间
- 4. 进程间通信
1. 什么是进程
进程 (process),也叫做任务 (task),是一个抽象的概念。当我们双击一个应用程序,就会有一个进程在操作系统上运行,不妨打开你的任务管理器,里面就跑着一个个的进程。
进程屏蔽了一个程序运行的细节,实际上,一个应用程序运行起来需要各种文件的加载、调用各种硬件…这些操作系统都帮我们做好了,把它们都打包成了一个 “包”,也就是进程,这种假象正是通过抽象了一个进程的概念来完成的。因此我们平常要看一个应用程序是否正常运行,只需要观察这个进程即可,无需去观察它的底部细节。
同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。
2. 进程的管理
观察观察你的任务管理器,里面少说也同时跑着几十个进程。既然有这么多的进程在同时运行,就要把他们都安排明白了,这个活也交给了我们万能的操作系统。
首先,从何管理?
- 先描述:使用一个类 / 结构体,描述清楚这个东西的特征。
- 再组织:使用一个数据结构,把这些类 / 结构体都组织起来。
说到这里,你可能会有疑惑,类不是已经很好用了吗,为什么还要用结构体呢?
原因:类是面向对象语言的特征,在面向过程语言中是不存在的。进程管理是操作系统内核的功能,而操作系统内核又是 C 语言实现的,因此操作系统内核只认识 C 语言,C 语言中的结构体就是低配版的类。
这个结构体有一个专门的名字 -> PCB(进程控制块)(敲黑板,这个名字很重要,要牢记)。这个结构体里面就包含了一些进程的核心信息。
在操作系统内核中,又把若干的 PCB 通过双向链表的形式组织了起来。
至此,管理的宏观形式已经介绍完了,接下来,详细介绍一下 PCB 的内容(重点)。
PCB中的主要属性:
-
进程的身份表示 pid。这是用来区分不同进程的一个属性,每个进程都有
版权声明:本文标题:【JavaEE】详解 “进程” 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726222175a1061171.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论