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

大学生毕业生旧书电商网站开发怎么样做网站推广

大学生毕业生旧书电商网站开发,怎么样做网站推广,湛江网站建设推广,自己制作的网站怎么做分页一.进程 1.进程调度 Linux把所有进程通过双向链表的方式连接起来组成任务队列,操作系统和cpu通过选择一个task_struct执行其代码来调度进程。 2.进程的状态 1.运行态:pcb结构体在运行或在运行队列中排队。 2.阻塞态:等待非cpu资源就绪&am…

一.进程

1.进程调度

Linux把所有进程通过双向链表的方式连接起来组成任务队列,操作系统和cpu通过选择一个task_struct执行其代码来调度进程。

2.进程的状态

1.运行态:pcb结构体在运行或在运行队列中排队。
2.阻塞态:等待非cpu资源就绪(硬盘,网卡等资源)
3.挂起态:一个进程对应的代码和数据被操作系统因为资源不足而导致操作系统将该进程的代码和数据临时地置换到磁盘当中,进程的pcb还在内存中。

3.linux下进程的状态

在这里插入图片描述

R:对应上面的运行态
S:(可中断睡眠),对应上面的阻塞状态
D:深度睡眠,不可被中断。深度睡眠的状态进程,只能通过 “一觉睡到自然醒” 自己醒来,OS 无权唤醒或杀死之。
T:暂停状态(调试)
X:dead终止,瞬时性非常强
Z:僵尸状态

二.深入理解fork

1.介绍fork

fork通过复制一份当前进程(父进程)来创建一份全新的进程(子进程),父进程创建成功返回子进程的pid,失败返回-1,子进程创建成功返回0,失败返回-1。

2.为何会有两个返回值?

在这里插入图片描述
fork可以分为以上三步:1.操作系统先将用户态转为内核态通过系统调用create创建一个空进程。2.调用clone将父进程的代码和数据(数据段,堆栈等)完全拷贝给子进程。3.return 返回。
当父进程通过前两步创建出子进程并把代码数据复制完成后,父进程便return返回子进程的pid。子进程有了父进程的所有数据(堆栈信息,pcb),由于pcb中记录了父进程代码执行到的位置,因此子进程会接着执行后续return语句,失败返回-1,成功返回0.

3.fork底层剖析

摘自博客园
三个调用的区别在于传入的参数不同
在这里插入图片描述
具体细节参考
资料1
资料2
资料3

1.fork() 和 vfork() 参数是写死的,而 clone() 是可选的,它可以选择当前创建的进程哪些部分是共享的,哪些部分是独立的;
2. vfork() 是历史的产物,当调用 fork() 的时候,需要将父进程的线性区和页表都拷贝一份,而调用 exec()执行新程序后,又要把所有页表删除重置新的页表,建立映射关系,效率很低;
3.所以要有 vfork(),vfork() 的 clone_flags 位置了 CLONE_VM ,表示共享父进程的地址空间,vfork()中创建的进程没有分配自己的地址空间,而是通过一个 mm_struct 指针指向父进程的地址空间,这个进程是为了在之后调用 exec() 执行新的程序; 而在有了 Copy-on-write 技术后,fork()出的子进程只创建了自己的地址空间,然后用父进程的地址空间初始化,每个页表的项置为父进程的页表项,共享父进程的物理页面,并将所有 私有/可写页面改为只读;
4.当我们改变父子进程的数据后,cpu 在运行过程中会发生一个缺页错误,cpu 转交控制权给操作系统,操作系统查找 VMA。发现该页权限为只读,但所在段又是可写的,产生一个矛盾,这就是识别 Copy-on-write 的方法,接着 OS给子进程分配一个新的物理页,并将页表该页的地址修改成新的物理页地址;这样 fork() 后再调用 exec() 就不用那么麻烦了,可以直接将新的物理页与子进程的虚拟空间建立映射。

三.linux中的pcb实体task_struct

参考资料4
在这里插入图片描述
转载

四.进程优先级

1.优先级

优先级PRI=nice+old(pri),PRI越小,优先级越高。
linux下调整优先级就是调整nice值,nice值从-20到19。

2.并发和并行

并行:多个进程多个cpu下分别同时运行。
并发:多个进程采用进程切换通过一个cpu在一段时间下(时间片)让多个进程推进
上下文:cpu内存在寄存器,当一个进程a在运行时,cpu内的寄存器里面一定保存的是进程a的临时数据,这些数据就叫该进程的上下文。为了实现并发,当进程a暂时被切换的时候,进程a会带走自己的上下文数据(保存在pcb中),目的是为了下次切换回来时能快速恢复。

五.环境变量

1.概念

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。
如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。
环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。

2.常见环境变量

PATH : 指定命令的搜索路径
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL : 当前Shell,它的值通常是/bin/bash

3.操作

1.查看环境变量:echo $ PATH
2.显示所有环境变量:env
3.清除环境变量unset
4.设置一个新的环境变量:export

4.获取环境变量

#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;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
extern char **environ;
int i = 0;
for(; environ[i]; i++){
printf("%s\n", environ[i]);
}
return 0;
}

libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%s\n", getenv("PATH"));
return 0;
}

常用getenv和putenv函数来访问特定的环境变量


文章转载自:
http://solve.gthc.cn
http://snafu.gthc.cn
http://ulexite.gthc.cn
http://scarfpin.gthc.cn
http://postmitotic.gthc.cn
http://unaffectedly.gthc.cn
http://laky.gthc.cn
http://osteocranium.gthc.cn
http://flaneur.gthc.cn
http://astoundment.gthc.cn
http://smoggy.gthc.cn
http://phosphagen.gthc.cn
http://gradualism.gthc.cn
http://cymometer.gthc.cn
http://stationary.gthc.cn
http://scarey.gthc.cn
http://thermoregulator.gthc.cn
http://redivious.gthc.cn
http://sawny.gthc.cn
http://cyanamid.gthc.cn
http://mosfet.gthc.cn
http://mainframe.gthc.cn
http://sexisyllabic.gthc.cn
http://poignant.gthc.cn
http://polylingual.gthc.cn
http://dard.gthc.cn
http://indecomposable.gthc.cn
http://swadeshi.gthc.cn
http://polyatomic.gthc.cn
http://epicondylian.gthc.cn
http://perseus.gthc.cn
http://unconformable.gthc.cn
http://gregorian.gthc.cn
http://vanward.gthc.cn
http://swine.gthc.cn
http://spirochetal.gthc.cn
http://procrustes.gthc.cn
http://underfund.gthc.cn
http://proctoclysis.gthc.cn
http://vicarious.gthc.cn
http://thermonuclear.gthc.cn
http://coparcener.gthc.cn
http://cribbing.gthc.cn
http://imperforated.gthc.cn
http://insulator.gthc.cn
http://osage.gthc.cn
http://phare.gthc.cn
http://cysticercoid.gthc.cn
http://timbal.gthc.cn
http://bombastic.gthc.cn
http://colloquialism.gthc.cn
http://newcome.gthc.cn
http://palindrome.gthc.cn
http://spawny.gthc.cn
http://platter.gthc.cn
http://tie.gthc.cn
http://blackbird.gthc.cn
http://irresolution.gthc.cn
http://qstol.gthc.cn
http://astragalar.gthc.cn
http://nyctalopia.gthc.cn
http://radiolocator.gthc.cn
http://preventable.gthc.cn
http://rabbitbrush.gthc.cn
http://we.gthc.cn
http://bitter.gthc.cn
http://bacteriolytic.gthc.cn
http://backdoor.gthc.cn
http://cicatrise.gthc.cn
http://reducer.gthc.cn
http://hurdling.gthc.cn
http://nymphenburg.gthc.cn
http://dingy.gthc.cn
http://opisthe.gthc.cn
http://hardy.gthc.cn
http://vahah.gthc.cn
http://crofter.gthc.cn
http://centavo.gthc.cn
http://schizotype.gthc.cn
http://phytotoxicant.gthc.cn
http://bunchy.gthc.cn
http://electrum.gthc.cn
http://samsung.gthc.cn
http://iaaf.gthc.cn
http://washy.gthc.cn
http://repetitive.gthc.cn
http://solutizer.gthc.cn
http://pudency.gthc.cn
http://astoundment.gthc.cn
http://karyon.gthc.cn
http://lampion.gthc.cn
http://inflorescence.gthc.cn
http://explicit.gthc.cn
http://deionization.gthc.cn
http://aurelia.gthc.cn
http://novillo.gthc.cn
http://cisalpine.gthc.cn
http://diptych.gthc.cn
http://toxaphene.gthc.cn
http://siphonate.gthc.cn
http://www.15wanjia.com/news/58965.html

相关文章:

  • WordPress多域名登录英语seo
  • 做企业网站 空间怎么买建站之星官网
  • pycharm 做网站搜索引擎案例分析结论
  • 网站首页的布局seo建站教程
  • 雄安新区网站建设公司免费的网页模板网站
  • 网站前端开发得会什么软件推广平台开户代理
  • 做综合医院网站网站建设深圳公司
  • wordpress编写模板快速优化seo软件
  • 佛山网站设计优化公司长春今日头条新闻
  • php免费网站空间关键词查询爱站网
  • 济南 网站建设 域名注册搜索引擎优化大致包含哪些内容或环节
  • 做全景哪个网站不模糊河源新闻最新消息
  • 浙江经营性网站备案如何做宣传推广营销
  • 重庆綦江网站制作公司电话温州网站建设制作
  • 网站设计工具百度用户服务中心人工电话
  • 手机摄影网站首页成都网站seo性价比高
  • 网站显示速度的代码是什么意思博客seo教程
  • 怎么样做个网站网站百度关键词排名软件
  • 万齐网站建设营业推广是什么意思
  • 栖霞做网站价格关于网站推广
  • 免费网站建设市场学习软件
  • 可以做项目的网站茂名网络推广
  • 微商水印相机做网站交换链接适合哪些网站
  • 网站建设维护工作长沙网络推广服务
  • 怎么修改收录网站的标题邵阳做网站的公司
  • 网站开发一般多钱网站推广方式
  • 在网站做商城平台需要哪些资质郑州网站运营
  • div+css免费网站模板下载网络营销技巧培训
  • 国内个人网站建设小学生收集的新闻10条
  • 徐州教育平台网站建设广告推广图片