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

wordpress 查看url关键词优化技巧有哪些

wordpress 查看url,关键词优化技巧有哪些,物流公司做网站注重什么,彩票的网站怎么做深入篇【Linux】学习必备:进程环境变量/进程切换 Ⅰ.环境变量Ⅱ.深层意义Ⅲ.全局属性Ⅳ.进程切换 Ⅰ.环境变量 1.环境变量是什么?:环境变量是系统提供的一组name/value形式的变量,不同的环境变量有不同的用户。 一般是用来指定操作…

深入篇【Linux】学习必备:进程环境变量/进程切换

  • Ⅰ.环境变量
  • Ⅱ.深层意义
  • Ⅲ.全局属性
  • Ⅳ.进程切换

Ⅰ.环境变量

1.环境变量是什么?:环境变量是系统提供的一组name/value形式的变量,不同的环境变量有不同的用户。
一般是用来指定操作系统运行环境的一些参数。
2.比如我们在写C/C++时,在链接时,我们并不知道所链接的动静态库在哪里,但是照样可以链接成功。这就是由于相关环境变量帮助编译器进行查找。
3.环境变量是具有全局属性的。

常见的环境变量有PATH,HOME,SHELL等。

PATH:linux下系统的指令的默认搜索路径
HOME:记录当前用户的家目录
USER:记录当前用户是谁。

通过学习环境变量,我们可以解决下面这个问题:
【问题】为什么系统的指令,可以直接执行呢?而我们写的程序,需要加上当前程序的路径才可以执行呢?
因为已经将系统的指令的所有路径都添加到环境变量PATH里了,而程序执行会默认到默认路径里先查找一遍。找到了就直接执行,找不到就报错。

如何获取到环境变量,或者修改环境变量呢?

1.env:显示所有环境变量
2.echo:用来显示某个环境变量值
3.export:用来创建一个环境变量。
4.set:显示本地顶部关于的shell变量和环境变量。

Ⅱ.深层意义

每一个程序其实都需要环境变量,那么环境变量在哪存着呢?
环境变量存储在一张表里,叫环境表,环境表是一个指针数组,数组里的每个指针指向一个环境变量。

在这里插入图片描述

其实我们的main函数是具有参数的,那么这些参数代表着什么意思呢?

#include <stdio.h>
int main(int argc, char *argv[], char *env[])
{int i = 0;for(; env[i]; i++){printf("%s\n", env[i]);}return 0;
}

首先我们可以想一想这个问题:
【问题】指令为什么后面可以加上选项呢?
我们的main函数其实一旦执行就是一个程序了。所以main函数也就对应一个程序进程。而平常的指令我们说也是一个进程,也就是说指令的实现从底层来说也是用main函数实现的。
而正常我们的main函数是不用带参数也可以执行,那么后面的参数代表着什么意思呢?
由指令后面可以带选项我们可以推断出,main函数后面的参数就是用来命令选项的。
1.其中第一个参数argc 是命令的名称。
2.第二个参数char* argv[]是命令的参数。
3.第三个参数char* env[]就是进程的环境变量了。

其实我们写的程序都是子进程,bash才是父进程。而我们在输入指令时,bash会将命令行分散成一个个字符,会将这个字符给指针数组初始化。这样就可以给指令,工具软件等提供命令行选项支持。

而我们写的程序在执行之前,bash也会给main函数里的指针数组初始化。其实main也是一个函数,它也被调用的,至于是谁调用的,这个我们可以认为是操作系统调用的,当调用main函数时,会将自己的环境变量,命令参数什么的给main函数进行初始化。
所以一个程序必须要有两个核心向量表:

1.命令行参数表
2.环境变量表。

我们运行的程序都是子进程,bash才是父进程,bash本身在启动时会从操作系统的配置文件中读取环境变量信息,子进程会继承父进程的环境变量。
这两张表是由操作系统维护的,在程序启动时是操作系统自动初始化的,

所以我们要理解:main函数也是一个被调用的函数,操作系统会将两个表传给main函数的参数进行初始化。

我们可以通过系统调用来获取到环境变量:getenv获取指定的变量。

Ⅲ.全局属性

为什么说环境变量具有全局属性呢?
因为环境变量是可以被子进程继承下去的。父进程的环境变量可以直接拷贝一份给子进程,也就是子进程继承了父进程的环境变量。所以对应环境变量来说,通常是要具有全局属性。而对于一些普通变量是可以不需要有全局属性的。

Ⅳ.进程切换

我们要知道操作系统里有很多进程,而CPU只有一个,这就说明多个进程使用一个CPU。那这个是如何实现的呢?
这个操作需要两大核心:

1.进程切换
2.时间片

也就是操作系统采用基于进程切换基于时间片轮转的调度算法来使用CPU。
在理解进程切换之前,我们需要理解以下问题:
【问题1】函数的返回值是如何在外部拿到的呢?

函数的返回值通常是局部变量,函数销毁就没有了,操作系统通常会将这个返回值放入一个CPU寄存器中存着。

【问题2】系统是如何得知我们进程当前执行到哪一行代码呢?

进程中有一个叫程序计数器pc,可以记录当前进程正在执行指令的下一行指令的地址。

【问题3】CPU中存在很多寄存器,这些寄存器扮演着说明角色呢?

1.可以提高效率。
①将进程高频数据放入寄存器中。
②CPU寄存器中保存的是进程相关的数据,这样进程就可以随时随地被CPU快速访问修改了。
2.所以CPU寄存器里保存的是进程的临时数据。而这些临时数据被称为当前进程运行时的上下文。

当时间片结束时,进程从CPU上离开时,要将直接的上下文数据保存好甚至带走(为什么呢?因为该进程可能还没有执行完整,因为时间片的原因而结束,等下次再到这个进程运行时就要从刚刚结束的地方开始运行)而保存数据的目的就是为了下次进程回来切换时,进程原来的数据可以恢复。

所以进程在切换时有两大核心:

一是保存当前进程的上下文,保存在进程的PCB中。
二是恢复将要切换的进程的数据,从进程的PCB中获取。

并发的本质就是很多进程在CPU上以时间片的方式进行来回切换,人整段代码在一定时间内,都得以推进,切换的速度很快CPU执行也很快,时间片一到,首先将当前进程的上下文保存,然后让该进程去等待队列里排队,等将活跃队列运行完,再将轮转队列放上来,这样CPU就可以周而复始的轮转调度了。

http://www.mmbaike.com/news/34027.html

相关文章:

  • 做黄色网站怎么赚钱如何做好网络营销管理
  • 做非法网站怎么规避营销网络的建设有哪些
  • 上海网站平台建设北京seo百度推广
  • 如何制作自己的公司内部网站制作网站需要什么
  • 青海西宁网页网站制作企业网站建设的一般要素
  • idc自动续费网站源码制作网站首页
  • 网站建设 四川上海百度移动关键词排名优化
  • 安徽动漫公司 网站制作 安徽网新网络小说排行榜
  • 申请备案 关网站网站怎么优化推荐
  • 彩票走势网站怎么做的常见的营销手段
  • 源码网站程序营销策划品牌策划
  • 做推广什么网站好google免费入口
  • 注册安全工程师注册管理系统官网专业seo培训学校
  • 营销型网站设计关键词筛选
  • 网站平台建设基本情况百度网盘app
  • app网站建设开发百度2023免费下载
  • 宁波网站建设服务商门户网站
  • 成都系统开发百度关键词搜索优化
  • 如何用dw做网站首页企业营销策划书模板
  • 网站运营需要 做哪些工作内容怎么做网站链接
  • wordpress谷歌广告seo关键词优化推广报价表
  • 建筑建设行业网站网店运营教学
  • 有源码帮忙搭建网站吗亚马逊关键词搜索器
  • 宁波网站建设 慕枫科技坚决把快准严细实要求落实到位
  • 新野企业网站建设制作网页的流程
  • 旅游投资公司网站建设ppt模板关注公众号一单一结兼职
  • 做外贸需要注册哪些b2b网站一站式媒体发稿平台
  • 网站流量统计工具有哪些东莞百度seo关键词优化
  • 网站开发算什么费用下载手机百度最新版
  • 定制开发网站百度付费推广的费用