home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.ibm.pc.hardware:34378 comp.sys.mac.hardware:25007 comp.os.ms-windows.advocacy:3501
- Path: sparky!uunet!gatech!rpi!uwm.edu!ogicse!cs.uoregon.edu!majestix.cs.uoregon.edu!tracer
- From: tracer@majestix.cs.uoregon.edu (Roger M. Wilcox)
- Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.mac.hardware,comp.os.ms-windows.advocacy
- Subject: Re: Windows Memory Protection (was Re: "Windoze" slow? Naah...)
- Message-ID: <1992Dec29.165518.25293@cs.uoregon.edu>
- Date: 29 Dec 92 16:55:18 GMT
- Article-I.D.: cs.1992Dec29.165518.25293
- References: <trimble.724558422@ph-meter.beckman.uiuc.edu> <1992Dec21.062031.8868@cs.uoregon.edu> <1992Dec23.223919.26720@microsoft.com>
- Sender: news@cs.uoregon.edu (Netnews Owner)
- Organization: University of Oregon Computer and Information Sciences Dept.
- Lines: 41
-
- In article <1992Dec23.223919.26720@microsoft.com> georgem@microsoft.com (George Moore) writes:
- >tracer@majestix.cs.uoregon.edu (Roger M. Wilcox) writes:
- >>
- >>And what [Windows] replaces DOS with is actually quite a powerful OS
- >>in its own right. True, even in Protected Mode (Standard/Enhanced)
- >>all applications run at privilege level 0 (Kernel level), ...
- >
- >Correction. As of Windows 3.1, all applications, including the shell,
- >GDI.DLL, and USER.DLL run in Ring 3. Only the p-mode kernel runs
- >in Ring 0.
-
-
- Privilege Level 3?
- Uh oh. Then I see a potential problem in possible future releases.
-
- Before I was aware of the existence of OpenSound(), SetVoiceNote(), and the
- like (thanks loads Chuck Petzold :-( ), I made Windows programs emit sounds
- by programming the PC speaker directly. This meant I had to make I/O port
- calls (IN 60H, OUT 61H, etc.). Upon trying these programs under Windows 3.1,
- I found that they ran (and emitted sounds) just fine.
-
- This meant that, under Windows 3.1, the I/O Privilege Level (IOPL) of the
- processor was set to be at least as big a number as the prilivege level my
- applications were running under. Now, I'm informed that Windows 3.1 runs
- everything except KERNEL.EXE at Privilege Level 3.
-
- Thus, IOPL in Windows 3.1 is set to 3.
-
- This kind of closes a potential door for even greater protection in future
- releases of Windows. If IOPL were 2, instead (as in OS/2), and for the
- present all Windows tasks were run at Ring 2 instead of Ring 3, it would
- be possible to give I/O protection in future releases by running non-I/O-
- dependent Windows apps in Ring 3 and old, misbehaved, I/O-port-using Windows
- apps in Ring 2 (selected by a check box in the "Run" dialog or something).
-
- Or does Windows 3.1 use a 80386-style I/O Port Permissions Map?
-
- --
- Roger *M.* Wilcox (aka Jeff Boeing)
- tracer@majestix.cs.uoregon.edu
- Aleph null bottles of beer on the wall, aleph null bottles of beer, ...
-