如何为中山地区的企业创建并注册一个专业的网站?

摘要:中山企业网站设计,tk网站注册,湖南中高风险地区,建设公司起名简洁大气一、进程间通信的概念大家都知道,进程是具有独立性的,因为一个程序运行起来生成进程时&#xff0
中山企业网站设计,tk网站注册,湖南中高风险地区,建设公司起名简洁大气一、进程间通信的概念大家都知道#xff0c;进程是具有独立性的#xff0c;因为一个程序运行起来生成进程时#xff0c;也会生成它的进程结构体#xff0c;即PCB#xff0c;然后然后通过进程结构体中的结构体指针找到它的虚拟地址空间#xff0c;然后再通过它的页表映射到…一、进程间通信的概念大家都知道进程是具有独立性的因为一个程序运行起来生成进程时也会生成它的进程结构体即PCB然后然后通过进程结构体中的结构体指针找到它的虚拟地址空间然后再通过它的页表映射到物理地址空间上。既然进程具有独立性那就意味着如果想完成进程间通信就一定伴随着较大的代价。概念一般来讲进程间通信主要用于四个方面。1数据传输一个进程需要将自己的数据发送给另一个进程2资源共享多个进程共享同样的资源。即在内存中有一块空间这块空间上的数据被多个进程共同使用。3通知事件一个进程需要另一个或另一组进程发送消息通知它们发生了某个事件如子进程终止时要通知父进程让父进程回收它的退出信息。4进程控制有些进程希望完全控制另一些进程的执行如调试时就是让debug进程控制我们写的程序运行起来生成的进程此时控制进程希望能够拦截另一个进程的所有陷入和异常并能够及时知道它的状态的改变。进程间通信出现的原因进程间通信虽然需要付出较大代价但是在某些时候是必须要使用到进程间通信的。现在大家写的程序一般都是单进程的例如在大家平时写代码时几乎不会用到fork去创建子进程完成某种需求。但是在未来我们写的程序很多都是需要多进程协同的。例如在linux中输入“cat file | grep hello”命令该命令会读取file文件中的数据然后根据“hello”关键字进行筛选。这里面的“|”其实是一个“管道”用于连接两个进程。进程间通信的方案经过多年的发展已经有了对应的标准。现在比较知名的标准就是“POSIX”和“System V”。这两套标准中“POSIX”可以让通信过程跨主机。而“System V”聚焦与本地通信。但是在现在物联网快速发展的时代很多时候都是需要跨主机通信的而“System V”只能用于单主机本地通信的特点就导致这套标准的使用越来越少主流都是使用“POSIX”标准。但是这并不代表“System V”没人使用只是使用的地方很少而已。“System V”无法跨主机通信是因为在linux下一切皆文件而文件系统管理文件时主要依靠的就是文件描述符。但是“System V”出现的太早了这就导致“System V”的内部接口虽然和文件有关但是在使用时和文件描述符没有关系导致“System V”在跨主机通信时与其他主机很难兼容导致难以使用。而现在的主流标准的接口都是与文件描述符密切相关的使其在跨主机时也能够很好的使用。二、管道管道是基于文件系统形成的。与上面的“POSIX”和“System V”标准没有关系。在这里首先来了解管道。管道分为匿名管道和命名管道两种管道的概念管道是linux中最古老的的进程间通信方式把从一个进程链接到另一个进程的数据流称为“管道”。管道的执行方式如果现在运行一个程序那么该程序就会生成一个task_struct即进程结构体。然后我们再打开一个文件该文件也会在内存中生成它的文件对象struct_file。如果这个进程要找到对应打开的文件就要通过在它们之间的文件描述表struct files_strcut中保存的文件描述符来找到对应的文件位置。而在在这个文件描述符表中有一个“struct file *fd array[]”数组这个数组里面就存储了文件描述符。在系统运行时文件描述表中默认有标准输出流、标准输入流和标准错误流占据了0,1,2三个位置。假设进程打开的文件在下标为3的位置那么进程要访问打开的文件就是到文件描述符表中的下标3的位置拿到文件对象的地址然后到对应的位置上去找到文件如果此时当前进程生成了一个子进程那么该子进程就会拷贝一份父进程的pcb继承父进程的数据其中就包括文件描述符表。但是并不会拷贝一份文件对象。子进程的文件描述符表是拷贝的父进程的因此子进程也可以通过自己的文件描述符表找到同一个文件对象。此时子进程和父进程就可以同时访问同一个文件对象了。通过上面的父子进程打开同一个文件的例子就可以推导出进程间通信的原理了。说白了进程间通信就是不同的进程之间有一个共享内存空间不同的进程都可以向这个共享空间中读写数据。这个共享空间是由操作系统通过直接或间接的方向通信双方的进程提供。因为进程具有独立性如果这个共享空间由某个进程提供就会导致这块空间被进程私有其他进程无法访问。因此进程间通信的本质就是“让不同的进程看到同一份公共资源”。
阅读全文