自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux stat, lstat, fstat, fstatat函数详解(1)

stat, lstat, fstat, fstatat函数是UNIX提供给我们的访问文件信息的接口.以下是函数原型:#include <sys/stat.h>#include <sys/types.h>#include <unistd.h>int stat(const char *pathname, struct stat *statbuf);...

2018-09-17 21:51:01 4025

原创 u-boot 1.1.6 分析(1)

分析一个软件先从根目录Makefile分析.VERSION = 1PATCHLEVEL = 1SUBLEVEL = 6EXTRAVERSION= U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL).$(EXTRAVERSION)VERSION_FILE = $(obj)include/version_auto...

2018-08-09 18:46:02 185

原创 linux等待队列

等待队列(wait_queue)表示一组睡眠的进程, 当某种条件为真的时候, 由内核来唤醒它们.等待队列由双向链表来实现, 每一个等待队列都有一个等待队列头(wait_queue_head).struct __wait_queue_head { spinlock_t lock; struct list_head task_list;};typedef struct __wait_...

2018-07-18 22:24:55 224

原创 linux task_struct结构总结

task_struct描述符描述了进程的所有信息,所以task_struct非常复杂, 该数据结构定义在linux/sched.h头文件.task_struct数据结构中第一个字段是state, 它描述了当前进程的状态.TASK_RUNNING(准备执行或者正在cpu执行) TASK_INTERRUPTIBLE(可中断的睡眠(即可以通过中断来唤醒进程, 包括软中断)) TASK_UNI...

2018-07-17 13:55:10 541

原创 x86中的分页机制

分页单元(page unit): 把线性地址转化成物理地址. 为了效率, 线性地址分成固定长度的组, 该单元成为页, 页内部连续的线性地址被映射到连续的物理地址.页框: 分页单元把RAM分成固定长度的页框, 页框是一个存储区域, 与页长度相同页是数据块, 页框是存储区域, 所以页可以放到页框和磁盘中.线性地址到物理地址的映射功能成为页表, 页表放在驻村, 并且在启用分页单元之前必须对页表初始化.分...

2018-05-19 23:08:09 735

原创 x86_32内存管理: 分段

段描述符:段描述符放在ldtr或者gdtr寄存器中, 有4种不同的段描述符:代码段描述符: 代表一个代码段, 它可以放在GDT或者LDT中数据段描述符:代表数据段任务状态段描述符(TSSD):代表一个任务状态段, 该段用于保存处理器寄存器的内容, 只能出现在GDT中局部描述符表描述符(LDTD)代表一个包含LDT段, 只出现在GDT逻辑地址到线性地址的转换:...

2018-05-19 15:45:44 194

原创 使用字符设备

分配设备编号后要创建该字符设备使用以下命令mknod /dev/test c major minormajor和minor的值可以用从/proc/devices文件获取, 可以写脚本来获取我们要使用该设备驱动就要通过系统调用, 实现系统调用接口就要用到一个数据结构file_operationsstruct file_operations fops = { .owner = THIS_MOD...

2018-05-18 07:57:21 409

原创 linux分配设备编号

在linux内核中用dev_t来保存设备的编号, dev_t 是个32位数值12位为主设备号, 20位次设备号, 想要获得dev_t的设备号最好使用给定的宏MAJOR(dev_t dev), MINOR(dev_t dev).相反用MKDEV(int major, int minor)来获取dev_t类型的值.如果我们在明确知道设备编号的时候可以使用register_chrdev_region函数...

2018-05-17 23:13:30 1415

BIOS中断调用_PhoenixBIOS用户手册(英文)

Phoenix Bios 的用户手册, 手册里面第四章是程序员编程向导, 有BIOS的功能调用.(英文)

2018-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除