自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 makefile--自动化编译

源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。在编译时,编译器只检测程序语法,和函数、变量是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成Object File。而在链接程序时,链接器会在所有的Object File中找寻函数的实现,如果找不到,那到就会报链接错误码(Linker Error),在VC下,这种错误一般是:Link 2001错误,意思说是说,链接器未能找到

2016-08-24 15:53:08 471

原创 linux内核设计与实现读书笔记——设备和模块

一、设备类型1、块设备 blkdev:以块为单位寻址,支持重定位(数据随机访问),通过块设备节点来访问。2、字符设备cdev:不可寻址,提供数据流访问,通过字符设备节点访问。3、网络设备:对网络的访问,通过物理适配器和协议进行访问。4)杂项设备miscdev:表示简单设备;伪设备二、模块可装载内核模块:单独的二进制镜像,允许内核在运行时i动态插入或删除代码。ps 静态编

2015-01-20 14:04:49 400

原创 linux内核设计与实现读书笔记——页高速缓存

一、页高速缓存内容对应磁盘上的物理快的内存物理页面。写缓存实现策略:1)nonwrite:直接写磁盘,同时将缓存中数据失效。2)write-through cache:自动更新内存缓存同时更新磁盘文件。3)写回:写到缓存中并标记页面为脏,加入脏页链表中,由写回进程周期性写回磁盘。(linux使用的方法)缓存回收策略:1)最近最少使用LRU:跟踪页面的访问(或按照访问时间

2015-01-08 09:41:15 485

原创 linux内核设计与实现读书笔记——进程的地址空间

进程的地址空间:由进程可寻址的虚拟内存组成(一般采用平坦地址空间,也有采用段地址空间,内存区域:可呗进程访问的合法地址,可以包含代码段、数据段、未初始化全局变量内存映射(bss段零页),进程用户空间栈内存映射,共享内存段、内存映射文件、匿名内存映射等内存对象。内存描述符:描述进程的地址空间,mm_struct定义在中,包括内存对象的地址、使用该地址的进程、页表等信息,自身链接在双向链表中。

2015-01-06 09:59:33 494

原创 linux内核设计与实现读书笔记——IO层

IO层设备分为两种1)块设备:能够随机访问固定大小的数据片,以安装文件系统的方式使用2)字符设备:按照字符流的方式被有序访问。块设备的管理:1)单位文件快/IO快:扇区的2的整数倍,小于页面大小,访问文件系统的单位。缓冲区:每个缓冲区与一个快对应,是瓷盘快在内存中的表示;缓冲区头:缓冲区的描述符,用buffer_head结构体描述,定义在,描述磁盘快和物理内存缓冲区之间

2015-01-05 09:50:47 334

原创 linux内核设计与实现读书笔记——虚拟文件系统

虚拟文件系统VFS:内核子系统,为内核用户程序提供文件和文件系统的相关接口。一、通用文件系统接口:可以使用通用系统调用对不同介质和文件系统进行操作。原因:内核在底层文件系统接口建立抽象层——通用文件系统模型,包括文件系统常用功能集和行为,使得linux能够支持各种文件系统。实际文件系统通过编程提供VDS期望的抽象接口和数据结构。流程:用户空间操作——> 虚拟文件系统接口——>实际文

2014-12-15 10:30:57 485

原创 linux内核设计与实现读书笔记——内存管理

一、页内存管理的基本单位;页。内核中用struct page表示物理页,位于,属性包括flag页状态、count页的引用计数,virtual页虚拟地址。目的在于描述物理内存本身。??1)获得页  核心:alloc_pages(gft_t gft_mask,order),连续分配2n个连续物理页,返回至向第一个页page结构体的指针;也有函数返回逻辑地址get_free_page;也

2014-12-10 09:59:59 436

原创 linux内核设计与实现读书笔记——内核同步

内核并发原因:1)中断:由于中断可以打断当前正在执行的代码异步发生2)软中断和tasklet:内核可以打断当前正在执行的代码,在任何时刻唤醒或者调度软中断和tasklet3)内核抢占:被其它内核任务抢占4)睡眠、用户空间同步:内和执行的进程睡眠引起程序调度5)对称多处理器:多个处理器同时并发执行代码

2014-12-02 17:31:20 450

原创 中断——linux内核设计与实现读书笔记

2)第二部分

2014-11-28 10:41:00 407

原创 系统调用——linux内核设计与实现读书笔记

应用程序——>C库——>内核API:用户空间实现的应用编程接口。POSIX:Unix可移植操作系统标准  和   SUSv3:C库:实现了Unix的主要API,包括标准C库函数和系统调用接口。系统调用:  函数形式: asmlinkage long sys_XXX(void) 系统调用号:内核记录系统调用表中所有已注册的系统调用以及对应调用号,存储于 arch/i386/k

2014-11-26 11:12:32 406

原创 进程管理——linux内核设计与实现读书笔记

进程

2014-11-22 10:00:20 400

原创 Bochs使用总结

Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。使用C++开发的,它被设计成可以运行于多种主流平台下,包括x86, PPC, Alpha, Sun和MIPS。Bochs全部用软件来模拟的,从启动到重启,包括PC的外设键盘,鼠标,VGA卡,磁盘,网卡等。Bochs自带调试器bochsdbg,它可以从PC机刚启动的时就开始模拟。

2014-10-29 09:59:50 544

原创 GCC编译简单流程---汇总

预处理、编译、汇编、链 接

2014-10-24 09:44:40 456

转载 汇编知识

.section指示把代码划分成若干个段(Section),程序被操作系统加载执行时,每个段被加载到不同的地址,操作系统对不同的页面设置不同的读、写、执行权限

2014-10-23 14:58:44 404

翻译 linux文件系统——读书笔记

partition一般只支持一种文件系统类型。

2014-10-21 22:42:09 361

原创 linux读书笔记-硬盘分区

Linux : ext2 档案格式,Windows: FAT表。Linux可支持Windows。磁盘组成:sector-> cyliner -> partitions 。磁盘扇区(sector)一般包括512个字节,扇区(sector)是磁盘的最小存储单位。partition:使用磁盘分割表将硬盘划为不同区块。逻辑扇区blocks是文件系统层的,为操作系统中分配容量和存取数

2014-10-20 10:14:55 328

空空如也

空空如也

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

TA关注的人

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