您的位置:首页 > 娱乐 > 明星 > 动漫设计是什么_济南网页设计培训_北京搜索引擎优化seo_有品质的网站推广公司

动漫设计是什么_济南网页设计培训_北京搜索引擎优化seo_有品质的网站推广公司

2025/1/10 16:27:23 来源:https://blog.csdn.net/m0_63562631/article/details/145043088  浏览:    关键词:动漫设计是什么_济南网页设计培训_北京搜索引擎优化seo_有品质的网站推广公司
动漫设计是什么_济南网页设计培训_北京搜索引擎优化seo_有品质的网站推广公司

目录

1. 进程的基本概念

2. 进程是如何管理的 

2.1 PCB中大概有那些信息 

3. 虚拟地址空间 

4. 进程间通信 


1. 进程的基本概念

操作系统是一个搞管理的软件

1.对下,要管理各种硬件设备.
2.对上,要给应用程序提供一个稳定的运行环境.

进程(process), 是一个正在运行的程序.比如, 大家都有的qq, 或者电脑上运行的软件.

同一个程序,运行多次, 就可能会产生出多个进程.

平时所说的程序,指的是一些exe的可执行文件.

得是把程序跑起来,才会涉及到"进程".

 

程序, 是可执行文件.它只是在硬盘上的一个东西(静态的)
如果双击程序,此时操作系统, 就会把可执行文件中的数据和指令,加载到内存中,并且让
cpu去执行这里的指令,完成这一系列相关的工作后. 运行起来的(动态的)才叫做进程. 
可执行程序,只是占用了硬盘空间. 而进程,会消耗cpu资源,内存资源,硬盘,网络带宽...
 

2. 进程是如何管理的 

进程是系统分配硬件资源的基本单位.一台正在运行的计算机中, 大概率是包含很多进程的. 一旦东西多了, 就需要考虑"管理".

 

2.1 PCB中大概有那些信息 

1. pid进程的标识
同一个系统上,统一时刻中,每个进程的pid一定都是不同的.


 

有的时候,运行的是一个qq.exe,实际上可能会涉及到多个进程.

2. 内存指针

表示了该进程对应的内存资源, 是咋样的. 内存资源中要存啥? 最主要存储的就是从.exe可执行文件中加载过来的指令和数据, 还需要保存一些运行过程中的中间结果之类的数据.



 

3. 文件描述符表

这个和硬盘资源有关了.
硬盘是硬件.应用程序一般是没法直接接触到"硬件"这一层的.
实际上是操作系统抽象成"文件"这样的概念.程序操作的是文件.文件实际上是存储在硬盘上的
每个进程都会有一个"文件描述符表", 记录当前这个进程正在使用哪些文件.
当操作系统打开一个文件时, 就会产生一个"文件描述符"(就像文件的身份标识一样, 当然只是在进程内部生效的) 同时会使用文件描述符表(类似于数组),把文件描述符给组织起来.

4. pcb 中关于进程调度相关的属性.


 

 

(以下属性也就描述了进程对应的cpu资源的使用情况, 举个例子)


 

 

 

 

3. 虚拟地址空间 

每个进程,都需要有一定的内存资源. 早期的操作系统, 就是直接把物理内存分配给进程. 这就带来一个严重的问题: 一旦某个进程内部代码写出bug, 内存越界访问了,就可能会影响到别的进程!!!

C语言中, 有一个东西叫指针(指针是个变量, 存了个整数, 这个整数就是内存的地址)使用指针,尤其是解引用指针的时候,就需要保证你当前这个指针指向的是有效的内存. 否则, 解引用操作,就可能会引起, 未定义行为. 但是这个有效性是由人工保证的, 由人工保证就不靠谱. 就很容易出现指针越界了, 指向了不该指向的内存. 也就是俗称的野指针.

按照上述, 直接分配物理内存的模型, 此时一旦指针越界指向到其他位置, 很可能就会影响到别的进程的执行. 明明我写个程序, 程序里有bug, 结果程序一运行,这个程序自己没事, chrome崩溃/qq崩溃了, 这样就会非常影响系统的稳定性. 

后来, 操作系统就引入了“虚拟地址空间"这样的概念, 有效解决上述的这个问题.

 

 

 

4. 进程间通信 

通过虚拟地址空间, 把进程隔离开了,但是有时候,还需要让进程之间,产生点配合/联系. 也就是进程间通信. 就是在进程隔离性的基础上,开个口子,能够有限制的进行相互影响.


我会在后续的博客中继续补充.

进程间通信主要有两种

1)基于文件(公共硬盘区域)

2)基于网络socket(公共区域网卡)


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com