Linux内核
文章平均质量分 65
Linux系统编程及内核研究
IT回忆录
谋事在人
展开
-
Linux内核-tasklet微任务
tasklet用于处理一些不那么紧急的任务,可以延后在将来的某个时间点来执行,linux通过中断来响应处理一些任务,这类任务通常是很紧急的需要立即处理,此类任务通常运行于interrupt context(中断上下文),存在较多限制。tasklet实现原理tasklet实现基于软中断(softirq),而软中断基于硬件中断,它们的优先级逐次递增。简单描述下处理流程,当前硬件中断时,内核根据irq号进而执行该IRQ的处理例程(ISR),irq处理例程结束后处理软中断,tasklet软中断例程遍.原创 2022-03-14 22:00:19 · 1364 阅读 · 0 评论 -
Linux内核中断(X86)
基本上Linux支持的平台都或多或少采用了中断的概念,中断可以周期性产生或者随机产生,如:网卡硬件在收到数据包时会产生中断,而后内核中断处理例程将进行处理。中断的分类:硬件中断由与CPU连接的外设产生的中断,外设无法产生中断,是通过一个中断控制器产生中断。软中断由内核模拟实现的一种中断机制,是平台无关的,它依赖于硬件中断。同步中断和异常:由CPU自身产生,例如 除零 或用户空间应用程序访问了一个地址空间,该地址空间没有关联物理页...原创 2022-02-15 10:09:55 · 777 阅读 · 0 评论 -
Linux 字符设备驱动程序
前段时间遇到一个功能需求,需要将内核空间的一些数据结构和接口导出给用户空间,当然这可以通过自定义文件系统、netlink等机制实现,但为了实现更一般的接口,决定通过字符设备来实现,编写字符设备驱动程序,向用户空间导出设备文件,这样用户空间程序可以使用简单的读写文件操作设备,由于Linux内核当前更新到5.x版本了,字符设备的实现较之前版本(很早了,我以前研究的2.6.x)还是有些区别,所以赶紧研究了5.x版本内核的驱动管理实现,并整理了当前内核版本的字符设备驱动编写流程。驱动程序是操作系统很重要组成部分原创 2021-09-06 15:00:51 · 204 阅读 · 0 评论 -
Linux内核模块原理
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..原创 2021-06-18 18:00:42 · 1672 阅读 · 0 评论 -
Linux 进程调度分析
系统中存在很多进程,它们由进程调度组件调度交替运行,多个进程共享CPU时间,每个进程使用CPU时间的一部分(时间片),由于时间很快,造成了并行执行的错觉。原创 2021-04-27 13:24:26 · 182 阅读 · 0 评论 -
Linux 读写进程物理内存
待写原创 2021-03-29 16:49:48 · 859 阅读 · 0 评论 -
Linux Shell
#!/bin/bash#输入一个档案全名,并输出案类型和权限#日期:2014-01-20#环境变量设置PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binexport PATHecho '请输入一个档案全名,我将判断它的类型和权限'read -原创 2014-01-20 15:52:24 · 669 阅读 · 0 评论 -
Linux 指令笔记
cmd1 && cmd2 命令1成功正确执行则执行cmd2cmd1 || cmd2 命令1错误执行则执行cmd2原创 2013-12-31 18:40:09 · 590 阅读 · 0 评论 -
Linux用户管理笔记2
1.新增用户useradd -m 用户名 例子:useradd -m testuser12.新增用户组groupadd 用户组名groupadd testgroup13.删除用户userdel [-r] 用户名-r参数表示删除该用户所在主目录及文件例子:userdel -r testuser14.修改用户密码passwd 用户名例子:passw原创 2013-04-02 15:48:57 · 584 阅读 · 0 评论 -
Linux启动流程(摘自鸟哥)
1.加载BOIS硬件信息并获取第一个启动设备的代码2.读取启动设备的MBR(主引导记录)引导加载程序(grub libo spfdisk)3.加载操作系统核心,并尝试驱动硬件设备4.核心执行init获得运行信息5.init程序执行/etc/rc.d/rc.sysinit文件6.init程序执行批处理文件7.init程序执行/etc/rc.d/rc.local(需要自启动的程原创 2013-03-18 10:43:25 · 622 阅读 · 0 评论 -
Linux例行性命令的建立
例行性命令简单来说就是每隔一段时间就执行一次的操作或仅在指定时间执行一次以后就不再执行的操作。1.仅执行一次at 14:50 2013-03-12 /bin/sync shutdown -h now使用atrm 删除计划 atrm 计划号使用atq 查询所有计划注释:在2013年3月12日下午14点50分关闭系统2.重复执行crontab 30 15 12 3 * s原创 2013-03-12 15:18:23 · 663 阅读 · 0 评论 -
LinuxShell-检查指定目录是否存在shell脚本文件
#!/bin/bash#检查指定目录下是否存在shell脚本文件#$1 目录路径#author=zhangqiang#date=2013-02-26#脚本环境变量配置PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binexport P原创 2013-02-26 13:07:55 · 6504 阅读 · 0 评论 -
Linux用户管理笔记1
登录Linux需要帐号和密码,不同的帐号拥有不同的权限,在Linux中拥有用户和用户组的概念,合理利用这两个特性可以方便的实现复杂的权限控制UID :帐号对应的数字ID号(Linux系统只认这个,帐号是方便人记忆的)GID:用户组对应的数字ID号帐号与UID的对应关系存在于/etc/passwd文件中,Linux的文件或目录都有拥有者和用户组的概念,它们决定能够访问这个文件或目录的帐号原创 2013-02-26 19:31:04 · 622 阅读 · 0 评论 -
Linux Shell 脚本笔记2
#--------------------------------------------------------------------------------------for.sh#!/bin/bash#for#author=zhangqiang#date=2013-02-22PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/原创 2013-02-22 15:20:47 · 473 阅读 · 0 评论 -
Linux shell脚本笔记
#!/bin/bash#author:zhangqiang#date:2012-02-21testing80=`netstat -tuln | grep ":80"`if["$testing"!=""]; then echo "www service status:Run"else echo "www service status:Stop"原创 2013-02-21 13:15:09 · 491 阅读 · 0 评论 -
Centos配置PHP环境
Centos配置PHP开发环境一、 安装apache先安装gcc编译器yum install gcc gcc-c++ gcc-g77如果系统中没有make工具就执行下面这条命令安装,后面要用到它Yum install make 安装apache需要用到这些文件apr-1.4.6.tar.gz-----------apache可移植库apr-util-1.5.1原创 2013-01-27 01:36:23 · 6047 阅读 · 0 评论 -
Linux 交换空间管理(swap)
Linux 交换空间管理(Manager Swap)建立交换空间的2种方法:一.磁盘分区用作交换空间二.将文件用作交换空间一、磁盘分区设置为交换空间1.使用fisk命令创建一个磁盘分区2.使用mkswap将这个磁盘分区设置为交换分区3.使用swapon激活这个交换分区,使Linux系统立即可以使用它4.编辑/etc/fstab配置文件使每次重启自动激活交换空间d原创 2013-01-24 01:15:42 · 2032 阅读 · 0 评论 -
Linux找回root用户密码
Linux 找回root密码有时候将root密码忘记,可以进入单用户模式修改root密码,简单讲下Linux的运行级别,可以理解为运行权限,不同运行级别做不同的事情,Linux总共有6个运行级,分别是:0-停机1-单用户2-多用户,不过没有NFS(网络文件系统)3-多用户,标准的运行模式(Linux默认就是3)4-系统保留的(我没试过,有兴趣的朋友可以试试)5-X11控原创 2013-01-22 20:50:39 · 868 阅读 · 0 评论 -
Linux 下配置Samba实例代码
配置smb.conf实例:[global]workgroup=WORKGROUPnetbios name=Linuxserver string=linux sambasecurity=user[linuxsir]path=/home/dzsnowwriteable=yesbrowseable=yesvalid users=dzsnowglobal:为全局原创 2012-12-17 20:37:44 · 497 阅读 · 0 评论