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

非法网站开发者刑事责任如何同步打开两个wordpress

非法网站开发者刑事责任,如何同步打开两个wordpress,frontpage网页制作视频教程,pc网站怎么建设流程目录 1.并行与并发 2. 环境变量 2.1 举例子 2.2 命令行参数 2.3 环境变量 1.并行与并发 并行:多个进程在多个CPU下分别、同时运行,称为并行 并发:多个进程在一个CPU下采用进程切换的方式,在一时间段内,多个进程同…

目录

1.并行与并发

2. 环境变量

2.1 举例子

2.2 命令行参数

2.3 环境变量


 

1.并行与并发

并行:多个进程在多个CPU下分别、同时运行,称为并行

并发:多个进程在一个CPU下采用进程切换的方式,在一时间段内,多个进程同时推进,称为并发

有这样一个问题

int get_value() 
{int x = 42;  return x;    
}int main()
{int ret = get_value();cout << ret << endl;return 0;
}

为什么函数的返回值,会被外部拿到呢?

        通过CPU寄存器,编译器将return x转化成了mov eax 10,eax是CPU中的寄存器,函数直接将x的值放入了寄存器,x自己销毁并不影响这个寄存器,调用方仍可以拿到。

既然进程在一直切换,每个进程就执行时间片的时间,系统如何得知某个进程上次执行到哪行代码了?

        有一个程序计数器eip,存储当前执行指令下一条指令的地址

CPU中有很多寄存器,扮演什么角色?

        提高运行效率,进程的高频数据放入寄存器中。因为进程相关的数据需要随时被访问或者修改,所以要放到CPU的寄存器中。

所以CPU寄存器中保存的是进程的临时数据也就是进程的上下文。进程在从CPU上离开的时候,要将自己的上下文数据保存好,甚至带走,这个保存的目的就是为了恢复。

进程在被切换的时候:保存上下文;进程回来运行时,恢复上下文。

上下文信息就当保存到进程的PCB中,PCB有一个寄存器结构体,专门存每个寄存器中的这些信息

2. 环境变量

直接讲概念有些晦涩,先举几个环境变量出来认识一下。

2.1 举例子

1. 我们想执行自己写的程序就得指明路径:./mycode,那系统怎么知道 ls、pwd 等指令执行时去哪里找呢?怎么知道这些指令程序在哪里呢?

        OS在执行命令时,shell会在PATH中的路径下一个一个去找。

PATH:Linux系统的指令搜索路径,以:进行分割

也可以添加其他目录到PATH中,重登Xshell就重置了。

2. 当我们登入时,它怎么知道一上来就在家目录下呢?而不是什么其他的目录呢?

HOME:登入时会执行类似cd &HOME 这样的命令,直接跳到家目录下。

PWD:会记录当前目录的环境变量

有了环境变量的存在,我们的系统就具备了认识用户是谁的能力,只要能认识用户是谁,就能把文件拥有者和权限做对比,从而判断出用户有无读写权限

2.2 命令行参数

ls是命令,后面的-l就是命令行参数

对这个代码进行下面这样的调用产生了命令行参数类型的结果:

这个程序很好的模拟了命令行参数的实现过程,argv[0]就是命令本身,后面的可变参数列表存储命令行参数。

我们输入的其实是字符串,bash将其打散成 "./mycmd"、"-a"、"b"、"c"。

所以在真正执行main函数之前,操作系统已经干了很多事情了。

为什么要传给main参数呢?为指令、工具、软件等提供命令行选项的支持。

这个代码更能详细的说明命令行参数的作用

可以发现系统自己的命令其实就是类似这么实现的,异曲同工

我们可以发现,main函数也是函数,是操作系统来给它传参,调用它。

2.3 环境变量

但main函数不只这两个参数,还有第三个 env

env代表环境变量表,前面的argv代表命令行参数表

这个程序可以打印出所有环境变量:

我们所运行的进程,都是bash的子进程,bash本身在启动的时候,会从操作系统的配置文件中读取环境变量信息,子进程会继承父进程交给它的环境变量,所以环境变量会被所有子进程继承下去,环境变量具有全局属性

怎么证明被继承了?
我们自己搞一个环境变量,看看它会不会被继承。

我们可以看到,在命令行中直接定义,在env中是找不到的,这时这个变量叫做本地变量,怎么变成环境变量呢?下一行:export,此时就可以找到我们自己定义的环境变量了。

./mycmd 也是能拿到这个环境变量的

本地变量只会在本bash内有效不会被继承,而echo是没有创建子进程的,所以echo是能打印这个本地变量的。 

这也说明了:命令不一定全都会创建子进程,很有把握的就直接操作了,不用担心会影响bash。

所以命令有两种:

  • 常规命令:通过创建子进程去完成的
  • 内建命令:bash不创建子进程,而是由自己亲自执行,类似于bash调用了自己写的、或者系统提供的函数(cd 也是典型的内建命令)

取消环境变量:

环境变量就是在操作系统中用来指定操作系统运行环境的一些参数

int main()
{printf("%S\n", getenv("PATH"));return 0;
}

这样也是可以获得环境变量的


文章转载自:

http://dXRSz0K7.tcLqf.cn
http://UN4abOnb.tcLqf.cn
http://wWGBWsa4.tcLqf.cn
http://oQVRam2P.tcLqf.cn
http://hfS2ZOIm.tcLqf.cn
http://raZcIXNJ.tcLqf.cn
http://COGdgkKZ.tcLqf.cn
http://XS6ZrvXJ.tcLqf.cn
http://6NIP38jG.tcLqf.cn
http://FgIBzoVQ.tcLqf.cn
http://bceIjf1Z.tcLqf.cn
http://VnccdQMR.tcLqf.cn
http://jy7bRpMk.tcLqf.cn
http://qpCiJ8CL.tcLqf.cn
http://5eHmAyOp.tcLqf.cn
http://CgPHKWek.tcLqf.cn
http://GuDAgM12.tcLqf.cn
http://ZCpkqfWi.tcLqf.cn
http://ZEnNJwr0.tcLqf.cn
http://jIpWz2Cl.tcLqf.cn
http://FM2Go93n.tcLqf.cn
http://IXpee3Fg.tcLqf.cn
http://IZrBUSyk.tcLqf.cn
http://KOz86uxM.tcLqf.cn
http://S3KY0Sbz.tcLqf.cn
http://OAeg2hFY.tcLqf.cn
http://JYsCjY81.tcLqf.cn
http://vwYJvVuv.tcLqf.cn
http://oQSdVis0.tcLqf.cn
http://L1NcxROy.tcLqf.cn
http://www.dtcms.com/wzjs/735855.html

相关文章:

  • 商务网站开发文档怎么免费建立一个网站
  • 可以做图接单的网站php网站开发设计论文
  • 杭州置地电商基地网站建设开发公司行政部提升
  • 网站刷排名工具全球购海外商城官网
  • 紫川网站建设八八网
  • 哪个网站做相册好网站的seo如何优化
  • 企业网站建设费用入什么科目wordpress 模板 管理系统
  • 如何更改 网站 关键词做外链一定要淘宝网站吗
  • 重庆网站设计开发培训网页设计与制作相关书籍
  • 泰安集团网站建设工程招标平台
  • 知名的企业网站建设高校招生网站模板
  • 国内网站开发公司公益机构网站建设方案
  • 设计师做画册必备网站有什么网站可以做投票功能吗
  • 网站建设分金手指排名十一wordpress5.1.1版本汉化
  • 有哪些建设工程类网站长垣县做网站的
  • 提供佛山网站制作公司官网建设
  • 网站建设中啥意思泰安星际网络公司
  • 网络网站排名优化chplayer wordpress
  • 上海做网站建设的公司排名公共场所建设网站
  • 不用代码做网站成都手机网站
  • 怎么查网站是在哪里备案的沧州市网站建设公司
  • google帐户登录网站如何做的微信小程序用到的技术
  • 网站 动态 标签页什么是新闻源网站
  • 整站seo优化推广网络教育室内设计专业
  • vs2015 手机网站开发景区外文网站建设
  • 饰品网站设计方案光速网站建设
  • 外国风格网站建设官网用软件做的网站权限
  • 台州微网站建设百度竞价投放
  • 用ps怎么做网站首页长沙住房和建设局网站
  • 自己网站给别人网站做外链有影响吗什么是物联网