From: Eli Zaretskii Newsgroups: comp.os.msdos.djgpp Subject: Re: Fastest bitblt? Date: Tue, 29 Feb 2000 11:02:47 +0200 Organization: NetVision Israel Lines: 38 Message-ID: NNTP-Posting-Host: is.elta.co.il Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: news.netvision.net.il 951815139 26771 199.203.121.2 (29 Feb 2000 09:05:39 GMT) X-Complaints-To: abuse AT netvision DOT net DOT il NNTP-Posting-Date: 29 Feb 2000 09:05:39 GMT X-Sender: eliz AT is In-Reply-To: To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, 28 Feb 2000, Damian Yerrick wrote: > >Not true. Memory protection is built into protected mode, > >at least to some degree. > > But an OS can entirely disable it (e.g. what Watcom DOS4GW or > DJGPP nearptr do). No protected-mode OS can entirely disable protection, because protection is an integral part of the CPU's memory addressing and mapping unit. It is simply impossible to disable all of the protection and stay in protected mode, there are no instructions to do that. The Intel manuals have an extensive description of all the aspects of protection. I suggest to read those parts. (The manuals are downloadable from the Intel site.) > >Access rights checking and segment-level protection are > >always active, as they are inherent to PM. > > That is, unless the OS gives user programs access rights to all > memory in one fell swoop, allowing them to overwrite the kernel. It can't do that! Even with 4GB segment limit, there are still page tables and page directories, interrupt and call gates, ring-0 vs ring-3 access rights, etc. Your program will Page Fault if it tries to access a page that isn't mapped in according to the page tables; it will GP Fault if you try to call privileged code if you don't go through one of the valid call gates, etc. > >Page-level protection is optional. > > And is how Windows 9x and NT do it IIRC. In some cases, yes.