Linux
xiyou_pen/pen
这个作者很懒,什么都没留下…
展开
-
系统调用日志收集系统实例
1 介绍实验环境Ubuntu64位,系统自带内核版本为4.10.0, 实验使用版本为4.13.1。系统调用日志收集系统的结构图2 实验1.添加系统调用将myaudit.c文件添加到arch/x86/kernel/目录下 myaudit文件#include <linux/uaccess.h>#include <linux/proc_fs.h>#include <linux/init.h>#in原创 2017-11-29 18:47:27 · 2911 阅读 · 0 评论 -
Linux文件系统基础
一、文件系统层次分析 由上而下主要分为用户层、VFS层、文件系统层、缓存层、块设备层、磁盘驱动层、磁盘物理层 用户层:最上面用户层就是我们日常使用的各种程序,需要的接口主要是文件的创建、删除、打开、关闭、写、读等。 VFS层:我们知道Linux分为用户态和内核态,用户态请求硬件资源需要调用System Call通过内核态去实现。用户的这些文件相关操作都有对应的System Call函数接口原创 2017-12-20 15:48:22 · 183 阅读 · 0 评论 -
Linux的open源代码分析报告
1. 在对open源代码的主要函数分析之前我们先来看一下整个打开流程是如何做到的 在内核中要打开一个文件,首先应该找到这个文件,而查找文件的过程在vfs里面是由do_path_lookup或者path_lookup_open函数来完成的。这两个函数将用户传进来的字符串表示的文件路径转换成一个dentry结构,并建立好相应的inode和file结构,将指向file的描述符返回用户。用户随后通过原创 2017-12-12 22:37:00 · 2429 阅读 · 0 评论 -
内核同步
1. 内核为什么引入同步机制呢?由于中断、异常机制的引入,以及内核态抢占导致了这些内核控制路径(进程)以交错的方式运行。对于这些交错路径执行的内核控制路径,如不采取必要的同步措施,将会对一些关键数据结构进行交错访问和修改,从而导致这些数据结构状态的不一致,进而导致系统崩溃。因此,为了确保系统高效稳定有序地运行,内核必须要采用同步机制。2. 内核同步机制的概念在linux系统中,我们把对共享的资源进行原创 2017-12-05 12:36:01 · 245 阅读 · 0 评论 -
linux设备驱动
linux设备驱动驱动程序英文全称Device Driver,也称作设备驱动程序。驱动程序是用于计算机和外部设备通信的特殊程序,相当于软件和硬件的接口,通常只有操作系统能使用驱动程序。 在现代计算机体系结构中,操作系统并不直接于硬件打交道,而是通过驱动程序于硬件通信。设备驱动介绍驱动程序是附加到操作系统的一段程序,通常用于硬件通信。 每种硬件都有自己的驱动程序,其中包含了硬件设备的信原创 2018-03-24 08:35:42 · 302 阅读 · 0 评论 -
进程与线程的区别
在进程的进程描述符中,mm域存放着该进程使用的内存描述符,所以current->mm便指向当前进程的内存描述符。fork()函数利用copy_mm()函数复制父进程的内存描述符,也也就是current->mm域给其子进程,而子进程中的mm_struct结构体实际是通过文件kernel/fork.c中的allocate_mm()宏从mm_cachep slab缓存中分配得到的。通常,每个进程都有唯一的原创 2018-03-24 09:56:11 · 157 阅读 · 0 评论 -
小米三面,依图科技一面(k8s)
小米一面(运维开发)项目(jenkins,k8s日志收集,问是否需要加kafka,因为数据量较大,需要加kafka缓存数据),网络(TCP/IP,三次握手,四次挥手),raft算法(听说过脑裂问题没有),redis(只是会调用),文件系统(vfs,超级块对象,索引节点对象,目录项对象,文件对象)小米二面(安全开发)审计系统,操作系统的加载到启动?,设计模式,gdb调试命令(加断点 br...原创 2019-08-31 18:01:08 · 349 阅读 · 0 评论