网友收藏 sbrk/brk重新指定数据段的结束位置。sbrk(增量),增量可正可负,也可以是0,,都返回原来的数据段结束地址,失败返回-1,。brk(地址),返回0或者-1。头文件。sbrk(0)可以取得当前结束地址。没有使用的虚拟内存地址,操作系统......
2023-10-13 07:56 阅读
阅读全文 网友收藏 文章浏览阅读1.1w次,点赞6次,收藏37次。Linux内核编译及添加系统调用接下来的几篇博客会详细记录总结在Linux实践课程中的问题和感悟,这是第一篇。内容要求编译一个干净的Linux内核并加载成功,不需要对内核进行修改。在1......
2023-11-13 14:22 阅读
阅读全文 网友收藏 一、介绍getcwd() 获取进程的当前工作目录,得到的是绝对路径名chdir() 改变进程当前工作目录fchdir() 改变进程当前工作目录chroot() 改变进程的根目录,每个进程都有一个根目录,在 linux 系统中,系统默认的目录结构都是以 `/`,......
2023-10-10 01:11 阅读
阅读全文 网友收藏 系统调用exit与wait4的代码基本上都在kernel/exit.c中,下面我们在引用代码时凡不特别说明出处的均来自这个文件。先来看exit的实现(kernel/exit.c):asmlinkage long sys_exit(int error_code){ do_exit((error_code&0xff)<<8);}显然,其主体为do_e......
2023-10-13 08:49 阅读
阅读全文 网友收藏 1 sysio系统调用IO(文件IO)2 stdio 标准IO一 sysio系统调用IO(文件IO):kernel为用户提供的一组函数,用于让我们能对话kernel。所以我们可以通过系统调用IO 直接对话kernel。思考:既然系统调用IO 是kernel 提供的,那么不同的系统,他们的......
2023-10-13 07:15 阅读
阅读全文 网友收藏 介绍了系统调用的一些实现细节。首先分析了系统调用的意义,它们与库函数和应用程序接口(API)有怎样的关系。然后,我们考察了Linux内核如何实现系统调用,以及执行系统调用的连锁反应:陷入内核,传递系统调用号和参数......
2023-10-13 09:24 阅读
阅读全文 网友收藏 一、I/O复用概述I/O复用概念:解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调I/O复用使用的场合:1.当客户处理多个描述符(通常是交互式输入、网络套接字)时,必须使用I/O复用。......
2023-10-14 05:15 阅读
阅读全文 网友收藏 文章浏览阅读4.2k次。操作系统课设的题目,本人做的题目是“基于块的设备驱动”,学有余力,帮室友也做了系统调用的课程设计。网上关于系统调用的资料多数都是用Ubuntu系统实现的,但我用的是centos做的,Ubuntu的做法基本......
2023-11-13 14:23 阅读
阅读全文 网友收藏 exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。 作为系统调用而言,_exit和exit是一对孪......
2023-10-13 08:49 阅读
阅读全文