上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: 操作过程如下:[root@localhost~]#cd/[root@localhost/]#lsbindevhomelost+foundmiscnetprocsbinsrvtftpbootusrbootetclibmediamntoptrootselinuxsystmpvar[root@localhost/]#cd/media[root@localhostmedia]#lsVMwareTools[root@localhostmedia]#cdVMware\Tools/[root@localhostVMwareTools]#lsmanifest.txtVMwareTools-8.1.3-2037 阅读全文
posted @ 2012-06-13 13:39 windmissing 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 一、块设备的操作的处理体系结构1.VFS(虚拟文件系统)VFS位于块设备的处理体系结构的上层,提供一个通用的文件模型。VFS和块设备的关系见Linux2.6设备管理系统调用的服务例程调用一个合适的VFS函数,将文件描述符和文件内的偏移量传递给它。2.磁盘高速缓存VFS函数确定所请求的数据是否已经存在磁盘高速缓存中,若存在,就没有必须访问磁盘上的数据了。3.映射层(块设备文件系统)(1)把文件拆分成大小相同的块,每一个块都有一个逻辑号(2)访问文件的磁盘节点,根据每一块的逻辑块号,确定这块数据的在磁盘上的位置4.通用块层(1)内核利用通用块层启动I/O操作来传送所请求的数据。每个I/O操作只针对 阅读全文
posted @ 2012-06-09 16:21 windmissing 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一、设备管理与文件管理的关系1.文件操作是对设备操作的组织与抽象设备操作是对文件操作的最终实现二、设备驱动程序模型1./sys -----> 总线-----> PCI-----> 驱动程序-----> 串口-----> 设备2.设备驱动程序模型中的几个主要的层次:(1)总线,见Linux2.6 I/O体系结构(2)PCI总线,见三(3)驱动程序,见四(4)设备,见五三、PCI总线1.地址分配策略I/O地址空间与内存空间相分离,将I/O寄存器的地址映射成内存地址,通过内存指令来操作这些寄存器2.总线竞争策略(1)配备一个分时仲裁器,遇到冲突时,仲裁器选择一个设备暂时 阅读全文
posted @ 2012-06-05 14:30 windmissing 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一、I/O体系结构二、I/O总线1.总线计算机内部大部分硬件设备通过总线连接一台计算机可以有几条总线,可以是不同类型总线与总线之间用桥连接2.I/O总线CPU与I/O设备之间的数据通路通常称为I/O总线其中,地址总线16位,数据总线8位、16位或32位三、I/O端口1.概念每个连接到I/O总线上的调和都有自己的I/O地址集,称为I/O端口CPU使用地址总线选择所请求的I/O端口,使用数据总线在CPU寄存器和端口之间传送数据I/O端口可以被映射到物理地址空间,使用对内存操作的汇编指令来对I/O端口进行操作2.应用每个设备的I/O端口被组织成一组专用的寄存器,如图:CPU通过控制寄存器向设备发送命 阅读全文
posted @ 2012-06-04 11:15 windmissing 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 一、什么是虚拟文件系统1.VFS是用户的应用程序与文件系统实现之间的抽象层2.VFS支持以下三种类型的文件系统(1)磁盘文件系统(2)网络文件系统(3)特殊文件系统二、通用文件系统模型1.VFS的主要思想是引入一个文件系统模型,这个模式能够表示所有支持的文件系统2.通用文件模型的构成(1)超级块super_block:存放已安装文件系统的有关信息,所有的超级块对象以双向链表的形式链接在一起(2)索引结点块inode:存放具体文件的一般信息,对文件是唯一的,并且随着文件的存在而存在(3)文件对象file:存放打开文件与进程之间进行交互的有关信息,仅在文件被打开时创建,它在磁盘上没有对应的映像(4 阅读全文
posted @ 2012-06-01 22:13 windmissing 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 一、引入系统调用1.概念:操作系统为在用户态运行的进程与硬件设备进行交到提供了一组接口。Linux通过向内核发出系统调用来实现这些接口2.作用:对硬件设备操作的编程更容易提高了系统的安全性使程序更有可移植性3.进入系统调用的两种方法(1)int &0x80汇编指令(2)sysenter汇编指令二、系统调用与API的区别1.API只是一个函数定义,说明了如何获得一个给定的服务系统调用中通过软中断向内核发出一个明确的请求2.API可以不使用系统调用,也可以使用多个系统调用多个API也可以调用封装了不同功能的同一系统调用3.系统调用属于同内核用户态的库函数不属于内核三、通过int $0x80 阅读全文
posted @ 2012-05-29 20:09 windmissing 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、4G线性空间的使用1.0-3G属于用户空间,无论是用户态还是内核态都可以寻址,但是内核一般不访问这里的数据3-4G属于系统空间,只有内核态的进程才可以访问。二、系统空间1.3G-4G的系统空间的使用(1)3G ----- 3G+high_memory:对前896MB RAM进程映射的线性地址(2)high_memory ----- PKMAP_BASE:非连续内存区。两个区间之间有4KB或8KB的空隔,是为了捕获对内存的越界访问(3)PKMAP_BASE ----- FIXADDR_START:永久内核映射(4)FIXADDR_START ----- 4G:固定映射的线性地址2.高端内存的 阅读全文
posted @ 2012-05-29 19:44 windmissing 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 一、Linux2.6调度算法的特点1.在固定时间内选中要运行的进程,这个时间不会因为可运行进程增多而变大2.每个CPU有自己的可运行队列3.较好地解决区分交互式进程与批处理进程的问题二、进程按调度类型分类1.SCHED_FIFO:先进先出的实时进程如果没有其它更高优先级(必须是更高)的可运行实时进程(普通进程的优先不可能高于实时进程)出现,就可以一地上运行。对于这种进程,时间长度是没有意义的。2.SCHED_RR:时间片轮转的实时进程所有具有同优先级(且都是当前情况下优先级最高)的SCHED_RR以时间片轮转的方式公平地分配CPU3.SCHED_NORMAL:时间片轮转的普通进程时间片用完后会 阅读全文
posted @ 2012-05-26 16:48 windmissing 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念1.Linux把紧随中断要执行的操作分为三类特点处理方法举例第一类紧急的在禁止可屏蔽中断的情况下立即执行修改设备和处理器同时访问的数据结构第二类非紧急的在开中断的情况下立即执行修改那些只有处理器才会访问的数据结构(例如,按下一个键后读扫描码)第三类非紧急可延迟的由独立的函数来执行把缓冲区的内核拷贝到某个进程的地址空间2.把可延迟中断从中断处理程序中抽出来,由独立的函数来执行,有助于使内核保持较短的响应时间3.Linux2.6使用可延迟函数和工作队列来处理可延迟中断,这两个都是内核函数。二、可延迟函数1.可延迟函数包括软中断和tasklet,tasklet是在软中断之上实现的task 阅读全文
posted @ 2012-05-24 11:28 windmissing 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念1.产生的位置发生的时刻时序中断CPU外部随机异步异常CPU正在执行的程序一条指令终止执行后同步2.由中断或异常执行的代码不是一个进程,而是一个内核控制路径,代表中断发生时正在运行的进程的执行中断处理程序与正在运行的程序无关引起异常处理程序的进程正是异常处理程序运行时的当前进程二、特点1.(1)尽可能快(2)能以嵌套的方式执行,但是同种类型的中断不可以嵌套(3)尽可能地限制临界区,因为在临界区中,中断被禁止2.大部分异常发生在用户态,缺页异常是唯一发生于内核态能触发的异常缺页异常意味着进程切换,因此中断处理程序从不执行可以导致缺页的操作3.中断处理程序运行于内核态中断发生于用户态时 阅读全文
posted @ 2012-05-23 20:47 windmissing 阅读(367) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页