当前位置: 首页 > news >正文

门户网站自查报告网页视频制作软件

门户网站自查报告,网页视频制作软件,wordpress自定义头像上传,番禺市桥网站建设公司阅读导航 前言一、冯诺依曼体系结构二、操作系统#xff08;OS#xff09;1. 概念 三、进程1. 进程的概念2. PCB#xff08;Process Control Block#xff09;3. 查看进程 四、fork函数1. 函数简介2. 调用方式3. 返回值4. 使用示例 五、进程的几种状态1. 状态简介2. 进程状… 阅读导航 前言一、冯诺依曼体系结构二、操作系统OS1. 概念 三、进程1. 进程的概念2. PCBProcess Control Block3. 查看进程 四、fork函数1. 函数简介2. 调用方式3. 返回值4. 使用示例 五、进程的几种状态1. 状态简介2. 进程状态查看3. Z(zombie)-僵尸进程⭕ 概念⭕僵尸进程危害⭕如何避免僵尸进程 4. 孤儿进程⭕ 概念⭕孤儿进程产生的原因⭕孤儿进程的危害 总结温馨提示 前言 前面我们讲了C语言的基础知识也了解了一些数据结构并且讲了有关C的一些知识也学习了一些Linux的基本操作也了解并学习了有关Linux开发工具vim 、gcc/g 使用、yum工具以及git 命令行提交代码也相信大家都掌握的不错今天博主带大家了解一下 —— 进程进程的概念 下面话不多说坐稳扶好咱们要开车了 一、冯诺依曼体系结构 冯·诺依曼体系结构是一种计算机硬件设计的范式它是以匈牙利裔美籍数学家兼计算机科学家冯·诺依曼Von Neumann的名字命名的。其主要特点包括 存储程序在冯·诺依曼体系结构中程序和数据都存储在同一块内存中通过地址访问。这种结构相对于之前的计算机模型不仅提供了更大的灵活性也使得程序编写和修改更加方便。 指令执行计算机通过从内存中读取指令并按照顺序执行来完成特定任务。指令通常包括操作码和操作数操作码指定要执行的操作类型比如加法或乘法而操作数则提供操作的具体数据。 存储器和处理器分离在冯·诺依曼体系结构中存储器和处理器是分离的实体。处理器负责执行指令而存储器则用于存储指令和数据。这种分离设计使得处理器可以灵活地访问存储器中的不同位置。 顺序执行指令按照顺序从内存中加载并执行。这也意味着指令之间存在依赖关系后续指令必须等待前面指令完成后才能执行。这种顺序执行的方式限制了计算机的并行性能。 冯·诺依曼体系结构成为了现代计算机的基石几乎所有的通用目的计算机都采用了这种结构。它对计算机的发展起到了重要的推动作用使得计算机变得更加灵活、可编程和易于使用。 二、操作系统OS 1. 概念 操作系统(Operator System)任何计算机系统都包含一个基本的程序集合称为操作系统(OS)。笼统的理解操作系统包括 内核进程管理内存管理文件管理驱动管理其他程序例如函数库shell程序等等 资源管理操作系统负责管理计算机系统的资源包括处理器、内存、磁盘、输入/输出设备、网络等。它分配和调度这些资源以确保它们能够高效地被应用程序使用。资源管理可以通过不同的策略和算法来优化资源的利用率和性能。 进程管理操作系统负责管理计算机中运行的进程即程序的执行实例。它负责创建、调度和终止进程并提供进程间的通信和同步机制。操作系统通过分时复用处理器使得多个进程能够并发执行从而提高系统的利用率和响应性能。 内存管理操作系统管理计算机的内存资源即主存。它负责分配和回收内存空间这样应用程序就能够加载和执行。内存管理机制包括虚拟内存它允许将内存扩展到磁盘上的虚拟内存空间从而提供更大的内存空间和更好的内存保护。 文件系统操作系统提供了对计算机存储设备上文件和目录的管理。它负责文件的创建、读取、写入和删除以及文件的组织和保护机制。文件系统提供了逻辑结构来组织和访问数据同时提供权限控制和数据备份等功能。 设备驱动程序管理操作系统管理计算机的输入/输出设备如键盘、鼠标、显示器、打印机等。它提供设备驱动程序来实现与设备的通信和控制以及处理设备的中断和错误。 总而言之操作系统是计算机系统中的核心软件它提供了一种有效和可控的方式来管理和利用计算机的资源同时为用户和应用程序提供一个友好和统一的环境。操作系统的设计和实现因不同的需求和平台而异从个人电脑到服务器和嵌入式系统每个系统都有自己特定的操作系统。 三、进程 1. 进程的概念 ⭕进程是计算机中正在执行的程序的实例。它是操作系统进行资源分配和调度的基本单位。每个进程都有自己的内存空间、执行状态和相关的系统资源。进程可以包含一个或多个线程每个线程可以独立执行一段代码。 2. PCBProcess Control Block PCB是操作系统中用于管理和控制进程的数据结构。每个进程都有一个对应的PCB它包含了进程的相关信息和状态。 下面是PCB的一些主要内容 进程标识符Process ID用于唯一标识一个进程。 程序计数器Program Counter记录了进程当前执行的指令地址。 寄存器集合Register Set保存了进程的寄存器状态包括通用寄存器、程序状态字等。 进程状态Process State表示进程当前的执行状态如运行、就绪、阻塞等。 进程优先级Process Priority用于确定进程在调度时的优先级顺序。 进程调度信息Scheduling Information包括进程的调度策略、调度队列等信息。 内存管理信息Memory Management Information记录了进程的内存分配情况包括代码段、数据段、堆栈等。 文件管理信息File Management Information记录了进程打开的文件和文件描述符等信息。 进程间通信信息Interprocess Communication Information记录了进程与其他进程进行通信的方式和相关信息。 PCB是操作系统中非常重要的数据结构它存储了进程的关键信息操作系统通过对PCB的管理和操作实现了对进程的控制和调度。当操作系统需要切换到另一个进程时它会保存当前进程的PCB并加载下一个进程的PCB以实现进程的切换和执行。 3. 查看进程 ps显示当前运行的进程快照。常用的选项有 ps aux显示所有用户的所有进程。ps -ef显示所有进程的完整信息。ps -eL显示线程的相关信息。 top实时显示当前系统的进程状态和系统资源使用情况。按下 “q” 键可退出。 htop类似于 top但提供更加直观、交互式的界面可以进行更多操作。需要先安装 htop。 pstree以树状形式显示进程的层次关系。 pgrep根据进程名或其他条件查找进程的PID。常用的选项有 pgrep process_name根据进程名查找相应进程的PID。 pidof根据进程名查找相应进程的PID。 top、htop和pstree命令都是实时显示进程信息的命令可以使用 CtrlC 终止。 这些命令可以提供进程的基本信息如进程IDPID、父进程IDPPID、进程状态、CPU和内存的占用情况等。根据实际需要选择适合的命令进行查看。 四、fork函数 1. 函数简介 fork() 是一个在类 UNIX 操作系统下常用的系统调用函数用于创建一个新的进程。它的作用是在当前进程的执行空间中创建一个与当前进程几乎完全相同的子进程。子进程拥有父进程的代码、数据和资源副本。 2. 调用方式 fork() 函数的调用方式如下 #include sys/types.h #include unistd.hpid_t fork(void);3. 返回值 fork() 函数的返回值有以下三种情况 如果返回值为负数表示创建子进程失败。如果返回值为 0表示当前进程为子进程。如果返回值大于 0表示当前进程为父进程返回值是子进程的进程ID。 4. 使用示例 #include stdio.h #include sys/types.h #include unistd.hint main() {pid_t pid fork();if (pid 0) {// 创建子进程失败fprintf(stderr, Fork failed\n);return 1;} else if (pid 0) {// 子进程printf(This is the child process\n);// 子进程可以在此处执行自己的逻辑} else {// 父进程printf(This is the parent process\n);// 父进程可以在此处执行自己的逻辑}return 0; }在这个示例中当调用 fork() 函数后父进程中的 pid 是子进程的进程ID而子进程中的pid 是 0。通过判断 pid 的值可以在父子进程中执行不同的逻辑。 注意fork() 函数会尽可能地复制父进程的所有资源给子进程包括代码、数据、打开的文件等。但是父进程和子进程之间的执行顺序是不确定的取决于操作系统对进程调度的策略。 五、进程的几种状态 1. 状态简介 在操作系统(OS)中进程可以处于以下几种状态 创建Created进程刚被创建但还没有开始执行。 就绪Ready进程已经准备好执行但还没有被调度执行。 运行Running进程正在执行。 阻塞Blocked进程由于某些原因无法继续执行例如等待某个事件发生或等待某个资源的释放。 终止Terminated进程已经执行完毕或被终止。 进程的状态转换是动态的进程可以在不同的状态之间切换。操作系统通过合理的调度算法和策略来控制进程的状态转换以实现对进程的管理和调度。 2. 进程状态查看 在Linux系统中可以使用多种方法查看进程的状态。 ps命令ps命令是Linux中最基础和常用的进程查看命令。它可以显示当前系统中运行的进程信息包括进程状态。常用的命令有 ps aux 显示所有用户的所有进程信息包括进程状态。ps -ef 显示所有进程的完整信息包括进程状态。ps -e -o pid,cmd,state 仅显示进程的PID、命令和状态。 top命令top命令可以实时动态地显示系统中运行的进程和系统资源的使用情况。它的界面可以按CPU使用率、内存使用率等来排序并显示每个进程的状态。在top的进程列表中进程的状态将在STAT列中显示常见的状态有 R运行状态Running。S睡眠状态Sleeping。D不可中断状态Uninterruptible sleep。Z僵尸状态Zombie。T停止状态Stopped。 htop命令htop是一个交互式的进程查看命令功能类似于top命令但界面更加友好和丰富。htop可以显示进程的状态、CPU使用率、内存使用率等信息并支持通过键盘快捷键进行交互式操作。 pstree命令pstree命令以树状的形式显示当前系统中的进程关系。它可以清晰地展示进程树中的父子关系以及每个进程的状态。 3. Z(zombie)-僵尸进程 ⭕ 概念 在Linux系统中僵尸进程Zombie process是一种特殊的进程状态。当一个子进程终止后父进程必须调用wait()或waitpid()等系统调用来获取子进程的终止状态并进行资源清理。如果父进程没有正确处理子进程的终止状态被终止的子进程将会变成僵尸进程。 ⭕僵尸进程危害 僵尸进程在系统中占用了一部分进程标识符PID等资源但它们已经完成了它们的执行过程不再占用CPU资源。僵尸进程的存在并不会对系统运行产生直接影响因为它们已经成为了无害的静悄悄的进程。 僵尸进程本身并不会对系统的稳定性或性能产生直接的危害因为它们已经完成了它们的执行过程并不再占用CPU资源。然而过多的僵尸进程可能会导致一些间接的危害和问题 资源浪费僵尸进程会占用一部分进程标识符PID等系统资源在系统中积累过多的僵尸进程会浪费一定量的资源。 进程表溢出每个进程都需要在操作系统内核中占用一部分内存空间包括进程描述符等信息。过多的僵尸进程会占用进程表中的条目导致进程表溢出影响系统的正常运行。 可用PID不足在Linux系统中PID是有限的资源每个进程都会被分配一个唯一的PID。如果系统中有大量的僵尸进程那么可用的PID数量就会变少当可用的PID不足时新的进程将无法创建。 难以诊断和调试过多的僵尸进程可能会使进程状态的监测和诊断变得困难。系统管理员和开发人员可能会难以确定是哪些进程造成了问题以及如何解决这些问题。 尽管僵尸进程本身并不会造成直接的危害但积累过多的僵尸进程可能会导致系统资源浪费和其他间接的问题。因此及时清理僵尸进程是一种良好的实践可以通过适当的处理子进程的终止状态来避免僵尸进程的积累。 ⭕如何避免僵尸进程 要解决僵尸进程问题父进程可以通过以下方式之一来处理子进程的终止状态 调用wait()或waitpid()等系统调用获取子进程的终止状态。设置SIGCHLD信号的处理函数并在处理函数中调用waitpid()等来回收僵尸进程。在父进程启动时忽略SIGCHLD信号这样子进程终止时不会变成僵尸进程。 4. 孤儿进程 ⭕ 概念 孤儿进程Orphan process是指在父进程终止或意外退出后子进程仍然在系统中运行并成为一个没有父进程的进程。在这种情况下操作系统会自动将孤儿进程的父进程设置为init进程进程ID为1init进程负责接管孤儿进程的管理。 ⭕孤儿进程产生的原因 父进程意外终止当父进程意外终止如崩溃、被强制终止等它没有机会或能力去合理地终止它创建的子进程。这样子进程就会成为孤儿进程。 父进程在子进程终止前退出父进程可能在子进程完成其任务之前就退出了。这可能是由于父进程的设计或逻辑错误导致的。因此子进程被“遗弃”并成为孤儿进程。 父进程未正确等待子进程的终止状态父进程没有正确使用wait()或waitpid()等系统调用来等待子进程的终止状态。这样子进程虽然终止了但其终止状态无法被父进程正确获取从而导致子进程成为孤儿进程。 需要注意的是孤儿进程的产生是一种意外或错误的现象通常不应该出现在正常的进程管理中。 ⭕孤儿进程的危害 孤儿进程本身并没有直接的危害因为操作系统会接管孤儿进程并负责清理其资源。当孤儿进程终止后操作系统会立即回收它们的资源并将其进程描述符等信息从进程表中清除。因此孤儿进程并不会占用过多的系统资源。 然而孤儿进程可能对系统产生一些间接的影响包括 造成系统资源浪费孤儿进程可能仍然占用一些系统资源如进程标识符PID、内存等。尽管这些资源在孤儿进程终止后会被回收但在孤儿进程存在的期间这些资源仍然无法被其他进程使用。 影响进程标识符的分配操作系统会为每个进程分配唯一的进程标识符PID。孤儿进程终止后其进程标识符会被回收并可以重新分配给其他进程使用。然而在孤儿进程存在的期间其进程标识符将被保留可能会影响后续进程标识符的分配。 可能导致资源泄漏或其他问题如果孤儿进程打开了文件描述符、网络连接或其他资源并且没有正确释放这些资源可能会导致资源泄漏或其他问题。这可能会影响系统的稳定性和正常运行。 总结 进程是计算机中正在运行的程序的实例。每个进程都有一个唯一的进程标识符PID和一组相关的资源如内存、文件描述符等。进程之间是相互独立的它们通过操作系统进行调度和管理。PCB是操作系统用来管理和跟踪进程的数据结构。PCB 包含了进程的状态信息、程序计数器、寄存器值、内存分配信息等。操作系统通过修改 PCB 中的信息来控制和调度进程的执行。通过查看进程列表可以获取当前系统中正在运行的进程的信息。不同的操作系统提供了不同的命令和工具来查看进程列表如Linux中的ps命令和Windows中的任务管理器。 fork函数是一个在Unix和类Unix系统中常用的函数用于创建一个新的进程。fork函数会复制当前进程的副本并在新的进程中继续执行。新进程和原进程几乎完全相同包括代码、数据、打开的文件等。fork函数的返回值不同对于原进程返回新进程的PID对于新进程返回0。 进程有几种不同的状态包括运行态、就绪态、阻塞态等。进程的状态可以通过操作系统提供的工具或命令来查看。其中僵尸进程是一种特殊的状态它是指一个已经终止但是其父进程尚未对其进行善后处理的进程。僵尸进程不会占用系统资源但可能会导致一些问题如资源泄漏。为了避免僵尸进程的产生父进程应该及时对其进行处理。 孤儿进程是指其父进程已经终止或不存在的进程。孤儿进程会被操作系统接管并由init进程PID为1来作为其父进程。孤儿进程本身并没有直接的危害但可能会占用一些系统资源并影响进程标识符的分配。为了保持系统的稳定和资源的有效利用应该及时清理孤儿进程。 温馨提示 感谢您对博主文章的关注与支持如果您喜欢这篇文章可以点赞、评论和分享给您的同学这将对我提供巨大的鼓励和支持。另外我计划在未来的更新中持续探讨与本文相关的内容。我会为您带来更多关于Linux以及C编程技术问题的深入解析、应用案例和趣味玩法等。如果感兴趣的话可以关注博主的更新不要错过任何精彩内容 再次感谢您的支持和关注。我们期待与您建立更紧密的互动共同探索Linux、C、算法和编程的奥秘。祝您生活愉快排便顺畅
http://www.tj-hxxt.cn/news/230681.html

相关文章:

  • 山东省交通厅建设网站建设银行etc官方网站
  • 网站平面图要怎么做建筑公司网站常用长尾词
  • 学做网站需要哪几本书小型网站开发费用
  • 网站搭建公司排行榜电脑去哪里建设网站
  • 帝国做的网站打开速度东莞建网站公司哪个好
  • 甘肃平凉建设局网站个人网站做什么好
  • wordpress登录后评论seo搜索引擎优化报价
  • 傻瓜式免费自助建站系统做书app下载网站
  • 全网网站建设优化做外贸推广的公司
  • 旅游网站开发与建设论文做海报的素材网站
  • 荆州seo推广优化网站做什么的
  • 普通网站一年要多少钱适合大学生做的网站有哪些
  • 网站技术开发文档模板哈尔滨网站开发建设公司
  • 网站目录结构怎么做网站域名怎么写好
  • 网络营销跟网站推广有啥区别精准客源 获客
  • 怎么做一个盈利网站wordpress新建html5
  • 专业的集团网站开发开发买房子平台
  • 最好的开发网站建设大连公共资源交易平台官网
  • 做心悦腾龙光环的网站是什么湘阴网站建设
  • 怎么建网站赚钱秦皇岛市属于哪个省份
  • 网站代码 上传 wordpress 空间各地农业信息网站的建设
  • 美团招聘网站开发杭州久邦电力建设有限公司网站
  • 广州网站设计与制作公司技术支持 深圳网站建设贝尔利
  • 免费服务器搭建网站详细教程看设计比较好的网站
  • 什么是静态网站网站制作好如何上线
  • 化妆品销售网站开发与设计域名查询中国万网
  • 厦门 网站建设 网站开发 未来网络然后搭建网站
  • 常州模板建站哪家好怎么做58同城网站吗
  • 个人cms网站wordpress怎么上传pdf
  • php网站开发专业是做什么的wordpress打开图片预览代码