处理Windows 95的长文件名中断详解 kinter
window95

Windows 95系统是一款由微软公司开发的操作系统,它在1995年8月24日正式发布,成为了计算机历史上具有重要影响力的操作系统之一。
Windows 95系统在当时非常受欢迎,其分类包括家庭版、专业版和服务器版等。
家庭版主要面向普通家庭用户,提供了简单易用的图形用户界面和丰富的多媒体功能;专业版则针对企业用户,加强了文件和网络安全等方面的功能;服务器版则可以满足中小型企业的服务器需求。
Windows 95系统的优点主要包括以下几点:1.界面友好:Windows 95系统采用了图形用户界面,使得用户可以更加直观地操作计算机,简化了使用难度。
2.多任务支持:Windows 95系统可以同时运行多个应用程序,提高了用户的工作效率。
3.软件兼容性:Windows 95系统的软件兼容性较好,大部分应用程序都可以在Windows 95系统上运行。
4.网络功能:Windows 95系统内置了Internet Explorer浏览器,使得用户可以更加方便地访问互联网。
然而,Windows 95系统也存在一些不足之处,主要包括以下几点:1.系统稳定性不够高:Windows 95系统在运行一些大型程序时可能会出现崩溃或者死机的情况,系统稳定性不够高。
2.驱动兼容性不足:Windows 95系统在一些硬件设备上的驱动兼容性不足,导致一些设备无法正常工作。
Windows 95系统的应用非常广泛,适用于各种场景。
例如,家庭用户可以使用Windows 95系统进行日常工作、学习和娱乐等活动;企业用户可以使用Windows 95系统进行文件管理、网络安全和服务器搭建等活动。
此外,Windows 95系统还可以用于物联网设备等领域。
总之,Windows 95系统作为一款具有重要影响的操作系统,其优点和不足都很明显。
interrupt

先看如下程序#include<stdio.h>void main(void){int p;int i=0;p=5/i;printf(“p= %d\n”,p)}中断及其一般处理过程所谓中断是指CPU 对系统发生的某个事件作出的一种反应: CPU 暂停正在执行的程序, 保留现场后自动地转去执行相应的处理程序, 处理完该事件后再返回断点继续执行被“打断”的程序。
图7-1所示为中断时CPU 活动的轨迹。
中断进行分类, 其主要分为两类:K :(1)中断。
(2)异常(Exception)。
中断的一般处理过程对中断请求的整个处理过程是由硬件和软件结合起来而形成的一套中断机构实施的。
一般分为由硬件实施的中断响应和主要由操作系统实施的中断处理两大步骤。
发生中断时,CPU暂停执行当前的程序,而转去处理中断,这个由硬件对中断请求作出反应的过程,称为中断响应。
一般来说,中断响应顺序执行下述三步动作:(1)中止当前程序的运行;(2)保存原程序的断点信息(主要是程序计数器PC和程序状态寄存器PS的内容);(3)转到相应的处理程序。
源代码来自linux0.11建立中断描述符表idt_descr:.word 256*8-1 # idt contains 256 entries.long _idt_idt: .fill 256,8,0 # idt is uninitialized 建立一个IDT表(linux-0.11/boot/head.s第232行)//初始化IDT表,让所有的中断描述符都指向一个哑中断服务程序(linux-0.11/boot/head.s第78行)setup_idt:lea ignore_int,%edxmovl $0x00080000,%eaxmovw %dx,%ax /* selector = 0x0008 = cs */movw $0x8E00,%dx /* interrupt gate - dpl=0, present */lea _idt,%edimov $256,%ecxrp_sidt:movl %eax,(%edi)movl %edx,4(%edi)addl $8,%edidec %ecxjne rp_sidtlidt idt_descrret中断处理程序_divide_error:pushl $_do_divide_errorno_error_code:xchgl %eax,(%esp)pushl %ebxpushl %ecxpushl %edxpushl %edipushl %esipushl %ebppush %dspush %espush %fspushl $0 # "error code"lea 44(%esp),%edxpushl %edxmovl $0x10,%edxmov %dx,%dsmov %dx,%esmov %dx,%fscall *%eaxaddl $8,%esppop %fspop %espop %dspopl %ebppopl %esipopl %edipopl %edxpopl %ecxpopl %ebxpopl %eaxiret_debug:pushl $_do_int3 # _do_debugjmp no_error_code_nmi:pushl $_do_nmijmp no_error_code//设置中断服务程序(linux-0.11/traps.c)set_trap_gate(0,÷_error);set_trap_gate(1,&debug);set_trap_gate(2,&nmi);set_system_gate(3,&int3); /* int3-5 can be called from all */ set_system_gate(4,&overflow);set_system_gate(5,&bounds);set_trap_gate(6,&invalid_op);set_trap_gate(7,&device_not_available);set_trap_gate(8,&double_fault);set_trap_gate(9,&coprocessor_segment_overrun);set_trap_gate(10,&invalid_TSS);set_trap_gate(11,&segment_not_present);set_trap_gate(12,&stack_segment);此处安装的是异常处理,如除零异常,溢出异常等等。
Windows95入门须知

Windows95入门须知Win do w s95操作系统给计算机用户提供了一个功能强大、内容丰富、使用方便的新操作系统。
它在世界各地得到了广泛的应用。
如何迅速学会掌握Win do w s95是摆在广大计算机用户面前的现实问题。
本文就用户使用W indo w s95操作系统时初步需要掌握的要点扼要介绍如下:学用W indo w s95操作系统首先要了解以下一些重要概念:W ind ow s95对W ind ow s3.x的改进。
W ind ow s95和W ind ow s3.x、D OS程序的兼容性。
W ind ow s95中的重要屏幕元素。
启动程序和文档的最常用方法。
如何定制和查看属性工作表。
使用“我的电脑”还是用“资源管理器”进行文件管理。
抢先式多任务。
中文输入法。
一、对Wi ndows3.x的改进W indo w s95新操作系统不仅有良好的用户界面,而且它具有更多、更丰富的特点与功能。
W indo w s 3.x在使用过程中感觉到它有以下不足:(1)充满屏幕的窗口掩盖了其它打开着的程序。
(2)最小化的窗口好像消失了一样。
(3)对于非技术用户文件管理器中的目录层次显示不直观。
(4)运行中的应用程序之间的切换和哪个程序正在运行都不是一目了然。
(5)文件名局限性大,使用“8.3”形式的文件命名方式。
(6)实用工具不集中,它分散在整个系统的不同组中。
如:控制面板、文件管理器、打印管理器等。
(7)难以查找IRQ(中断)和I/O地址设置的信息。
()许多图形元素不能定制。
()与非M f网络连网还需做大量的调研工作。
(10)硬件安装困难,且易相互冲突。
二、Wi ndows95对Windows3.x和D OS 程序的兼容性W indo w s95创建的文件与以前版本的M S-DO S 和W indo w s3.x的文件是兼容的。
在W indo w s95中,文件名可长达255个字符,且可包括空格。
当把一个用长文件名的文件在M S-D OS或W indo w s3.x操作环境上使用时,只能查看该长文件名的缩短格式,仍然是兼容的。
电脑操作系统出错的处理

电脑操作系统出错的处理一、WIN95/98部分:1、相对而言,95/98是最容易维护的操作系统,它的大部分核心管理都可由用户控制。
2、WINME,因为一开机较难直接进入DOS,从而使得有时无法进行核心部分的管理。
3、WINXP/2000一般都通过安装双系统,以及使用克隆备份文件的方法去维护,直接处理XP操作系统问题仍然是困难的。
4、WIN98开机类错:1)WIN95/98缺少引导文件:MSDOS。
SYS;IO。
SYS;COMMAND。
COM如果缺少前面两个文件,则在一开机时会提示:DISK I/O ERROR,表示硬盘输入、输出错,这时应取下硬盘到其它电脑上复制和三个文件,或从光盘引导,然后复制这三个文件到硬盘上,如果仅仅是缺少COMMAND。
COM则会提示:PLEASE ENTERCOMMAND。
COM PATH,请输入这个文件的位置,这果可输入:C:/WINDOWS/COMMAND。
COM 回车即可进入,在C:/WINDOWS中,只有COMMAND。
COM的备份,但没有IO。
SYS;MSDOS。
SYS备份,所以为了维护方便,你可以在WIN98安装成功后,将这三个引导文件复制一份在硬盘上,它们很小,不会占太多空间。
2)MSDOS。
SYS是文本文件,在DOS下,可用EDITMSDOS。
SYS来打开并修改它,在WINDOWS中,可用记事本打开并修改。
3)当你从光盘引导时,这时的WIN98仅是DOS环境,它的MSDOS。
SYS文件无法帮助你正常进入桌面,所以要你手写这个文件,才能使WIN98重新进入桌面。
4)MSDOS。
SYS的内容比较固定:[PATHS] 路径段WINDIR=C:/WINDOWSWINBOOTDIR=C:/WINDOWSHOSTWINBOOTDRV=C这三句一定要,=号前面的不会变,=号后面的随实际而变。
[OPTIONS] 选项段BOOTGUI=1 表示开机自动进入桌面,如改为0,则每次开机不会进入桌面,而是进入DOS,可打WIN进入桌面。
Windows95多线程间同步事件的控制方法.net-电脑资料

Windows95多线程间同步事件的控制方法.net-电脑资料在设计多线程应用程序中有时必须在线程之间保持一定的同步关系,才能使用户能够对独立运行的线程进行有效的控制,。
为此本文在简要介绍Windows 95中线程的概念及其创建方法后,提出了一种在多线程之间利用event对象实现事件同步的控制方法。
最后还介绍了在不在设计多线程应用程序中有时必须在线程之间保持一定的同步关系,才能使用户能够对独立运行的线程进行有效的控制。
为此本文在简要介绍Windows95中线程的概念及其创建方法后,提出了一种在多线程之间利用event对象实现事件同步的控制方法。
最后还介绍了在不同应用程序之间进行同步事件控制的方法,这种方法使得不同应用程序进行相互间的同步事件控制变得很简单。
关键词:Windows95线程同步事件event对象Win32一,引言Windows 95是一个多任务、多线程的操作系统,其中的每一个应用程序都是一个进程(process)。
进程可以创建多个并发的线程(thread),同时进程也以主线程(primary thread)的形式被系统调度。
所谓的线程是系统调度的一个基本单位,在程序中线程是以函数的形式出现的,它的代码是进程代码的一部分,并与进程及其派生的其它线程共享进程的全局变量和文件打开表等公用信息。
主线程类似于UNIX系统中的父进程,线程则类似于子进程。
主线程也是一个线程,称作主线程仅仅是为了和它创建的线程区别开来。
每个线程都相对于主线程而独立运行,为了使得线程能对用户的控制作出响应,必须控制线程的运行,比如用户可暂停、终止一个线程的运行或改变线程运行的条件等。
而且在用户控制与线程运行之间有时应该有一定的同步控制关系,以保证用户对线程的有效控制。
线程可以根据不同的条件对用户的控制作出不同的响应。
为了实现上述目的必须使用系统提供的同步对象(Synchronization Object),如event对象。
Windows 关闭、开启短文件名功能

Windows 关闭、开启短文件名功能
|
DOS系统下的命令方式为8.3格式,即文件名不超过8个字符,扩展名不超
过3个字符。形如:???.exe 。现在Windows系统文件名长度最长可达255
个字符了。
下面介绍Windows 关闭、开启短文件名功能
工具/原料
Windows系统
方法/步骤
1. 按下快捷键Win+R打开命令窗口,输入regedit打开注册表窗口
2. 找到路径
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSyste
m
3. 将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1,1代表不创
建短文件名格式
4. 保存上述设置,关闭注册表,则关闭短文件名格式
5. 将NtfsDisable8dot3NameCreation这一项的值设为 0,将开启短文件名格
式
这样我们就按自己的意愿设置成功了
记得要重启电脑。
用dir /x 可查看某文件是否用短文件名。如果之前开启了短文件,那么原来已有短文件名的,
就算修改过注册表,短信件名还是存在的,可以删除文件后重新建立文件,那样,新文件就
没有了短文件名了。
Windows 95
Windows 95Windows 95是一个混合的16位/32位Windows系统,其版本号为4.0,由微软公司发行于1995年8月24日。
Windows 95是微软之前独立的操作系统MS-DOS和视窗产品的直接后续版本。
第一次抛弃了对前一代16位x86的支持,因此它要求英特尔公司的80386处理器或者在保护模式下运行于一个兼容的速度更快的处理器。
它以对GUI的重要的改进和底层工作(underlying workings)为特征。
同时也是第一个特别捆绑了一个版本的DOS的视窗版本(Microsoft DOS 7.0)。
这样,微软就可以保持由视窗3.x建立起来的GUI市场的统治地位,同时使得没有非微软的产品可以提供对系统的底层操作服务。
也就是说,视窗95具有双重的角色。
它带来了更强大的、更稳定、更实用的桌面图形用户界面,同时也结束了桌面操作系统间的竞争。
(技术上说,Windows图形用户界面可以在DR-DOS上运行,也可能可以在PC-DOS上运行——这个情况直到几年后在法庭上被揭示,这时其它一些主要的DOS市场的商家已经退出市场了。
)在市场上,视窗95绝对是成功的,在它发行的一两年内,它成为有史以来最成功的操作系统。
Windows 95以强大的攻势进行发布,包括了商业性质的Rolling Stones的歌曲“Start Me Up”。
很多没有电脑的顾客受到宣传的影响而排队购买软件,但他们甚至根本不知道Windows 95是什么。
Windows 95标明了一个“开始”按钮的介绍以及桌面个人电脑桌面上的工具条,这一直保留到现在视窗后来所有的产品中。
后来的Windows 95版本附带了Internet Explorer 3,然后是Internet Explorer 4。
当Internet Explorer 4被整合到操作系统后,它将给系统带来一些新特征。
Internet Explore被用来给系统的桌面提供HTML支持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
处理Windows 95的长文件名中断详解 kinter 发信人: kinter (飞鸟), 信区: C 标 题: 处理Windows 95的长文件名中断详解 发信站: 放鹤亭站 (2001年11月15日00:39:24 星期四), 站内信件
处理Windows 95的长文件名中断详解 Gold Eagle 很多朋友在DOS环境下写过程序,而且有许多和文件处理有关。众所周知, DOS下的文件名为8.3的格式,而Windows 95开始使用长文件名格式,以前的 DOS下的程序只能按8.3格式来处理这些长文件名,读取文件或目录名时还好, 最多只是看起来有些不顺眼(都变成PROGRA~1、MYPROD~3.EXE这样的文件名 了),要创建新的目录和文件时就麻烦了,因为以前的DOS下的开发环境(如 Tubro C 2.0, Borland C++ 3.1, Turbo Pascal等)没有处理长文件名的 函数,所有的长文件名在以前的函数中都被截尾处理了。找了一些资料,发现 Windows 95提供了处理长文件名的中断,翻译并整理成文,希望对大家有点 帮助。 本文介绍的所有功能都是通过INT 21H来调用的。 Windows 95是通过21H号中断的71H子中断来处理长文件名的,列表如下: AL值 功能 ===== ========================================== 0DH 重置驱动器 39H 创建子目录 3AH 删除子目录 3BH 改变当前目录 41H 删除文件 43H 读取/设置文件属性 47H 得到当前目录 4EH 查找第一个符合条件的文件(findfirst) 4FH 查找下一个符合条件的文件(findnext) 56H 移动(改名)文件 60H TRUENAME 6CH 创建/打开文件 A0H 读取卷信息 A1H 结束文件查找(findfirst/findnext) A6H 读取文件信息 A7H 时间转换 A8H 产生短文件名(8.3格式) A9H 服务器创建/打开文件 AAH 开始/结束SUBST
中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 说明: 如果返回出错代码7100H,说明不支持此功能,将调用老式的中断 为与老版本DOS兼容(7.0以前),在调用前先将CF置位以确认在退出 时它被置位 另外还有几个功能是未公开的:AL=A2H,A3H,A4H,A5H,其中AL=A2H的 功能已知,与AL=4FH功能类似,这几个功能是Windows内部使用的,在本文就 不介绍了。 一、重置驱动器 入口:AX = 710DH CX = 0000H 将文件系统缓冲区(buffer)实际写盘,并重置驱动器 0001H 将文件系统缓冲区(buffer)和缓存(cache)实际写盘, 并重置驱动器 0002H 重新挂接DriveSpace卷 DX = 驱动器号(00H = A:,01H = B:,等等) 出口: CF清零 对应老式的调用:AH=0DH 二、创建子目录 入口:AX = 7139H DS:DX -> 长目录名(ASCIZ串) 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 对应老式的调用:AH=39H 三、删除子目录 入口:AX = 713AH DS:DX -> 要删除的长目录名(ASCIZ串) 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 对应老式的调用:AH=3AH 四、改变当前目录 入口:AX = 713BH DS:DX -> 要设为当前目录的长目录名(ASCIZ串) 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 对应老式的调用:AH=3BH 五、删除文件 入口:AX = 7141H DS:DX -> 要删除的文件的长文件名(ASCIZ串) SI = 通配符和属性标志 0000H 不支持通配符,搜索属性也被忽略 0001H 支持通配符,只有名字和属性匹配的才删除 CL = 搜索属性 CH = 必匹配(must-match)属性 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 对应老式的调用:AH=41H 六、读取/设置文件属性 入口:AX = 7143H DS:DX -> 文件名(ASCIZ串) BL = 00H 读取属性 返回:CX = 文件属性 01H 设置属性 CX = 文件属性 02H 读取压缩文件的物理大小 返回:DX:AX = 文件的实际使用磁盘空间字节数 03H 设置最后写入日期/时间 DI = 新的最后写入日期 CX = 新的最后写入时间 04H 读取最后写入日期/时间 返回:DI = 最后写入日期 CX = 最后写入时间 05H 设置最后访问日期 DI = 新的最后访问日期 06H 读取最后访问日期 返回:DI = 最后访问日期 07H 设置创建日期/时间 DI = 新的创建日期 CX = 新的创建时间 SI = 百分秒数 08h 读取创建日期/时间 返回:DI = 创建日期 CX = 创建时间 SI = 百分秒数 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 成功时返回值请参看本小节的“入口”部分 对应老式的调用:AH=43H 请参考:附一、附二、附三 七、得到当前目录 入口:AX = 7147H DL = 驱动器号 (00H = 当前驱动器,01H = A:,等等) DS:SI -> 用于存储目录名(ASCIZ串)的内存区 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 目录名将存储于DS:SI指向的内存区 说明:返回的目录名不包含驱动器字母、冒号或打头的反斜杠,而且不一 定是长文件名,这个功能返回的是用于改变的此目录的路径,可能 包含长短文件名混合的字符串。 提供的内存区(DS:SI指向的)的最小空间应该由AX=71A0H功能测 定。 对应老式的调用:AH=47H 八、查找第一个符合条件的文件 入口:AX = 714EH CL = 允许的属性(位0和位5忽略) CH = 必须的属性 SI = 0000h 使用Windows 95的64位文件时间格式 0001h 使用MS-DOS的日期/时间值,在双字中日期为高位, 时间为低位 DS:DX -> 带通配符的文件名(“*”和“*.*”都区配所有文件) ES:DI -> 用于存储FindData结构的空间 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 成功时返回:AX = filefind handle (用于继续搜索) CX = Unicode转换标志 位0 返回的长文件名含有无法转换的Unicode 字符,被下划线替代 位1 返回的短文件名含有无法转换的Unicode 字符,被下划线替代 说明:这个功能仅当IFSMgr运行时有效,而不是DOS 7.0纯DOS模式 应用程序应在搜索完成后立即调用AX=71A1H功能结束搜索 对应老式的调用:AH=4EH 请参考:附一、附二、附三、附四
九、查找下一个符合条件的文件 入口:AX = 714FH BX = filefind handle(由功能AX=714EH来) SI = 0000h 使用Windows 95的64位文件时间格式 0001h 使用MS-DOS的日期/时间值,在双字中日期为高位, 时间为低位 ES:DI -> 用于存储FindData结构的空间 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 成功时返回:CX = Unicode转换标志 位0 返回的长文件名含有无法转换的Unicode 字符,被下划线替代 位1 返回的短文件名含有无法转换的Unicode 字符,被下划线替代 说明:这个功能仅当IFSMgr运行时有效,而不是DOS 7.0纯DOS模式 对应老式的调用:AH=4FH 请参考:附二、附三、附四 十、移动(改名)文件 入口:AX = 7156H DS:DX -> 旧的文件名(ASCIZ) ES:DI -> 新的文件名(ASCIZ) 出口:中断调用后CF置位表示出错(AX存储出错代码),CF清零表示成功 说明:文件可以改名到不同的目录,但必须是同一驱动器。 对应老式的调用:AH=56H 十一、TRUENAME 入口:AX = 7160H CL = 00H 获取规范路径 01H 获取短文件名 02H 获取规范化长文件名或路径 CH = SUBST扩展标志 00H 返回的路径是不包含SUBST的盘符的真实路径