2.4.1 内存申请和释放    include/linux/kernel.h里声明了kmalloc()和kfree()。用于在内核模式下申请和释放内存。void *kmalloc(unsigned int len,int priority); void kfree(void *__ptr);    与用户模式下的malloc()
Linux 是一个开源操作系统,广泛应用于各种计算机设备和系统中。作为 Linux 操作系统的核心部分,Linux 内核为整个操作系统提供了基本的功能和服务。Linux 内核本身是一种 UNIX 类型的操作系统内核,由 Linux 之父 Linus Torvalds 在 1991 年首次发布。 Linux 内核包含了许多函数和模块,这些函数和模块为操作系统的各个部分提供了底层支持和功能。其中,L
原创 2024-02-28 10:11:32
120阅读
Linux操作系统中,exit函数是一个非常重要的函数,它负责终止一个进程并返回相应的退出码。在Linux内核中,exit函数的实现是由glibc库中的exit函数提供支持的。在本文中,将会介绍Linux内核中exit函数的实现原理以及其在操作系统中的作用。 在Linux内核中,exit函数的主要作用是将一个进程从运行态转换为终止态。当一个进程调用exit函数时,内核会清理该进程所占用的资源,
原创 2024-04-10 10:59:29
122阅读
hutdown,halt,reboot,init2004-04-23 15:18 pm <font 作者:作者 现载:Www.8s8s.coM 地址:无名 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init 它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。    1.shutdo
作用是:返回输入参数的最高有效bit位(从低位往左数最后的有效bit位)的序号,该序号与常规0起始序号不同,它是1起始的(当没有有效位时返回0)。
转载 2014-12-18 15:15:00
891阅读
2评论
目录Linux内核入门什么是Linux内核定义作用内核空间和用户空间内核态和用户态如何理解内核在操作系统中的位置如何查看当前系统中的内核信息Linux内核入门由于最近新买的无线网卡的驱动对Linux内核版本有要求,因此为了不白花这一笔钱,我不得不想办法给Linux内核进行降级,在这个过程中,对Linux内核也有了一点入门的理解,在此稍作记录,以后希望能够更加深入地进行了解.什么是Linux内核
Linux内核(kernel)概念首先来说kernel与OS的区别:kernel是OS最基础的部分,OS还包括其他比如APACHE等套件。Linux内核的作用是将应用层的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。 内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。 Linux进程采用层次
转载 2024-03-21 11:22:33
53阅读
转载 2016-07-07 17:30:00
262阅读
2评论
内核对象一、内核对象1、基于下图来理解内核的访问,下图是Linux的系统结构 2、每个内核对象只是内核分配的一个内存块,而且这个内存块只能由该内核访问,该内存块是一种数据结构。3、因为内核对象只能由内存访问,故Users App是无法直接在内存中找到内核对象的数据,这样也保证了内核对象的结构状态一致,且微软去修改内核对象的结构不会影响到User App。4、Win提供了一组函数给User
使用的 glibc : glibc-2.17使用的 linux kernel :linux-3.2.07系统调用是内核向用户进程提供服务的唯一方法,应用程序调用操作系统提供的功能模块(函数)。用户程序通过系统调用从用户态(user mode)切换到核心态(kernel mode ),从而可以访问相应的资源。这样做的好处是:为用户空间提供了一种硬件的抽象接口,使编程更加容易。有利于系统安全。有利于每
本文分析基于Linux 0.11内核,转载请表明出处://blog.csdn.net/yming0221/archive/2011/06/05/6527337.aspx Linux在move_to_user_mode()之后,进程0通过fork()产生子进程实际就是进程1(in...
转载 2013-04-15 11:27:00
140阅读
2评论
目录内存空间函数列表kmalloc__get_free_pagesdevm_kzallocdma_alloc_coherent内存空间函数列表 分配原理 最大分配 使用情况 __get_free_pages 直接对页...
原创 2022-03-09 14:54:10
1153阅读
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等
原创 2010-07-12 19:15:00
399阅读
对于网络管理员来说,ARP协议可能听起来很熟悉。ARP是第2层设备实现的一种协议,用于发现和相互通信。arping工具就是使用这个协议工作的。现在,为什么你会需要arping呢?想象一下,你正在使用一个小型的办公室网络。使用经典的ping命令来ping主机来验证它们的可用性是非常诱人的,对吗?好吧,如果你使用的是ICMP协议,那么你实际上是在执行ARP请求来探测网络中的设备。这就是arping工具
在apache,nginx,lighttpd等webserver其中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile究竟是什么呢?它的原理又是怎样呢?在传统的文件传输里面(read/write方式),在实现上事实上是比較复杂的,须要...
第一类延时函数原型是:(忙等) ( 头文件是 #include<linux/delay.h> )void ndelay(unsigned long nsecs);void udelay(unsigned long usecs);void mdelay(unsigned long msecs);说明:内核函数 ndelay, udelay, 以及 mdelay 对于短延时好用,分别延后执
原创 2022-08-22 16:40:13
1802阅读
一个模块可以使用另一个模块导出的函数,可以通过函数EXPORT_SYMBOL(func_name)来导出,导出后的函数位于/proc/kallsyms文件中。1.   导出代码:#include <linux/init.h>#include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_i...
原创 2021-08-16 23:21:33
1722阅读
***************************************************************************************************************************作者:EasyWave 时间:2013.02.06 类
转载 2017-02-21 15:24:00
344阅读
2评论
转载 2017-04-20 21:19:00
141阅读
2评论
课本第17、19和20章内容学习关于设备驱动和设备管理,Linux主要有四种内核成分设备类型:在所有Unix系统中为了统一普通设备的操作所采用的分类。模块:Linux内核中用于按需加载和卸载目标码的机制。内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系。sysfs: 表示系统中设备树的一个文件系统。设备类型在Linux以及所有Unix系统中,设备被分为以下三种类型:块设
  • 1
  • 2
  • 3
  • 4
  • 5