Linux C高级编程文件操作之系统调用宗旨:技术的学习是有限的,分享的精神的无限的! 库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准。使用库函数编写的函数一般可以应用于不同......
admin 2023-10-13
文章浏览阅读478次。do_mount()->do_new_mount()->do_add_mount()->lock_mount()的功能是递归的查找终于的挂载文件夹。这里的代码比較难懂,所以以下将具体描写叙述。linux同意挂载文件夹上挂载多个文件系统,后面挂载的文件系统将......
admin 2023-11-13
跟踪分析Linux5.0内核处理系统调用的过程416原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/实验要求下载并编译Linux5.0内核选择一个系统调用进行跟踪实验步骤一. 编译Linux5.0内核1. tar -xvf linux-5.0.tar2. cd linux-5.03. make menuco......
admin 2023-10-13
在分析代码之前,先看一下mount的图解分析,通过对linux mount的分析,可以进一步了解linux vfs的工作原理。为了说明的方便,我们下面以这样的场景为例进行描述:1. 系统中有xfs, ext2和minix等若干文件系统模块2. 现有/dev/sda1和/dev/s......
admin 2023-10-13
系统调用UNIX/Linux系统绝大部分功能都是通过系统调用实现,比如:open/close…UNIX/Linux把系统调用都封装成了C函数的形式,但他们并不是标准C的一部分。一切皆文件在UNIX/Linux系统下,几乎所有资源都是以文件形式提供了,所......
admin 2023-10-13
1、磁盘目录项结构/* * The new version of the directory entry. Since EXT2 structures are * stored in intel byte order, and the name_len field could never be * bigger than 255 chars, it's safe to recla_kernel 编程调用symlink...
admin 2023-10-13
1.chmod 修改文件权限 所需头文件: #include<sys/stat.h> 函数原型: int chmod(const char *filename,int mode) 参数: filename为文件名,mode为文件权限,八进制数。 返回值:成功返回0,失败返回-1,同时errno会被设置为合适值......
admin 2023-10-13
linux服务器开发相关视频解析:linux多线程之epoll原理剖析与reactor原理及应用手把手带你实现一个Linux内核文件系统什么技术水平,才能拿到腾讯T9(原T3.1)offer?一、什么是系统调用系统调用 跟用户自定义函数一样也是一个函数,......
admin 2023-10-13
一、介绍opendir()和 fdopendir() 都是打开一个目录返回DIR 类型指针(目录的句柄)closedir() 关闭打开的目录句柄readdir() 从一个目录流读取连续的条目,返回时并未对文件名进行排序,按照文件在目录中出现的天然次序,也就是文件系统......
admin 2023-10-10
dup()和dup2()函数都可以用来复制一个文件描述符,原型为:int dup(int oldfd);int dup2(int oldfd, int newfd);函数执行成功返回新的文件描述符,失败则返回-1。dup()函数返回的新的文件描述符是当前可用文件描述符中最小数值,示例代码:i......
admin 2023-10-13
一、介绍文件的时间戳是存在i节点上的,比如用zip,unzip解压文件会改变文件的时间戳其实会调用下列的系统调用来改变的。utime用来改变文件的上次访问和修改时间戳utimes不同于utime是可以使用微妙级精度来指定时间值futimes使......
admin 2023-10-10
使用的 glibc : glibc-2.17 使用的 linux kernel :linux-3.2.07系统调用是内核向用户进程提供服务的唯一方法,应用程序调用操作系统提供的功能模块(函数)。用户程序通过系统调用从用户态(user mode)切换到核心态(kernel mode ),从......
admin 2023-10-13
文章浏览阅读4.4k次,点赞7次,收藏44次。1. 系统调用Hook简介系统调用属于一种软中断机制(内中断陷阱),它有操作系统提供的功能入口(sys_call)以及CPU提供的硬件支持(int 3 trap)共同完成。我们必须要明白,Hook技术是一个相对较宽......
admin 2023-11-13
一、介绍下面的参数是传给main函数的argc: 传入main函数的参数的个数argv: 各个参数的值envp: 环境变量,当我们在shell下执行的时候,其实是由shell做了fork操作创建了一个进程 这样环境变量其实就是继承了shell下的环境变量,下面......
admin 2023-10-10
fork:通过fork创建新进程vfork:主要用于马上执行exec的情况,因为马上就exec装入新的程序,所以可以去掉fork中分配新的地址空间等操作,进而加速进程创建clone:功能更强,参数更多;主要用于创建线程/父子进程资源共享等,......
admin 2023-10-13
文章浏览阅读280次。一、系统调用UNIX/Linux系统绝大部分功能都是通过系统调用实现,比如:open/close…UNIX/Linux把系统调用都封装成了C函数的形式,但他们不是标准C的一部分。标准库中的函数绝大部分时间都工作在用户态,但部......
admin 2023-11-13
转载自:http://blog.sina.com.cn/s/blog_6385c7310100iqmn.html功能描述:mount挂上文件系统,umount执行相反的操作。头文件:#include #include //errno的判断用法: int mount(const char *source, const c_umount 函数...
admin 2023-10-13
友情链接申请要求: 不违法不降权 权重相当 请联系QQ:737597453