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

日本人真人做真爱免费的网站/微信搜一搜排名优化

日本人真人做真爱免费的网站,微信搜一搜排名优化,做网站的开源代码,新华书店网上商城终于把操作系统实验一:完成添加一个新的系统调用做完啦!一个什么也不懂的linux小白,从一开始觉得做完实验遥遥无期,甚至在想会不会挂科,到现在终于编译成功,心情也是一波三折。故以此篇记录第一次实验完成的…

终于把操作系统实验一:完成添加一个新的系统调用做完啦!一个什么也不懂的linux小白,从一开始觉得做完实验遥遥无期,甚至在想会不会挂科,到现在终于编译成功,心情也是一波三折。故以此篇记录第一次实验完成的情况。

要求:添加一个新的系统调用,返回指定文件的相关信息,如索引节点编号、硬连接数、文件所有者标识符、文件的字节数和访问方式等。

什么是系统调用

系统调用也叫程序接口,是应用程序请求OS内核完成某功能时的一种过程调用,是用户程序对OS内核功能进行调用的一种手段。

Linux中系统调用的处理过程如下:

1)首先有封装例程设置系统调用功能号和参数,并存到相应寄存器中;

2)执行封装例程中的int 0x80指令,系统产生软中断(或陷入),由中断硬件完成部分现场信息保护:PSW的值和PC寄存器的值;并通过中断向量转向一个中断处理程序system_call()完成其他CPU现场信息的保存:如陷入类型、参数表指针、其他CPU寄存器的值等;

3)使用系统调用功能号查找系统调用入口表,找到相应系统调用的服务例程的入口地址sys_xxx();

4)执行系统调用服务例程sys_xxx(),完毕后返回执行成功与否以及成功时的执行结果给调用者;恢复被中断进程或新调度进程的CPU现场,返回被中断进程或新调度进程执行。

添加系统调用步骤

1、以下载的linux内核文件夹为base dir,首先在./arch/x86/entry/syscalls/syscall_64.tbl文件中添加一个系统调用号,包括系统调用名称、服务例程入口。

2、在./include/linux/syscalls.h文件中添加服务例程的原型声明。

3、在./kernel/sys.c中添加系统调用服务例程。

添加の源码

系统调用服务例程

SYSCALL_DEFINE6

测试程序

#include

所使用的内核源码解释

源码版本4.16.3

参考服务例程代码

SYSCALL_DEFINE2

正常时,返回0

126b42b9872854e4a130d6b8403ce7ec.png
参考文档

include/linux/stat.h —— kstat结构体定义

struct 

include/linux/fs.h

vfs_stat

static 

AT_FDCWD:相对于当前进程工作空间

AT_NO_AUTOMOUNT: 和挂载点有关,允许收集挂载点的属性。

STATX_BASIC_STATS:查询基本信息


fs/stat.c

vfs_statx

/**

查找文件所在的path,填入path结构体

struct 

vfsmount结构描述的是一个独立文件系统的挂载信息,每个不同挂载点对应一个独立的vfsmount结构,属于同一文件系统的所有目录和文件隶属于同一个vfsmount,该vfsmount结构对应于该文件系统顶层目录,即挂载目录;

dentry:目录的相关信息

详见 https://blog.csdn.net/dongcheng123456789/article/details/100125707

user_path_at

static 

user_path_at_empty

int 

filename_lookup

static 

fs/stat.c

vfs_getattr()

/*

security_inode_getattr

int 

vfs_getattr_nosec

d_backing_inode 函数 会获得 inode

/**

generic_fillattr

/**
http://www.lbrq.cn/news/1271323.html

相关文章:

  • 阎良网站建设/sem与seo
  • 电话销售做网站犯法吗/网站自然排名优化
  • 通江移动网站建设/百度广告业务
  • 苏州谢谢网络公司/百度推广账户优化
  • 教育网站建设收费/免费个人网站建设
  • 幼儿园主题活动网络图/海淀搜索引擎优化seo
  • 手机上如何制作app/安卓优化大师清理
  • 新疆建设厅网站房屋租赁合同/企业seo职位
  • 沈阳网站建设公司电话/流量网站
  • 建网站的公司广州排名/运营培训班学费大概多少
  • 用动易做的校园网站/推广软文发布平台
  • 如何留住网站用户/微信代运营
  • 网站发外链/谷歌浏览器官网下载
  • 校园网站集群建设/百度广告收费表
  • 网站实现中英文/windows7优化大师
  • 网站宽屏/什么叫网络营销
  • 网络问卷制作平台/厦门seo厦门起梦
  • 民宅挂在民宿网站上 保洁谁做/seo优化排名工具
  • 手机网站需要多少钱/爱站网反链查询
  • 网站优化成本/开通网站需要多少钱
  • 有什么可以做兼职的网站/广告外链购买交易平台
  • 河南网站建设服务公司/网络推广策划
  • 超级seo助手/百度关键词优化排名
  • 我想做个旅游网站怎么做/如何营销推广
  • 东莞自适应网站建设/安卓优化大师最新版下载
  • 长沙感染人数最新消息/潜江seo
  • 全部网站/鸿星尔克网络营销案例分析
  • 邯郸网站建设咨询安联网络/推广软文范文
  • 北京网站建设 案例/seo网站排名优化快速排
  • 网站修改影响做百度竞价吗/宁波网络营销策划公司
  • 系统性学习数据结构-第一讲-算法复杂度
  • Linux性能监控与调优全攻略
  • 电商项目_性能优化_数据同步
  • 自动化框架pytest
  • 每日算法刷题Day56:7.31:leetcode 栈6道题,用时2h30min
  • 【MATLAB】(三)数据类型与运算符