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

网站pc和手机端分离怎么做网站seo资讯

网站pc和手机端分离怎么做,网站seo资讯,庆阳网红农村娃宝军,西安三桥网站建设xv6源码分析 001 我们先看看xv6这个项目的基本结构(只看代码部分) 主要就是两个目录kernel 和 user。 user是一些用户程序,也就是我们平时在shell上面执行的命令,每执行一个命令就会创建一个新的用户进程来执行这个命令 在user目…

xv6源码分析 001

我们先看看xv6这个项目的基本结构(只看代码部分)

主要就是两个目录kerneluser

  • user是一些用户程序,也就是我们平时在shell上面执行的命令,每执行一个命令就会创建一个新的用户进程来执行这个命令

    user目录下有两个文件需要我们注意一下:usys.plinitcode.S

    usys.pl:主要是输出一段汇编指令,并通过重定向输入到指定的文件中,下面我们就来看看这段汇编

    print "# generated by usys.pl - do not edit\n";print "#include \"kernel/syscall.h\"\n";	# 引入定义对应系统调用号的宏常量的头文件sub entry {my $name = shift;print ".global $name\n";print "${name}:\n";print " li a7, SYS_${name}\n";print " ecall\n";print " ret\n";
    }
    

    很明显,这是系统调用的trap过程,但是这个是什么语言我还不清楚,

    • .global $name:类似C语言中的声明,global声明这个过程在这个目录内可见
    • ${name}::过程的名称,在c代码中通过一个向量extren char name[];可以引入这个汇编过程
    • li a7, SYS_${name}li指令的作用将任意的立即数加载到指定的寄存器中,这里是将SYS_{name}这个宏常量加载到寄存器a7中,为什么这么做呢?明天我们将会看到,在进行系统调用的时候,发起系统调用的进程将会将CPU的执行权交给内核线程,内核线程如何知道进程调用的是那个系统调用呢?这是就可以从寄存器a7中取出先前存放进去的SYS_{name}系统调用号,来执行相应的系统调用。注意:这是涉及的是线程切换:由用户态线程切换到了内核线程,因为每个进程都都一个内核线程,这样能够大大减少系统调用的开销。
    • ecall:陷入指令(trap),使进程从用户态切换到内核态,即用户线程切换到内核线程
    • ret:调用返回,返回的内核线程的上下文

    我们再来看看initcode.S

    主要作用是系统调用execstart的过程,我就直接在源码上注释了

    # Initial process that execs /init.
    # This code runs in user space.#include "syscall.h"# exec(init, argv)
    .globl start				 	# 声明start过程为整个目录可见
    start:						    # 过程的开始,标签la a0, init				 # 将init这个字符串的地址加载到寄存器a0la a1, argv				 # 将argc字符串的地址加载到寄存器a1li a7, SYS_exec			 # 将exec的系统调用号加载到寄存器a7ecall					# 陷入内核执行系统调用# for(;;) exit();
    exit:							li a7, SYS_exitecalljal exit				# jal指令是跳转到对应的标签,相当于c语言的goto# char init[] = "/init\0";
    init:							# 定义一个字符串,表示加载的可执行程序映像的名称.string "/init\0"# char *argv[] = { init, 0 };	 # 定义了一个argv 数组
    .p2align 2
    argv:.long init					# init字符串的地址.long 0						# 一个空指针

ok,今晚就先到这里了,我们明晚再继续吧。

字符串的地址
.long 0 # 一个空指针

ok,今晚就先到这里了,我们明晚再继续吧。

http://www.hkea.cn/news/245150/

相关文章:

  • 外网建筑设计网站线上渠道推广有哪些方式
  • 厦门做网站公司排名电工培训机构
  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广
  • 深圳市门户网站建设网站推广优化方法
  • 中山公司注册网页怎么优化
  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化
  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法