精华内容
下载资源
问答
  • 经常在Windows环境下工作的同学在初次使用Linux操作系统的时候可能有不知所措的感觉。 Linux操作系统理念一切皆文件。因此当我们登入Linux操作系统内部的时候看到的各种目录和文件。特别进入非桌面版时,...

    经常在Windows环境下工作的同学在初次使用Linux操作系统的时候可能有种不知所措的感觉。 Linux操作系统理念是一切皆文件。因此当我们登入Linux操作系统内部的时候看到的是各种目录和文件。特别是进入非桌面版时,看到的只是一个命令行提示符。

    24483ae63578afcd8b87600be3a804f4.png

    图1 Linux交互界面

    这就给大家造成了很大的学习障碍。其实如果登录桌面版(比如Ubuntu)会发现其实跟Windows还是很像的。学习门槛也低很多。

    8288679551e045bfb49b4605589b4f32.png

    图2 图形界面目录结构

    桌面版只是对底层做了一些封装,本质上来说,Linux操作系统中一切皆文件。不仅仅存储数据的磁盘是文件,其它设备也是文件。操作系统内部的信息也是以文件的形式呈现的,比如CPU信息、内存信息和进程信息等等。

    因此,如果想学习Linux操作系统,非常有比较了解一下整个文件系统。其实有一个专门的文档来介绍Linux的目录结构,这个文档名为文件系统层次标准(Filesystem Hierarchy Standard,简称FHS)。但是这个文档非常长, 而且在Linux的目录结构中有些目录并不在该文档中,因此本文简要介绍一下Linux的核心目录。

    / – 根目录

    首先我们介绍一下Linux下的根目录。Linux的目录结构就像一棵倒着的大树,最底层是树干,然后是分支,层层细分。而根目录是Linux最底层的目录,就像一棵大树的树干一样。

    任何内容都位于根目录之下,根目录通过一个路径符号/表示。如果非要找个类比的话,可以将根目录理解为Windows下面的C:目录。但是严格来说并不一样,Linux下的"/"是所有内容(包括文件目录、设备和文件等)的根,而Windows下的C:并不是,因为如果有多个磁盘或者多个分区,那Windows下可能还有D:或者E:。

    我们可以通过执行命令cd /将当前工作路径切换到根目录。并通过命令tree -L 1显示根目录的所有下一级目录。具体如图3所示。本例中只显示了一级子目录,当然也可以通过-L 2显示二级子目录,但结果可能会占满整个屏幕。

    a242705f5ad357d1d2502360c17120ec.png

    图3 根目录示例

    /bin – 用户基础二进制文件目录

    目录/bin是根目录的一级子目录。在该目录中包含着最为基础的用户二进制文件,也就是应用程序。这个目录非常像Windows下的Programs目录。

    并非所有的应用程序都存储在这个目录下面,有些不是特别基础的程序会存储在/usr/bin目录下面。比如Chrome浏览器等,或者用户自己安装的一些程序通常会在/usr/bin下面。而系统应用程序则通常会在该目录下面,比如ls、mkdir和cp等等。

    如果你使用的桌面版的操作系统,可以通过GUI看到该目录下的内容。下面这张图是一个具体的例子。

    27131b4dd786078d217890eb8c684c1a.png

    图4 二进制目录

    /boot – 静态启动文件

    在目录/boot下面包含的文件是用于启动操作系统的文件。比如GRUB boot loader文件和操作系统内核等。但是boot loader的配置文件并没有在这里,而是在/etc目录中。

    /cdrom – 光盘安装点

    目录/cdrom并不是FHS标准的一部分,但是我们在绝大多数发行版中都可以看到。该目录是光盘的临时挂载点。

    /dev – 设备文件

    在Linux下面,设备也是一个文件,比如磁盘、优盘或者光盘等。包括无线网卡、摄像头和串口等都是一个文件。而通常这些文件都是在/dev目录下面,大家可以切换到该目录下看看具体的内容。

    3ea3700c164f5d4b50db5598fb4a518f.png

    图5 设备目录

    其中图是/dev目录的一个局部截图。在该目录下面最常见的可能就是/dev/sda这种文件,该文件表示一个SCSI磁盘。

    处理实体设备外,在该目录下面还有很多伪设备。比如/dev/random表示一个产生随机数的设备,/dev/loop0则是一个将本地文件映射为磁盘的虚拟设备。这些伪设备有的时候非常用于,我们经常使用这些设备做一些测试。

    f75df2c6eb93a4b3597b99f3a79f06d1.png

    图6 GUI目录

    /etc – 配置文件

    操作系统和应用程序的配置文件通常都统一存储在一个目录下面,这个目录就是/etc。很多配置文件都已文本文件的形式存储在这里。我们可以通过文本编辑器修改配置项。比如网络的IP地址、Nginx的配置和系统日志的配置等等都可以在这里找到。

    /home –主目录

    这个目录称为主目录。在Linux操作系统下面通常每个用户都有一个自己的目录,该目录就在/home下面。例如本例中有一个名为zhangsn的用户,该用户的主目录在/home下如图7所示。

    用户的主目录下面包含这数据文件和用户相关的配置文件。通常一个用户只能修改其目录下的文件,只有获得授权的情况下才能访问其它文件。

    5c9d423c70bd607b2f8003f983e0a42f.png

    图7 zhangsn的主目录

    /lib – 基础共享库

    在/lib目录中存储的是/bin和/sbin中二进制文件(应用程序)需要的库文件。在/usr/bin下的应用程序依赖的库通常在/usr/lib目录下面。

    /lost+found – 可恢复的文件

    每一个文件系统都有一个lost+found目录。如果文件系统崩溃,在系统下次启动的时候会进行数据检查。在检查的过程中如果发现有数据冲突的文件就会将其放入该目录中。这样,你就可以试着手动恢复该文件。

    /media – Removable Media

    在目录/media下面包含的子目录是一些可插拔设备的挂载点。当一些可插拔设备插入电脑时,在该目录下会自动创建子目录,并进行挂载。

    /mnt – 临时挂载点目录

    该目录通常是空的。主要用于临时挂载一些外部文件系统。比如有多个数据磁盘的情况下,会将格式化的磁盘挂载到该目录下面。mnt字符是mount的缩写,也就是挂载的意思。

    /opt – 自选软件包(Optional Packages)

    自行安装的非常规软件通常会安装在该目录。

    /proc – Kernel & Process Files

    该目录也是一个虚拟目录,也就是并不是存储文件数据的目录。这个目录中存储的文件通常是用来获取操作系统内核内部信息或者进程内部信息的。

    c297a9a24cac3a510e03c25fd6554683.png

    图8 proc目录

    比如每个进程在该目录下都有一个子目录,而字母的名字就是进程ID。通过cat命令对该目录下的文件进行读取,可以获取进程的详细信息。例如我们进入目录/proc/258下面,这个是进程ID为258的进程的信息,通过ls命令可以看到如下内容。

    6482a45c77d6a477a92f04d2f4e920ed.png

    图8 进程详细信息

    /root – root主目录

    目录/root是root用户的主目录。root用户的主目录并不是在/home下面,而是在根目录下面。这一点需要注意。

    /run – 应用程序状态文件

    这个目录是比较新的目录,用于应用程序存储经常变化的文件,比如文件锁、进程ID或者套接字等等。

    /sbin – 系统管理二进制文件

    该目录与/bin目录类似,用于存储二进制文件。与/bin目录不同的地方是这个目录存储的是用于系统管理的二进制文件,比如磁盘格式化(mkfs)、磁盘分区(fdisk)和网络配置(ifconfig)等命令。

    8582fa697356f02ff6c1705bd577f234.png

    图9 系统命令

    /selinux – SELinux虚拟文件系统

    如果你的Linux发行版使用SELinux作为安全管理,那么该目录包含着SELinux使用的相关文件。

    /srv – 服务数据

    该目录存储具体服务提供的数据。通常该目录是空的。这个目录中的数据通常是提供给外部的,比如Web网站存储的用户信息。这里需要注意与/var和/tmp的区别,前者是提供给外部用户的,而两者则是应用自己使用的,而且/tmp中的数据重启后会丢失。

    /tmp – 临时文件

    应用程序产生的临时数据通常存储在该目录中。该目录有一个特点,就是系统重启后目录中的数据将被清理。

    /usr – User Binaries & Read-Only Data

    与系统使用的应用程序和文件不同,在/usr目录下存储的是用户使用的应用程序的文件。比如/bin下面存储的系统二进制文件,而/usr/bin下面则是用户使用的二进制文件。/lib下面存储的系统库文件,而/usr/lib下面存储的是用于应用程序使用的库文件。

    /var – 变量数据文件

    /var目录是/usr目录对应的可写目录,在/usr目录中的内容只读的,而/var则是可写的。日志文件和正常操作中的一些写入操作通常会写入/var目录。例如,日志文件通常存储在/var/log中。

    好了,关于Linux目录的内容就介绍到这里,相信通过本次介绍,大家对Linux的目录和文件会有更加深刻和细致的了解。在以后的工作中也能更加合理的使用这些目录了。

    展开全文
  • 6.3 Windows 2000/XP的I/O系统结构和 模型 301 6.3.1 I/O管理器 303 6.3.2 PnP管理器 303 6.3.3 电源管理器 304 6.4 Windows 2000/XP I/O系统的数据 结构 307 6.4.1 文件对象 307 6.4.2 驱动程序...
  • 如果全世界所有计算机的指令集就只有x86一种,操作系统就只有Windows一种,那也许就不会有Java语言的出现。Java在刚刚诞生之时曾经提出过一个非常著名的宣传口号“一次编写,到处运行(Write Onc

    一、字节码是无关性的基石

    如果全世界所有计算机的指令集就只有x86一种,操作系统就只有Windows一种,那也许就不会有Java语言的出现。Java在刚刚诞生之时曾经提出过一个非常著名的宣传口号一次编写,到处运行(Write Once,Run Anywhere,这句话充分表达了当时软件开发人员对冲破平台界限的渴求。“与平台无关”的理想最终只有实现在操作系统以上的应用层:Oracle公司以及其他虚拟机发行商发布过许多可以运行在各种不同硬件平台和操作系统上的Java虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码,从而实现了程序的“一次编写,到处运行”。

    各种不同平台的Java虚拟机,以及所有平台都统一支持的程序存储格式 - 字节码(Byte Code)是构成平台无关性的基石,但本节标题中笔者刻意省略了“平台”二字,语言无关性正在越来越被开发者所重视。直到今天,或许还有相当一部分程序员认为Java虚拟机执行Java程序是一件理所当然和天经地义的事情。但在Java技术发展之初,设计者们就曾经考虑过并实现了让其他语言运行在Java虚拟机之上的可能性,他们在发布规范文档的时候,也刻意把Java的规范拆分成了《Java语言规范》(The Java LanguageSpecification)及《Java虚拟机规范》(The Java Virtual MachineSpecification)两部分。并且早在1997年发表的第一版《Java虚拟机规范》中就曾经承诺过:“在未来,我们会对Java虚拟机进行适当的扩展,以便更好地支持其他语言运行于Java虚拟机之上”。Java虚拟机发展到今天,尤其是在2018年,基于HotSpot扩展而来的GraalVM公开之后,当年的虚拟机设计者们已经基本兑现了这个承诺。

    实现语言无关性的基础仍然是虚拟机和字节码存储格式。Java虚拟机不与包括Java语言在内的任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息
    基于安全方面的考虑,《Java虚拟机规范》中要求在Class文件必须应用许多强制性的语法和结构化约束,但图灵完备的字节码格式,保证了任意一门功能性语言都可以表示为一个能被Java虚拟机所接受的有效的Class文件。作为一个通用的、与机器无关的执行平台,任何其他语言的实现者都可以将Java虚拟机作为他们语言的运行基础,以Class文件作为他们产品的交付媒介。例如,使用Java编译器可以把Java代码编译为存储字节码的Class文件,使用JRuby等其他语言的编译器一样可以把它们的源程序代码编译成Class文件。虚拟机丝毫不关心Class的来源是什么语言,它与程序语言之间的关系如图6-1所示。

    在这里插入图片描述
    Java语言中的各种语法、关键字、常量变量和运算符号的语义最终都会由多条字节码指令组合来表达,这决定了字节码指令所能提供的语言描述能力必须比Java语言本身更加强大才行。因此,有一些Java语言本身无法有效支持的语言特性并不代表在字节码中也无法有效表达出来,这为其他程序语言实现一些有别于Java的语言特性提供了发挥空间

    二、Class 类文件的结构

    Java技术能够一直保持着非常良好的向后兼容性,Class文件结构的稳定功不可没,任何一门程序语言能够获得商业上的成功,都不可能去做升级版本后,旧版本编译的产品就不再能够运行这种事情。本章所讲述的关于Class文件结构的内容,绝大部分都是在第一版的《Java虚拟机规范》(1997年发布,对应于JDK 1.2时代的Java虚拟机)中就已经定义好的,内容虽然古老,但时至今日,Java发展经历了十余个大版本、无数小更新,那时定义的Class文件格式的各项细节几乎没有出现任何改变。尽管不同版本的《Java虚拟机规范》对Class文件格式进行了几次更新,但基本上只是在原有结构基础上新增内容、扩充功能,并未对已定义的内容做出修改。

    任何一个Class文件都对应着唯一的一个类或接口的定义信息,但是反过来说,类或接口并不一定都得定义在文件里(譬如类或接口也可以动态生成,直接送入类加载器中)。本章中只是通俗地将任意一个有效的类或接口所应当满足的格式称为“Class文件格式”,实际上它完全不需要以磁盘文件的形式存在。

    Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在
    当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8个字节进行存储。根据《Java虚拟机规范》的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:“无符号数”和“表”。后面的解析都要以这两种数据类型为基础

    • 无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成字符串值。
    • 表是由多个无符号数或者其他表作为数据项构成的复合数据类型,为了便于区分,所有表的命名都习惯性地以“_info”结尾。表用于描述有层次关系的复合结构的数据,整个Class文件本质上也可以视作是一张表,这张表由所示的数据项按严格顺序排列构成。
      在这里插入图片描述
      无论是无符号数还是表,当需要描述同一类型但数量不定的多个数据时,经常会使用一个前置的容量计数器加若干个连续的数据项的形式,这时候称这一系列连续的某一类型的数据为某一类型的“集合”。Class的结构不像XML等描述语言,由于它没有任何分隔符号,所以在表6-1中的数据项,无论是顺序还是数量,甚至于数据存储的字节序(Byte Ordering,Class文件中字节序为Big-Endian)这样的细节,都是被严格限定的,哪个字节代表什么含义,长度是多少,先后顺序如何,全部都不允许改变

    1. 魔数与 Class 文件的版本

    每个Class文件的头4个字节被称为魔数(Magic Number),它的唯一作用是确定这个文件是否为一个能被虚拟机接受的Class文件。不仅是Class文件,很多文件格式标准中都有使用魔数来进行身份识别的习惯,譬如图片格式,如GIF或者JPEG等在文件头中都存有魔数。使用魔数而不是扩展名来进行识别主要是基于安全考虑,因为文件扩展名可以随意改动。文件格式的制定者可以自由地选择魔数值,只要这个魔数值还没有被广泛采用过而且不会引起混淆。Class文件的魔数取得很有“浪漫气息”,值为0xCAFEBABE(咖啡宝贝?)。这个魔数值在Java还被称作“Oak”语言的时候(大约是1991年前后)就已经确定下来了。它还有一段很有趣的历史,据Java开发小组最初的关键成员Patrick Naughton所说:“我们一直在寻找一些好玩的、容易记忆的东西,选择0xCAFEBABE是因为它象征着著名咖啡品牌Peet’s Coffee深受欢迎的Baristas咖啡。”这个魔数似乎也预示着日后“Java”这个商标名称的出现。

    紧接着魔数的4个字节存储的是Class文件的版本号:第5和第6个字节是次版本号(Minor Version),第7和第8个字节是主版本号(Major Version)。Java的版本号是从45开始的,JDK 1.1之后的每个JDK大版本发布主版本号向上加1(JDK1.0~1.1使用了45.0~45.3的版本号),高版本的JDK能向下兼容以前版本的Class文件,但不能运行以后版本的Class文件,因为《Java虚拟机规范》在Class文件校验部分明确要求了即使文件格式并未发生任何变化,虚拟机也必须拒绝执行超过其版本号的Class文件。

    在这里插入图片描述

    图6-2显示的是使用十六进制编辑器WinHex打开这个Class文件的结果,可以清楚地看见开头4个字节的十六进制表示是0xCAFEBABE,代表次版本号的第5个和第6个字节值为0x0000,而主版本号的值为0x0032,也即是十进制的50,该版本号说明这个是可以被JDK 6或以上版本虚拟机执行的Class文件。

    2. 常量池

    接着主、次版本号之后的是常量池入口,常量池可以比喻为Class文件里的资源仓库,它是Class文件结构中与其他项目关联最多的数据,通常也是占用Class文件空间最大的数据项目之一,另外,它还是在Class文件中第一个出现的表类型数据项目

    由于常量池中常量的数量是不固定的,所以在常量池的入口需要放置一项u2类型的数据,代表常量池容量计数值(constant_pool_count)。与Java中语言习惯不同,这个容量计数是从1而不是0开始的,如图6-3所示,常量池容量(偏移地址:0x00000008)为十六进制数0x0016,即十进制的22,这就代表常量池中有21项常量,索引值范围为1~21。在Class文件格式规范制定之时,设计者将第0项常量空出来是有特殊考虑的,这样做的目的在于,如果后面某些指向常量池的索引值的数据在特定情况下需要表达“不引用任何一个常量池项目”的含义,可以把索引值设置为0来表示。Class文件结构中只有常量池的容量计数是从1开始,对于其他集合类型,包括接口索引集合、字段表集合、方法表集合等的容量计数都与一般习惯相同,是从0开始。

    在这里插入图片描述
    常量池中主要存放两大类常量:字面量(Literal)和符号引用(SymbolicReferences)。字面量比较接近于Java语言层面的常量概念,如文本字符串、被声明为final的常量值等。而符号引用则属于编译原理方面的概念,主要包括下面几类常量:

    被模块导出或者开放的包(Package)
    类和接口的全限定名(Fully Qualified Name)
    字段的名称和描述符(Descriptor)
    方法的名称和描述符
    方法句柄和方法类型(Method Handle、Method Type、Invoke Dynamic)
    动态调用点和动态常量(Dynamically-Computed Call Site、Dynamically-Computed Constant)

    Java代码在进行Javac编译的时候,并不像C和C++那样有“连接”这一步骤,而是在虚拟机加载Class文件的时候进行动态连接,也就是说,在Class文件中不会保存各个方法、字段最终在内存中的布局信息,这些字段、方法的符号引用不经过虚拟机在运行期转换的话是无法得到真正的内存入口地址,也就无法直接被虚拟机使用的。当虚拟机做类加载时,将会从常量池获得对应的符号引用,再在类创建时或运行时解析、翻译到具体的内存地址之中

    常量池中每一项常量都是一个表,最初常量表中共有11种结构各不相同的表结构数据,后来为了更好地支持动态语言调用,额外增加了4种动态语言相关的常量,为了支持Java模块化系统(Jigsaw),又加入了CONSTANT_Module_info和CONSTANT_Package_info两个常量,所以截至JDK 13,常量表中分别有17种不同类型的常量。

    这17类表都有一个共同的特点,(也就是第9位对应16进制中的A:0x07)表结构起始的第一位是个u1类型的标志位(tag,取值见表6-3中标志列),代表着当前常量属于哪种常量类型。17种常量类型所代表的具体含义如表6-3所示。

    在这里插入图片描述

    之所以说常量池是最烦琐的数据,是因为这17种常量类型各自有着完全独立的数据结构,两两之间并没有什么共性和联系,因此只能逐项进行讲解。

    在这里插入图片描述
    请看看图6-3中常量池的第一项常量,它的标志位(偏移地址:0x0000000A)是0x07,查表6-3的标志列可知这个常量属于CONSTANT_Class_info类型,此类型的常量代表一个类或者接口的符号引用。CONSTANT_Class_info的结构比较简单,如表6-4所示。

    在这里插入图片描述
    tag是标志位,它用于区分常量类型;name_index是常量池的索引值,它指向常量池中一个CONSTANT_Utf8_info类型常量,此常量代表了这个类(或者接口)的全限定名,本例中的name_index值(偏移地址:0x0000000B)为0x0002,也就是指向了常量池中的第二项常量。继续从图6-3中查找第二项常量,它的标志位(地址:0x0000000D)是0x01,查表6-3可知确实是一个CONSTANT_Utf8_info类型的常量。CONSTANT_Utf8_info类型的结构如表6-5所示。

    在这里插入图片描述
    length值说明了这个UTF-8编码的字符串长度是多少字节,它后面紧跟着的长度为length字节的连续数据是一个使用UTF-8缩略编码表示的字符串。UTF-8缩略编码与普通UTF-8编码的区别是:从’\u0001’到’\u007f’之间的字符(相当于1~127的ASCII码)的缩略编码使用一个字节表示,从’\u0080’到’\u07ff’之间的所有字符的缩略编码用两个字节表示,从’\u0800’开始到’\uffff’之间的所有字符的缩略编码就按照普通UTF-8编码规则使用三个字节表示。

    顺便提一下,由于Class文件中方法、字段等都需要引用CONSTANT_Utf8_info型常量来描述名称,所以CONSTANT_Utf8_info型常量的最大长度也就是Java中方法、字段名的最大长度。而这里的最大长度就是length的最大值,既u2类型能表达的最大值65535。所以Java程序中如果定义了超过64KB英文字符的变量或方法名,即使规则和全部字符都是合法的,也会无法编译。本例中这个字符串的length值(偏移地址:0x0000000E)为0x001D,也就是长29个字节,往后29个字节正好都在1~127的ASCII码范围以内。

    到此为止,我们仅仅分析了TestClass.class常量池中21个常量中的两个,还未提到的其余19个常量都可以通过类似的方法逐一计算出来,为了避免计算过程占用过多的版面篇幅,后续的19个常量的计算过程就不手工去做了,而借助计算机软件来帮忙完成。在JDK的bin目录中,Oracle公司已经为我们准备好一个专门用于分析Class文件字节码的工具:javap。代码清单6-2中列出了使用javap工具的-verbose参数输出的TestClass.class文件字节码内容:
    在这里插入图片描述
    从代码清单6-2中可以看到,计算机已经帮我们把整个常量池的21项常量都计算了出来,并且第1、2项常量的计算结果与我们手工计算的结果完全一致。仔细看一下会发现,其中有些常量似乎从来没有在代码中出现过,如“I”“V”“”“LineNumberTable”“LocalVariableTable”等,这些看起来在源代码中不存在的常量是哪里来的?

    这部分常量的确不来源于Java源代码,它们都是编译器自动生成的,会被后面即将讲到的字段表(field_info)、方法表(method_info)、属性表(attribute_info)所引用,它们将会被用来描述一些不方便使用“固定字节”进行表达的内容,譬如描述方法的返回值是什么,有几个参数,每个参数的类型是什么。因为Java中的“类”是无穷无尽的,无法通过简单的无符号数来描述一个方法用到了什么类,因此在描述方法的这些信息时,需要引用常量表中的符号引用进行表达。这部分内容将在后面进一步详细阐述。

    3. 访问标志

    4. 类索引、父类索引与接口索引集合

    5. 字段表集合

    6. 方法表集合

    7. 属性表集合

    三、字节码指令简介

    四、公有设计和私有实现

    五、Class 文件结构的发展

    展开全文
  • windows 程序设计

    2011-07-24 21:16:30
    这不再是一种从键盘到程序,再到视讯显示器的单向信息流动,使用者已经能够与显示器上的对象直接交互作用了。 使用者不再需要花费长时间学习如何使用计算机或掌握新程序了。Windows让这一切成真,因为所有应用程序...
  • 主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    酒店前台管理是一个流程复杂、实时性强的系统,是酒店的标志性的关键核心业务。前台管理的水平,决定了整个酒店管理系统的水平。因此,前台管理系统是千里马酒店管理系统的核心系统。 通常房务管理(Room Division...
  • Copy Handler 是一种功能强大的 Windows 工具,旨在比操作系统中捆绑的标准功能更快地将文件从一个文件夹复制和移动到另一个文件夹。 当然,该应用程序还提供了其他几个实用程序,包括一个功能强大的界面,该界面...
  • 目录服务是一种网络服务,它存储关于网络资源的信息,并使用户或应用程序可以访问这些资源。活动目录使用同样的方法命名、描述、查找、访问、管理和保护这些资源的信息。/ h( T2 t7 ~5 X0 ^4 p - u- i! w* d# O4 d'...
  • 《OOK随心所记》是一款自定义的信息管理系统,通过软件,你可以实现任何一对多关系结构的数据管理,在软件中,一和多这两对象称为“目录”和“数据”,一个目录对应多个数据,每个目录都拥有自己的数据属性。...

            经过多日的努力,我的第一款Windows Phone应用《OOK随心所记》终于发布,1.0版下载地址:

            《OOK随心所记》是一款自定义的信息管理系统,通过软件,你可以实现任何一对多关系结构的数据管理,在软件中,一和多这两种对象称为“目录”和“数据”,一个目录对应多个数据,每个目录都拥有自己的数据属性。

            例如:一个通讯录(目录)对应多个联系人(数据),联系人具有姓名、电话号码、邮箱等属性(如下图)。

            通过简单的三步设置——(1)新建目录,(2)定制数据属性,(3)定制数据显示。你就可以开始管理你随心所想的信息了。

    1.0下载地址

    XAP下载地址:《OOK随心所记》

    转载于:https://www.cnblogs.com/lookrc/archive/2012/03/16/2399684.html

    展开全文
  • windows用户称拦截api

    2015-04-06 17:22:24
    对于文件映射是一种特殊的方式,使得程序不需要进行磁盘i/o就能对磁盘文件进行操作,而且支持多种保护属性。对于一个被映射的文件,主要是使用CreateFileMapping函数,利用他我们可以设定一些读写属性:PAGE_READONLY...
  • windows实用dos命令大全

    2010-12-10 21:27:35
    (1)XCOPYCOPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;  (2)使用时源盘符、源目标路径名、源文件名至少指定个;  (3)选用/S时对源目录下及其子目录下的所有...
  • 一套Developer Express控件包 For Delphi7

    千次下载 热门讨论 2006-01-13 09:51:35
    cxExtEditorsVCLD7.bpl dclcxExtEditorsVCLD7.bpl 解压到操作系统的System目录(注:W2K/WinXP中应为system32目录)中覆盖原文件。 20、将压缩包中ExpressEditors Library 5目录解压到Program FilesDeveloper Express ...
  • GPL 是一种可以使你免费获得自由软件的许可证,因此 Linux 使用 者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样, 2需要为购满许可证付出高价还要受到系统安装数量的限制。我...
  • Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。 作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了...
  •  Jeff Prosise是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magazinge》和《Microsoft Systems Journal》杂志的...
  • 操作系统概念第六版翻译版

    热门讨论 2013-10-28 11:41:07
    全书内容共分七部分,第部分概要解释了操作系统是什么、做什么、怎样设计与构造的,也解释了操作系统概念如何发展起来的,操作系统的公共特性什么。第二部分进程管理描述了作为现代操作系统核心的进程以及...
  • 现代操作系统第三版高清

    千次下载 热门讨论 2015-06-16 22:20:01
     3.2 一种存储器抽象:地址空间101  3.2.1 地址空间的概念101  3.2.2 交换技术103  3.2.3 空闲内存管理104  3.3 虚拟内存106  3.3.1 分页107  3.3.2 页表108  3.3.3 加速分页过程109  3.3.4 针对大内存的...
  • 目录:第部分 Windows网络封包的截获技术第1章 Windows网络协议架构1. 1 Windows网络协议的实现1. 2 Windows操作系统的总体架构1. 3 网络7层协议在Windows中的实现1. 4 TCP/IP协议的架构1. 5 TCP/IP协议在Windows中...
  • 1.2 仍然是Windows编程 1.3 第WindowsCE应用程序 1.3.1 创建第WindowsCE应用程序 1.3.2 运行程序 1.3.3 出了什么问题 1.4 Hello2程序 1.5 剖析窗口应用程序 1.5.1 窗口 1.5.2 窗口类 1.5.3 窗口过程 1.5.4 ...
  •  Jeff Prosise是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magazinge》和《Microsoft Systems Journal》杂志的...
  •  第二章 计算机系统结构  2. 1 计算机系统操作  2. 2 I/O结构  2. 2. 1 I/O中断  2. 2. 2 DMA结构  2. 3 存储结构  2. 3. 1 内存  2. 3. 2 磁盘(早期带有软盘)  2. 3. 3 磁带  2. 4 存储层次  2. 4. 1 ...
  •  Jeff Prosise是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magazinge》和《Microsoft Systems Journal》杂志的...
  • 在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(Windows Pioneer Award)获得者根据最新的Windows操作系统权威技术修订了他的经典著作——再次演示了基本的Win32程序设计的API核心内容。...
  • 1.2 仍然是Windows编程 1.3 第WindowsCE应用程序 1.3.1 创建第WindowsCE应用程序 1.3.2 运行程序 1.3.3 出了什么问题 1.4 Hello2程序 1.5 剖析窗口应用程序 1.5.1 窗口 1.5.2 窗口类 1.5.3 窗口过程 1.5.4 ...
  • Microsoft C# Windows程序设计(上下册)

    热门讨论 2011-08-05 10:28:13
    2.4 它是一个应用程序,我们想要运行它 2.5 主题的多种形式 2.6 窗体的属性 2.7 事件驱动的输入 2.8 处理paint事件 2.9 显示文本 2.9.1 字体 2.9.2 画刷 2.9.3 坐标点 2.10 paint事件很特殊! ...
  • 在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(Windows Pioneer Award)获得者根据最新的Windows操作系统权威技术修订了他的经典著作——再次演示了基本的Win32程序设计的API核心内容。...
  • 操作系统(Operating System,OS),是一种软件,属于系统软件; 1、科普的观点 操作系统是计算机系统的管理和控制中心,它依照设计者制定的各种调度策略组织和管理计算机系统资源,使之能高效地运行。 2、功能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 482
精华内容 192
关键字:

windows7目录系统结构是一种