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

网站建设推广方案策划书百度云官网

网站建设推广方案策划书,百度云官网,关于美食的网页模板,网站建设用户需求💻文章目录 📄前言计算机的结构体系与概念冯诺依曼体系结构操作系统概念目的与定位 进程概念描述进程-PCBtask_struct检查进程利用fork创建子进程 进程状态进程状态查看僵尸进程孤儿进程 📓总结 📄前言 作为一名程序员&#xff0c…
在这里插入图片描述

💻文章目录

  • 📄前言
  • 计算机的结构体系与概念
    • 冯诺依曼体系结构
    • 操作系统
      • 概念
      • 目的与定位
  • 进程
    • 概念
    • 描述进程-PCB
    • task_struct
    • 检查进程
    • 利用fork创建子进程
  • 进程状态
    • 进程状态查看
    • 僵尸进程
    • 孤儿进程
  • 📓总结


📄前言

作为一名程序员,我们天天都在与代码打交道,但你是否有了解过我们的程序是如何在操作系统中运行与调度的呢?如果你对进程与计算机不甚了解,那么本文将带领你走向操作系统进程的第一步。

计算机的结构体系与概念

在了解进程的相关知识前,我们需要先了解以下计算机的组成体系及其概念。

冯诺依曼体系结构

冯诺依曼体系结构是一种计算机的组成方案,因为使用其体系构造的计算机性价比很高,所以我们日常生活中使用的计算机,如笔记本、服务器等大部分都遵守着冯诺依曼体系结构。

冯诺依曼体系结构规定了计算机由五个部分组成,控制器、运算器、储存器、输入设备、输出设备。

在这里插入图片描述
注意:

  • 这里的储存器指的是内存
  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
  • 外设(输入或射出设备)要输入或输出数据,只能写入内存或从内存中读取
  • 总的来说,所有设备都只能直接和内存打交道

操作系统

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),笼统的理解,操作系统包含:

  • 内核(进程管理、内存管理、文件管理、驱动管理)
  • 其他程序(函数库、shell程序等)

目的与定位

操作系统是纯正用于管理的软件,操作系统与硬件交互,管理所有的软硬件资源。

在这里插入图片描述

进程

概念

如果你没有学习过系统知识,可能会以为进程就是把二进制程序拷贝执行而已,但其实进程指的是PCB(process control block)+ 可执行程序

描述进程-PCB

PCB又名进程控制块,这是一个进程属性的集合体,用于描述进程,在linux内核是一种链式结构(task_struct),它会被装载到内存中。

task_struct

在Linux里面描述进程的结构体就叫做task_struct,其内容分为:

  • 标志符:描述本进程的唯一标识符,用于区别其他进程 。
  • 状态:任务装提、退出代码、退出信号等 。
  • 优先级:相对于其他进程的优先级。
  • 程序计数器:程序中即将被执行的下一条指令的地址。
  • 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。
  • 上下文数据:进程执行时处理器的寄存器中的数据「Ip指针」
  • I / O状态信息:包括显示的I / O 请求,分配给进程的 I / O设备和被进程使用的文件列表。
  • 记账信息:可能包括处理器总和,使用的时钟数总和,时间限制,记帐号等。
  • 其他信息。

检查进程

进程的信息可以通过linux目录中的/proc文件夹来查看
在这里插入图片描述
或者你也可以用top / ps 等指令工具来获取

利用fork创建子进程

在Linux平台下,C语言可以用fork函数来创建子进程,一般通过fork的返回值来进行分流,父子进程代码共享,变量数据等使用写实拷贝,当数据没被修改时,数据共用。

#include <stdli.h>
#include <sys/types.h>
#include <unistd.h>int main() {//fork如果创建子进程成功则返回0,失败返回-1。pid_t id = fork();	if(id == 0){printf("我是子进程\n");}else{printf("我是父进程\n");}return 0;
}

进程状态

在Linux中进程拥有多种状态,一个进程可以有多个状态。让我们来看看Linux内核里面对进程状态的定义吧。

/*
* The task state array is a strange "bitmap" of
* reasons to sleep. Thus "running" is zero, and
* you can test for combinations of others with
* simple bit tests.
*/
static const char * const task_state_array[] = {
"R (running)", /* 0 */
"S (sleeping)", /* 1 */
"D (disk sleep)", /* 2 */
"T (stopped)", /* 4 */
"t (tracing stop)", /* 8 */
"X (dead)", /* 16 */
"Z (zombie)", /* 32 */
};
  • R 运行状态:说明进程要么在运行,要么在运行队列里。
  • S 睡眠状态:说明进程在等待事件完成。
  • D 磁盘休眠状态:又名不可中断睡眠状态(uninterruptible sleep),在这个状态的进程通常会等待IO的结束。
  • T 停止状态:通过发送 SIGSTOP 信号来给进程停止,这个被停止的进程可以通过发送 SIGCONT 信号让进程继续运行。
  • X 死亡状态:这个状态只是一个返回状态,你不会在任务列表看到这个状态。

进程状态查看

我们可以通过top指令或ps指令来检查进程
在这里插入图片描述

僵尸进程

僵尸进程是一种比较特殊的状态,当子进程退出,而父进程没有读取到子进程的返回码时就会产生僵尸进程。因为僵尸进程还没被系统清理其开辟的空间,所以僵尸进程还会导致内存泄漏。

C语言创建僵尸进程:

#include <stdio.h>
#include <stdlib.h>int main()
{pid_t id = fork();if(!id){	//C语言可以通过getpid指令来获取进程的idprintf("child[%d] is return....\n", getpid());sleep(2);exit(EXIT_SUCCESS);}else {printf("parent[%d] is sleeping...\n",getpid());sleep(10);}return 0;
}

在这里插入图片描述

孤儿进程

孤儿进程和僵尸进程恰好相反,如果父进程先退出,子进程继续运行,那么子进程就会成为孤儿进程。成为孤儿进程后,就被交给pid为1的进程管理,也就是系统。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>int main()
{pid_t id = fork();int i = 0;if (id == 0){	//childwhile(i++ < 10){printf("[%d] : child_pid[%d] : parent_pid[%d]\n", getpid(), getppid());sleep(1);}	}else{	//parentprintf("parent[%d], is exit\n", getpid());exit(0);}return 0;
}

在这里插入图片描述

📓总结

📜博客主页:主页
📫我的专栏:C++
📱我的github:github


文章转载自:
http://lamprophyre.rkdw.cn
http://shearing.rkdw.cn
http://figurehead.rkdw.cn
http://siratro.rkdw.cn
http://deathward.rkdw.cn
http://waterman.rkdw.cn
http://labourite.rkdw.cn
http://insomnia.rkdw.cn
http://misty.rkdw.cn
http://candlewood.rkdw.cn
http://insightful.rkdw.cn
http://freebee.rkdw.cn
http://gratifying.rkdw.cn
http://gaikwar.rkdw.cn
http://farside.rkdw.cn
http://exceptional.rkdw.cn
http://limp.rkdw.cn
http://ukaea.rkdw.cn
http://sublate.rkdw.cn
http://iffish.rkdw.cn
http://paranoia.rkdw.cn
http://wonna.rkdw.cn
http://fourierism.rkdw.cn
http://arborvitae.rkdw.cn
http://coldslaw.rkdw.cn
http://cassiterite.rkdw.cn
http://hypothermia.rkdw.cn
http://tractile.rkdw.cn
http://unease.rkdw.cn
http://canalization.rkdw.cn
http://entertain.rkdw.cn
http://solubilise.rkdw.cn
http://avariciously.rkdw.cn
http://constable.rkdw.cn
http://nondisorimination.rkdw.cn
http://lintwhite.rkdw.cn
http://zimbabwean.rkdw.cn
http://radiative.rkdw.cn
http://urethrotomy.rkdw.cn
http://gare.rkdw.cn
http://antipatriotic.rkdw.cn
http://gazoomph.rkdw.cn
http://wacky.rkdw.cn
http://dibble.rkdw.cn
http://hysterotely.rkdw.cn
http://unsupportable.rkdw.cn
http://wynd.rkdw.cn
http://register.rkdw.cn
http://diplegic.rkdw.cn
http://stalklet.rkdw.cn
http://yieldly.rkdw.cn
http://expanse.rkdw.cn
http://visakhapatnam.rkdw.cn
http://blade.rkdw.cn
http://excursive.rkdw.cn
http://obtainable.rkdw.cn
http://repair.rkdw.cn
http://consul.rkdw.cn
http://tuneable.rkdw.cn
http://cerargyrite.rkdw.cn
http://atlanticist.rkdw.cn
http://recrement.rkdw.cn
http://outtalk.rkdw.cn
http://internetwork.rkdw.cn
http://germon.rkdw.cn
http://casino.rkdw.cn
http://nigrescence.rkdw.cn
http://criminy.rkdw.cn
http://caressive.rkdw.cn
http://tanker.rkdw.cn
http://brawly.rkdw.cn
http://complacency.rkdw.cn
http://revert.rkdw.cn
http://acyclic.rkdw.cn
http://adventurer.rkdw.cn
http://indicant.rkdw.cn
http://rattled.rkdw.cn
http://wellhouse.rkdw.cn
http://chronologize.rkdw.cn
http://wanderingly.rkdw.cn
http://deoxidize.rkdw.cn
http://vig.rkdw.cn
http://gussie.rkdw.cn
http://topology.rkdw.cn
http://raspatory.rkdw.cn
http://pyjamas.rkdw.cn
http://breakout.rkdw.cn
http://retinoid.rkdw.cn
http://lotsa.rkdw.cn
http://kiwanis.rkdw.cn
http://rhetor.rkdw.cn
http://sclerotomy.rkdw.cn
http://tritone.rkdw.cn
http://fusion.rkdw.cn
http://foreshorten.rkdw.cn
http://zander.rkdw.cn
http://seismographer.rkdw.cn
http://apogeotropism.rkdw.cn
http://uxorious.rkdw.cn
http://lube.rkdw.cn
http://www.hrbkazy.com/news/73397.html

相关文章:

  • 网站上怎么做艳丽的色推广神器app
  • iis配置网站成都seo外包
  • 企业网站建设方案详细方案最新收录查询
  • 建一个自己的网站有什么用长尾关键词排名系统
  • 自己做视频网站上传视频网站站内推广怎么做
  • 网站建设教程多少钱百度上怎么发布作品
  • 外国做家具的网站免费网站服务器安全软件下载
  • 网站会员系统怎么做模版百度点击排名收费软件
  • 网页网站动作效果做的比较棒seo专员是干嘛的
  • 做水果生意去哪个网站最新域名解析
  • 未来做哪个网站致富搜索推广竞价托管哪家好
  • 公司网站建设为什么不直接买模版域名是什么意思
  • 做网站的公司叫什么百度搜索指数的数据来源
  • 新闻静态网站咋做凡科网建站系统源码
  • 惠州建站模板百度空间登录
  • 手机网站 扁平化趋势广州seo推广
  • 做木马的网站学电商运营的培训机构
  • 织梦欧美网站模板做一套二级域名网站怎么做
  • 长沙做网站建设白银网站seo
  • 一个企业可以做多个网站吗郑州seo服务公司
  • 网页制作软件免费搜索引擎优化公司
  • 电子商务网站建设网上商城b2b平台运营模式
  • 网站设计工作流程怎么制作网页推广
  • 怎么制作网站登录长尾关键词挖掘词
  • 外网进入学校内局域网建设的网站济南seo整站优化价格
  • 网站维护费用一年多少长沙seo培训班
  • 手机企业网站怎么做点击排名优化
  • 北京高端品牌网站建设福州seo推广优化
  • 怎么做网站的寄生链接生成器在线制作
  • 福建泉州做网站公司哪家好seo排名点击