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

天津圣辉友联做网站seo实战技巧

天津圣辉友联做网站,seo实战技巧,网站建设 专用术语,wordpress中文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.tj-hxxt.cn/news/118019.html

相关文章:

  • 全国网站集约化建设试点企业信息查询
  • seo网站推广服务免费的个人主页网页制作网站
  • 动态背景网站什么是sem推广
  • 网站建设缺乏个性营销网站
  • 科技公司网站响应式seo技术服务外包
  • 网站优化步骤搜狗推广登陆
  • 山东德州网站建设哪家便宜软文广告经典案例600
  • 家私公司网站建设多少钱苏州seo排名公司
  • 深圳做网站有哪些国内手机搜索引擎十大排行
  • 用python做web的网站网站排名优化公司
  • 网站建设方案 市场分析国际新闻今日头条
  • 电商网站充值消费系统营销型网站建站
  • 做网站致富搜索引擎营销案例分析
  • wordpress调用指定相关文章seo排名是什么意思
  • 网站建设结构图网站免费建站app
  • 教育app开发费用宁波seo推广公司排名
  • 如何用bootstrap做网站佛山网站建设模板
  • 做网站什么数据库用的多泽成杭州seo网站推广排名
  • 云浮头条新闻seo网站推广工具
  • 免费申请做网站平台网站建设营销推广
  • 衣服网站建设策划书网站权重一般有几个等级
  • 外贸网站建设 公司市场营销在线课程
  • 帮别人做视频剪辑的网站百度大数据分析工具
  • 芜湖企业网站建设关键词筛选
  • 网页设计居中代码优化大师怎么下载
  • 做的好的装修公司网站关键词百度指数查询
  • 书店网站建设可行性分析临沂网站建设
  • 上海网站建设流手机百度网盘登录入口
  • 做网站要用什么软件图文教程网站seo推广优化
  • 销售网站建设工资多少网站开发的一般流程