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

做购物网站有什么要求吗wordpress查看访问量

做购物网站有什么要求吗,wordpress查看访问量,seo排名优化资源,最新热搜榜本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到#xff0c;在init进程中内核挂接到根文件系统之后#xff0c;会开始启动第一个应用程序: kernel_init函数代码如下: static int __init kernel_init(void * unused) //进入init进程 …  本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到在init进程中内核挂接到根文件系统之后会开始启动第一个应用程序: kernel_init函数代码如下: static int __init kernel_init(void * unused) //进入init进程 { prepare_namespace() //挂载根文件系统{... ... / /通过解析出来的命令行参数” root/dev/mtdblock3”来挂接根文件系统 mount_root(); //开始挂载}init_post(); //启动应用程序 } } 2.接下来开始分析init_post()如何启动应用程序的,代码如下: static int noinline init_post(void) {/*内核已经初始化完成,所以清除__init_begin段到__init_end段之间的数据*/free_initmem();unlock_kernel();mark_rodata_ro();system_state SYSTEM_RUNNING;numa_default_policy(); /* 打开dev/console控制台设备(串口0),使用户能输入信息, /dev/console即成为kernel_init进程的标准输入源文件描述符0, 打开失败则打印Warning: unable to open an initial console.\n */if (sys_open((const char __user *) /dev/console, O_RDWR, 0) 0)printk(KERN_WARNING Warning: unable to open an initial console.\n); 当我们删除根文件系统的内容再启动内核发现串口就会打印上面的字符串,如下图: 会显示打开dev/console失败是因为根文件系统还是在root/dev/mtdblock3, 所以能挂载根文件系统,我们擦除了mtd3内容,也就是dev里面的内容,所以无法打开console控制台。  接下来继续分析init_post(): /*调用dup打开/dev/console文件描述符两次, 该控制台设备就也可以供标准输出和标准错误使用文件描述符1和2kernel_init进程现在就拥有3个文件描述符--标准输入、标准输出以及标准错误。*/(void) sys_dup(0);(void) sys_dup(0);if (ramdisk_execute_command) { //若 ramdisk_execute_command为0,不运行它run_init_process(ramdisk_execute_command); printk(KERN_WARNING Failed to execute %s\n,ramdisk_execute_command); } 搜索上面ramdisk_execute_command,发现它是一个char型全局数组,找到它被用在init_setup()中,代码如下: static int __init rdinit_setup(char *str) {unsigned int i;/* 使ramdisk_execute_command数组等于str *、ramdisk_execute_command str; /* See auto comment in init_setup */for (i 1; i MAX_INIT_ARGS; i)argv_init[i] NULL;return 1; }__setup(rdinit, rdinit_setup); ramdisk_execute_command 发现上面__setup和我们上节分析的挂载根文件系统的__setup都是一样的 它是匹配命令行中以” rdinit”开头的字符串,由于我们uboot的命令行参数中没有”rdint”所以ramdisk_execute_command0,不执行if判断 接下来继续分析init_post(): if (execute_command) { // execute_command不为0, 运行它/* run_init_process 运行目标程序成功后会一直死循环*/ run_init_process(execute_command); /*run_init_process运行失败退出后,打印Failed to execute /linuxrc. Attempting defaults... */printk(KERN_WARNING Failed to execute %s. Attempting defaults...\n, execute_command);} 搜索上面execute_command,发现它是一个char型全局数组,找到它被用在init_setup()中,代码如下: static int __init init_setup(char *str) {unsigned int i;/*execute_command str*/execute_command str; for (i 1; i MAX_INIT_ARGS; i)argv_init[i] NULL;return 1; } __setup(init, init_setup); execute_command 发现上面__setup和我们上节分析的挂载根文件系统的__setup都是一样的 显然这里就是用来匹配命令行中以” init”开头的字符串然后再将命令行参数bootargs中的” init/linuxrc”中的” /linuxrc”放在execute_command数组中. (init/linuxrc:指定内核启动后运行的第一个脚本是当前目录下linuxrc脚本)      最终__setup(init, init_setup)宏 { __setup_str_ root_dev_setup[], root_dev_setup , 0 }; 然后放在.init.setup段中,在内核启动后进入start_kernel()函数中使用这个宏并将” /linuxrc”放在execute_command数组中. 当文件系统被擦除后,就会运行linuxrc应用程序失败,打印执行linuxrc失败,如下图:   接下来继续分析init_post(): /*运行应用程序失败后,从下面3个地方查找可能出现 init应用程序的所有地方*/run_init_process(/sbin/init);run_init_process(/etc/init);run_init_process(/bin/init);/*试图建立/bin/sh 来代替应用程序 */run_init_process(/bin/sh);/*如上图所示当前面的所有情况都失败时调用panic。这样内核就会试图同步磁盘确保其状态一致。 如果超过了内核选项中定义的时间它也可能会重新启动机器。*/panic(No init found. Try passing init option to kernel.);} 在这里init_post函数就分析完毕了. 3.当在内核中,能输入数据时,表示根文件系统的应用程序启动完毕 比如输入ps查看进程如下图(ps-process status)   接下来开始分析init进程知道命令是怎么来的转载于:https://www.cnblogs.com/lifexy/p/7405838.html
http://www.zqtcl.cn/news/392369/

相关文章:

  • 多城市网站设计阿里云网站访问不了怎么办
  • 南岗哈尔滨网站建设开发小程序多少费用
  • 百度网站入口特效词品牌企业网站建设公司
  • wordpress找回管理员密码网站关键词排名优化工具
  • 望城建设局网站网站建设与维护可行性报告
  • 免费php网站模板下载手机端网站如何优化
  • 自己做的网站 打开了没有图片注册工程公司名称大全
  • 做网站的团队业绩怎么写WordPress 去掉副标题
  • 学校网页网站模板wordpress更换域名还是之前链接
  • 市面上有什么搭建网站工作室石家庄做网站和宣传的
  • 视频图站主题 wordpress快速收录提交入口
  • 外贸视频网站投资理财网站开发
  • 专业建设网站多少钱铜川网站seo
  • 海外网站seo优化wordpress的代码逻辑
  • 怎样帮别人做网站哪有网站给光头强做面
  • 聊城营销网站建设价格网站设计论文框架
  • 成都哪家网站建设做得好介绍自己的家乡遵义网站建设
  • 阳春新农村建设网站欣赏网站
  • 永久免费企业网站建设杭州个人做网站
  • 博罗中山网站建设做网站的软件 知乎
  • 广州网站开发广州亦客网络解答wordpress换空间要改
  • 丽水企业网站开发企业erp系统是什么软件
  • 好看的网站设计个人发布信息的免费平台
  • 电商网站业务流程linux上传中文wordpress
  • 广州网站定制商家外贸seo网站推广
  • 许昌大成建设集团网站wordpress自动博客插件
  • wordpress网站地图插件中国来料加工网
  • 黑龙江做网站的公司上海企业网站建设公
  • 做公众号时图片的网站安徽建设工程造价信息网站
  • 网站开发的在淘宝上是什么类目深圳做网站的大公司