首页 > 2015年03月16日 > 全部分享
if心得
文章编写了一个if语句写的小脚本,脚本功能为创建一个bash脚本文件,效果如下:第一条,条件测试:如果已经存在同名的bash脚本将会用vim进入脚本并且光标停留在最后一行第二条,条件测试:如果已经拥有一个同名的非bash脚本的shell脚本将提示已经存在一个非bash的shell脚本并且..
分类:其他   时间:2015-03-16 06:30:27    收藏:0  评论:0  赞:0  阅读:352
内核源码研读预备知识
穿插在代码研读中的细节数据类型:类型定义:内核使用typedef来定义各种数据类型,以避免依赖于体系结构相关的特性,比如,各处理器上标准数据类型的位长可能不相同。定义的类型名称如sector_t、pid_t等,这些都是由内核在特定于体系结构的代码中定义的,以确保相关类型的值落..
分类:其他   时间:2015-03-16 06:30:06    收藏:0  评论:0  赞:0  阅读:383
内核c语法
1、asmlinkage与FASTCALLasmlinkage告诉编译器将参数存入局部栈FASTCALL通知(与体系结构相关的)编译器将参数传给通用寄存器include/asm/linkage.h#defineasmlinkageCPP_ASMLINKAGE__attribute__((regparm(0)))#defineFASTCALL(x)x__attribute__((regparm(3)))#definefastcall__..
分类:其他   时间:2015-03-16 06:29:56    收藏:0  评论:0  赞:0  阅读:360
Llinux启动流程
部分引用他人总结,如有侵权,请告知本人删除一、引导过程内核引导过程依次涉及的文件为src/arch/i386/boot/bootsect.Ssrc/arch/i386/boot/setup.Ssrc/arch/i386/boot/compressed/head.Ssrc/arch/i386/boot/compressed/misc.csrc/arch/i386/boot/kernel/head.Ssrc/init/main.c1..
分类:系统服务   时间:2015-03-16 06:29:36    收藏:0  评论:0  赞:0  阅读:498
字符设备模板
linux驱动makefile写法: ifneq ($*KERNELRELEASE),) obj-m :=hello.o else KERNELDIR?=/lib/modules/$(shell uname-r)/build PWD :=$(shellpwd) default: $(MAKE) -C$(KERNELDIR)M=$(PWD)modules endif初始化和关闭:static int__initinitialization_funciton(void) { * } mo..
分类:其他   时间:2015-03-16 06:29:27    收藏:0  评论:0  赞:0  阅读:257
并发与竞态
linux驱动——并发和竟态序——正在运行的多个用户空间程序可能以一个令人惊讶的组合方式访问我们的代码。SMP系统甚至可能在不同的处理器上同时执行我们的代码。内核代码是可抢占的,因此我们的驱动程序代码可在任何时候丢失对处理器的独占。信号量(semaphore)的实现: 有一对..
分类:其他   时间:2015-03-16 06:29:16    收藏:0  评论:0  赞:0  阅读:287
高级字符驱动程序操作之ioctl
高级字符驱动程序操作之ioctlioctl: 用户空间原型:int ioctl(intfd,unsignedlongcmd,…); “...”并非可变参数,而是可选参数,防止编译器进行类型检查。 驱动原型:int (*ioctl)(structinode*inode,structfile*filp,unsignedintcmd, unsignedlongarg); inode和flip是原来的f..
分类:其他   时间:2015-03-16 06:29:06    收藏:0  评论:0  赞:0  阅读:349
阻塞型IO
在linux中,一个等待队列通过一个“等待队列头(wait queuehead)”来管理,等待队列头是一个类型为wait_queue_head_t的结构体,定义在<linux/wait.h>中 两种定义并初始化方法: DECLARE_WAIT_QUEUE_HEAD(name); wait_queue_head_t my_queue; init_waitqueue_head(&m..
分类:其他   时间:2015-03-16 06:28:46    收藏:0  评论:0  赞:0  阅读:355
异步通知和设备定位
异步通知: 用户程序需完成两个步骤: 1、指定属主进程owner 使用fcntl系统调用的F_SETOWN,属主进程的进程ID就被保存在filp->f_owner中 2、真正启用异步通知机制 在设备中设置FASYNC标志,通过fcntl的F_SETFL 执行完这两个步骤后,输入文件就可以在新数据到达时请求发送..
分类:其他   时间:2015-03-16 06:28:36    收藏:0  评论:0  赞:0  阅读:244
权能与受限操作
权能与受限操作 全部全能操作可以在<linux/capability.h>中找到,其中包含了系统能够理解的所有权能;不修改内核源码,对驱动程序开发者来讲有意义的权能如下所示: CAP_DAC_OVERRIDE 越过文件或目录的访问权限(数据访问控制或DAC)的能力 CAP_NET_ADMIN 执行网络管理任..
分类:其他   时间:2015-03-16 06:28:26    收藏:0  评论:0  赞:0  阅读:398
度量时间差
度量时间差 时钟中断由定时硬件以周期性的间隔产生,这个间隔由内核根据HZ值设定,HZ是一个与体系结构有关的常数,定义在<linux/param.h>或者该文件包含的某个子平台相关的文件中。 可以通过修改HZ值来改变系统时钟中断发生的频率,但必须重新编译内核以及所有模块。 每..
分类:其他   时间:2015-03-16 06:28:06    收藏:0  评论:0  赞:0  阅读:318
延时与定时
延时操作: 长延时,长于一个时间滴答的。 忙等待: 通过监视jiffies寄存器实现 while(time_before(jiffies, j1)) cpu_relax(); cpu_relax()的实现与平台有关,大部分系根本不会做任何事情,而在对称多线程系统上,可能会将处理器让给其它线程。 如果进入循环前禁用了中断,..
分类:其他   时间:2015-03-16 06:27:56    收藏:0  评论:0  赞:0  阅读:414
tasklet、工作队列和共享队列
tasklet(小任务): tasklet在很多方面类似内核定时器:他们始终在中断期间运行,始终会在调度他们的同一CPU上运行,而且都接收一个unsigned long参数。不同的是,不能要求tasklet在某个给定的时间执行,调度一个tasklet,表明我们只是希望内核选择某个其后的时间来执行给定的函..
分类:其他   时间:2015-03-16 06:27:46    收藏:0  评论:0  赞:0  阅读:437
Swift函数闭包
一、闭包的概念计算机语言要支持闭包的前提条件有2个:1、支持函数类型,能够将函数作为参数或返回值传递;2、支持函数嵌套示例:funccaculate(opr:String)->(Int,Int)->Int{varresult:(Int,Int)->Intswitch(opr){case"+":result={(a:Int,b:Int)->Intinreturna+b}d..
分类:编程语言   时间:2015-03-16 06:27:26    收藏:0  评论:0  赞:0  阅读:381
linux网络简单配置
linux的网卡配置文件在"/etc/sysconfig/network-script/"目录下。DEVICE=eth0 HWADDR=00:0C:29:DC:BF:57 TYPE=Ethernet UUID=8bb9e970-45fd-4007-8333-0ef5000e9603 ONBOOT=no NM_CONTROLLED=yes BOOTPROTO=dhcp常用配置网卡的命令ifupeth0#打开eth0网卡ifdowneth#关闭eth0网卡..
分类:系统服务   时间:2015-03-16 06:27:16    收藏:0  评论:0  赞:0  阅读:282
【java】静态代码块
静态代码块格式:static{静态代码块中的执行语句}特点:随着类的加载而执行,只执行一次,用于给类进行初始化,并优先于主函数执行考虑如下java语句classStaticCode { static { System.out.println("a"); } } publicclassDemo{ static { System.out.println("b"); } publicstat..
分类:编程语言   时间:2015-03-16 06:27:06    收藏:0  评论:0  赞:0  阅读:261
Windows服务器配置与管理
工作任务描述HT公司接到一个项目:HW公司要部署windowsserver2008,要在新机器上安装2008。项目要求:1、服务器上有1块CPU;1G内存;利用局域网连接服务器网络(host-only网络);两块scsi磁盘,每一块磁盘30G硬盘空间;2、每一块磁盘之分一个主分区,在C盘上安装WindowsServer20..
分类:Windows开发   时间:2015-03-16 06:26:56    收藏:0  评论:0  赞:0  阅读:323
【java】对象初始化的一些理解
一个对象创建语句Girly=newGirl("hera",20);执行这句话要经历8个步骤:new用到了Girl.class,所以先会找到Girl.class文件并加载到内存中如果有的话,先会执行该类中的static代码块,为Girl.class类进行初始化在堆内存中开辟空间,分配一个内存地址在堆内存中建立对象的特有属性..
分类:编程语言   时间:2015-03-16 06:26:46    收藏:0  评论:0  赞:0  阅读:245
windows操作系统安装步骤
1.使用虚拟机部署服务器的基本环境,1块CPU;1G内存;利用局域网连接服务器网络(host-only网络);两块scsi磁盘,每一块磁盘30G硬盘空间。(1)设置cpu及内存(2)配置为仅主机模式(3)设置两块scis硬盘为30G2.在C盘上安装安装WindowsServer2008。(1)设置键盘和语言及时区(2)把两块磁..
分类:Windows开发   时间:2015-03-16 06:26:36    收藏:0  评论:0  赞:0  阅读:345
学习Linux旅途--Day Three--
2015年3月13日20:00:55一、ls,cd,alias命令的介绍及用法二、目录结构三、Linux的常用快捷键一、首先看下ls这个命令ls(选项)(参数):用来显示目标列表,在Linux是使用率最高的命令,ls命令输出的信息可以进行彩色加亮显示,以区分不同类型的文件。-a:显示所有文件h或者目..
分类:系统服务   时间:2015-03-16 06:26:16    收藏:0  评论:0  赞:0  阅读:307
1615条   上一页 1 ... 72 73 74 75 76 ... 81 下一页
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!