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

南京网页网站制作美妆销售网站开发的目的

南京网页网站制作,美妆销售网站开发的目的,泉州建站公司模板,ajax实现wordpress导航栏文章目录 一、进程的优先级二、进程的四个重要概念三、上下文切换四、环境变量4.1 查看当前shell环境下的环境变量与内容 一、进程的优先级 什么是优先级#xff1f; 指定一个进程获取某种资源的先后顺序本质是进程获取cpu资源的优先顺序 为什么要有优先级 进程访问的资源 指定一个进程获取某种资源的先后顺序本质是进程获取cpu资源的优先顺序 为什么要有优先级 进程访问的资源CPU是有限的 操作系统关于调度和优先级的原则分时操作系统基本的公平如果进程因为长时间不被调整就造成了饥饿问题 Linux的优先级特点以及查看方式 查看进程的优先级 ps -lAPRI进程优先级NI进程优先级的修正数据 其中PRI值越低优先级越高 因为PRI值是由操作系统内核动态调整的我们无法直接去调整这个值所以我们必须通过nice值去调整它。nice值就是上图PRI后面NI。 因为PRI是系统内核去动态调整的我们修改后需要经过内核的允许如果这个PRI值超过了内核的最大限度那么这个值就会保留在临界值。 我们的计算公式为新的PRI 进程默认PRI nice值这个nice值有正负数我们可以举一个例子一个进程的PRI为80我们给NI值为-10再根据上面的公式得出新的PRI为70 那么如何修改呢我们可以写一个代码来看一下 #includestdio.h int main() {while(1){}return 0; } 我们可以查看它的PRI和NI值 我们可以通过下面的命令进行修改 number为想要的nice值PID为要操作的进程 renice [number] [PID] 首先查看一下该进程的id 然后进行修改~ 修改后就变成了PRI是70NI是-10 二、进程的四个重要概念 竞争性因为cpu资源优先所以进程难免会存在竞争行为具体体现在优先级上。独立性进程运行期间各个进程是不会相互干扰的即使是父子进程。并行当有多个cpu时这些cpu同时处理多个进程的行为叫做并行。并发在一段时间内每个进程都可以被cpu处理一部分指令这种行为称为并发。 假设cpu处理一个进程的时间为1秒那么1个cpu处理99个进程的时间就是99秒。但是当有一台拥有3个cpu的计算机处理这99个进程时只需要33秒。这就是并行多个cpu同时处理多个进程。 三、上下文切换 每个任务运行前CPU 都需要知道任务从哪里加载、又从哪里开始运行这就涉及到 CPU 寄存器 和 程序计数器PC 如何切换 将前一个 CPU 的上下文也就是 CPU 寄存器和程序计数器里边的内容保存起来然后加载新任务的上下文到寄存器和程序计数器最后跳转到程序计数器所指的新位置运行新任务。 被保存起来的上下文会存储到系统内核中等待任务重新调度执行时再次加载进来。 CPU 的上下文切换分三种进程上下文切换、线程上下文切换、中断上下文切换。 把临时数据转存到操作系统的行为叫做上下文保护把临时数据写回寄存器内的行为叫做上下文恢复。 四、环境变量 我们对于Linux的理解指令就是程序我们写的C语言代码也是一个程序那么有一个问题为什么Linux的指令他直接就可以在bash终端上运行为什么我们写的代码生成的可执行文件 在我们运行程序的时候需要知道此程序在哪个位置 在Linux的中的命令它为什么不需要指定路径来执行呢是因为有个叫【PATH】的环境变量在我们输入指令后会在指定路径下查找如果找不到要执行的指令就会返回错误【command not found】 因为【PATH】变量没有记录我们输入的指令的位置信息所以我们必须手动指定指令的位置。那么我们可以总结出指令(程序)是如何执行的 我们可以查看一下PATH下有哪些路径 echo $PATH可以看到上面是有各种路径每个路径是一下【:】分割我们可以看到有一个/usr/bin目录那么我们写的这个程序也就可以拷贝到这个目录下就可以不指定路径直接执行了第二个方法是将我当前这个目录的路径添加到这个环境变量中这样也可以 我们可以用下面的这条指令来修改系统变量 export PATH路径发现我们刚刚查看的变量不在了ls也无法执行了 这个时候不要慌我们可以另外再开一个终端再看 那么我们如何正确的向[PATH]添加一个路径呢我们用到下面的指令 export PATH$PATH:路径这就完成了添加一个环境变量的操作 那么为什么新开了一个终端它就又恢复了呢 这是因为在我们默认查看的环境变量是内存级的最开始的环境变量不是在内存中是在对应的配置文件中登录Linux系统的时候它会首先加载到bash进程中内存 那么这个配置文件在哪 .bash_profile # 当前登录用户环境变量 .bashrc # 当前登录用户环境变量 /etc/bashrc # 全局环境变量4.1 查看当前shell环境下的环境变量与内容 env环境变量是随着启动操作系统时生成的也就是说环境变量是属于bash的。 指令是一个程序在bash上执行那么这个程序就是bash的子进程 我们平时所用的pwd命令就是有一个环境变量叫pwd这个环境变量存储着用户当前的所在位置 我们也可以自己实现一个pwd指令 在实现的时候需要了解一个函数getenv我们用man手册查看一下 #includestdio.h #includestdlib.h int main() {char* ret getenv(PWD);printf(%s\n,ret);return 0; }可以看到我们就实现了这个 我们在bash上运行的程序是bash的子进程而环境变量是属于bash的子进程为什么能用父进程的环境变量这是因为子进程可以继承父进程的环境变量并且环境变量一定是全局属性的 在子进程是如何继承环境变量的子进程是不是有一个主函数这个主函数我们平时使用时是没有参数的但实际上它是可以带参数的还能带三个 #includestdio.h #includestdlib.h int main(int argc, char* argv[], char* environ[]) {return 0; }第一个参数代表的意思为指令参数的个数(包括指令)第二个参数代表的意思为指令参数的指针数组(因为指令参数是一个字符串)第三个参数代表的意思为环境变量的指针数组(因为环境变量是一个字符串)。我们一般不使用第三个参数而是使用操作系统提供的外部的指针数组指针【char** environ】或者是系统提供的接口函数getenv()。 我们就可以实现一个带参数的指令就像ls类似的 #include stdio.h #include string.h int main(int argc,char* argv[]) {if(argc 2){printf(指令参数太少\n);return 1;}if(strcmp(argv[1],-a)0){printf(执行-a\n);}else if(strcmp(argv[1],-b)0){printf(执行-b\n);}else{printf(指令有误\n); }return 0; } 我们可以再写一个代码来验证一下 #include stdio.h #include string.h int main(int argc,char* argv[]) {printf(%d\n,argc);int i0; for(i0;iargc;i){printf(%s\n,argv[i]);}return 0; }从上面 可以看出 [argc]是存储指令参数的个数的(包括指令)[char* argv[]]这个指针数组是存储指令参数的(包括指令) 对于第三个参数是一个指针数组存储的是各个环境变量的内容因为这些内容是字符串常量而表示字符串常量通常使用其首字符地址 我们是很少使用第三个参数的因为这个数组存储了所有的环境变量想要找到特定的环境变量还是挺困难的那么我们使用这段代码证明第三个参数存储了环境变量 #include stdio.h #include string.h int main(int argc,char* argv[],char* environ[]) {int i 0; for(i 0; environ[i]; i){printf([%d]--%s\n,i, environ[i]);}return 0; }或者使用另一种写法可以完成 #include stdio.h #include string.h int main(int argc,char* argv[]) {extern char** environ;int i0; for( i0;environ[i];i){printf([%d]--%s\n,i,environ[i]);}return 0; }环境变量是具有全局属性的也就意味着子进程只能继承父进程的具有全局属性的环境变量。称作本地变量。如何设置本地变量呢我们只需要在bash上面按这个格式敲指令 变量中间不能有空格 [变量名][内容] 我们发现使用env来查看我们设置的变量并不能显示出结果证明了我们刚刚设置的变量是本地变量 但是使用【echo】命令还可以查看到因为echo是可以操作环境变量的所用echo命令是可以操作所有的变量的不管是本地变量还是环境变量。 子进程并没有继承父进程的本地变量那我们如何使本地变量变成环境变量呢我们输入下面这个指令 export [变量名称] 现在我们学会了如何设置本地变量和如何把本地变量转换成环境变量了。那么如何查看本地变量呢或者说如何查看所有的变量呢我们使用下面这条命令 set取消变量可以使用下面这条命令 unset [变量名]最后本文学习了Linux_进程的优先级环境变量上下文切换感谢收看
http://www.ho-use.cn/article/10816654.html

相关文章:

  • 游戏网站建设方案书网站开发销售提成
  • 网站建设总体规划包括哪些济南成之运维网络科技
  • 做的比较好的二手交易网站有哪些免费搭建个人网站的3种实用方法
  • 企业把网站关闭原因没有地址如何注册公司
  • 东莞企业网站建设多少钱湖州seo排名
  • 陕西省建设部官方网站网站建设应该学什么
  • 建设网站需求文档免费软件下载官方网站
  • 小创业公司网站怎么做企业网站推广的主要方法
  • 企业大型网站开发设计建站流程阿里做网站
  • 怎么让公司网站显示官网北京微网站建设设计服务
  • 福州网站建设公司哪个好威海建设集团网站
  • 网站建设 工作室做网站站长一年能赚多少钱
  • 网站pc端建设怎么做盗版电影网站吗
  • 厦门模板建站系统中国空间站朋友圈
  • 企业交易平台的网站制作多少钱把网站放到域名上
  • 什么是网站维护中湛江seo哪家好
  • html网站开发实用技术曲沃县建站塔山双喜
  • 服务器搭建网站环境厦门网站设计定制
  • 天津网站制作推广企业邮箱888
  • 青海做网站的公司邢台交友吧
  • 成都医院网站建设黄山工程建设信息网站
  • 有空间有域名怎么做网站wordpress cufon
  • 沈阳网站关键词优化服务好新闻发稿平台
  • 广州传业建设有限公司网站网站子栏目设计
  • 手机网站域名m打头网站的手机客户端怎样做
  • 手游网站怎么做北京营销型网站建设哪家好
  • 啥也不懂怎么建设网站个人网站开发软件
  • 宁夏找人做网站多少钱网络营销是什么加什么
  • 百度商桥网站代码去哪里添加山门做网站
  • 贵阳网站设计与开发怎么做百度云服务器建设网站