![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linuxOS
文章平均质量分 61
kerphy
本人跟着http://blog.csdn.net/coolszy学移动开发。特此申明。
展开
-
linux编程基础
stdin,stdout,stderr通过文件描述符来访问,文件描述符0代表stdin,1代表stdout,2代表stderr。% program > output_file.txt 2>&1% program 2>&1 | filter这里2>&1表示stderr和原创 2011-09-04 22:21:41 · 465 阅读 · 0 评论 -
linux中断机制
80x86采用了8259A可编程中断控制器芯片,每个这种芯片可以管理8个中断,通过级联最多可以管理64个中断。80x86支持256个中断,每个中断向量表需要4字节组成,因此整个中断向量表需要1KB,而且他们必须放在0x00000000处。linux内核中,中断分为硬件中断和软中断。每个中断都由0~255中的一个数来标志。前32个中断号被intel保留,属于软中断,即所谓的程序异常。li转载 2012-02-16 00:40:17 · 378 阅读 · 0 评论 -
linux内核结构
1.单内核模式的系统中,操作系统所提供的服务流程为: a.应用主程序使用指定的参数值执行系统调用指令(int x80) b.CPU从用户态切换到内核态 c.操作系统根据具体的参数值调用特定的系统调用服务程序 d.这些服务程序根据需要再调用底层的一些支持函数以完成特定的功能。 e.完成了所要求的转载 2012-02-14 23:39:09 · 325 阅读 · 0 评论 -
AT&T汇编语法格式
1.寄存器的引用要在寄存器前加%, 如mov %eax, %ebx2.操作数排列是左源右目的,如上例表示把值从eax寄存器mov到ebx寄存器3.常数/立即数前面要加$,如mov $4, %ebx 4.对于变量加$表示取地址。如mov value,%ebx表示传值给ebx,而mov $value, %ebx表示传地址给ebx.5.操作数长度通过在命令后加后缀实现,如movb,mo转载 2011-12-25 11:26:53 · 534 阅读 · 0 评论 -
内核模块的编写1
#include #include MODULE_LICENSE("Dual BSD/GPL");// 是用来告知内核, 该模块带有一个自由的许可证; 没有这样的说明, 在模块加载时内核会抱怨. static int hello_init(void){ printk(KERN_ALERT "Hello, world\n");//printk 函数在 Li原创 2011-12-18 16:21:05 · 378 阅读 · 0 评论 -
使用netlink
用户态使用 netlinkNetlink 相对于系统调用,ioctl 以及 /proc 文件系统而言具有以下优点:1,为了使用 netlink,用户仅需要在 include/linux/netlink.h 中增加一个新类型的 netlink 协议定义即可, 如 #define NETLINK_MYTEST 17 然后,内核和用户态应用就可以立即通过 socket API 使用该 netli原创 2011-12-19 23:07:35 · 547 阅读 · 0 评论 -
使用sysctl来实现内核参数修改
//header: sysctl-exam.h#ifndef _SYSCTL_EXAM_H#define _SYSCTL_EXAM_H#include #define MY_ROOT (CTL_CPU + 10)#define MY_MAX_SIZE 256 enum { MY_INT_EXAM = 1,原创 2011-12-19 22:29:33 · 3284 阅读 · 0 评论 -
内核运行于用户上下文时,内核空间与用户空间通信的实现
运行在用户上下文环境中的代码是可以阻塞的,这样,便可以使用消息队列和 UNIX 域套接字来实现内核态与用户态的通信。但这些方法的数据传输效率较低,Linux 内核提供 copy_from_user()/copy_to_user() 函数来实现内核态与用户态数据的拷贝,但这两个函数会引发阻塞,所以不能用在硬、软中断中。一般将这两个特殊拷贝函数用在类似于系统调用一类的函数中,此类函数在使用中往往"穿梭原创 2011-12-18 15:09:20 · 390 阅读 · 0 评论 -
linux相关链接(后续更新...)
http://lamp.linux.gov.cn/Linux/kernel_options.html Linux 2.6.19.x 内核编译配置选项简介http://bbs.chinaunix.net/viewthread.php?tid=2202907&extra=page%3D1%26amp%3Bfilter%3Ddigest 在VMware5.0环境下编译内核(kerne原创 2011-11-27 20:29:47 · 824 阅读 · 0 评论 -
asm和c的相互调用
;*************foo.asm*********************extern choose ;[section .data] ;data is herenum1st dd 3 ;data definitionnum2nd dd 4[section .text转载 2012-04-04 00:00:46 · 641 阅读 · 0 评论