home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,293 of 4,255   
   s_dubrovich@yahoo.com to Scott Lurndal   
   Re: segmentation   
   09 Oct 22 10:35:41   
   
   On Tuesday, October 4, 2022 at 1:00:57 PM UTC-5, Scott Lurndal wrote:   
   > "s_dub...@yahoo.com"  writes:   
   > >On Friday, September 30, 2022 at 8:12:09 PM UTC-5, muta...@gmail.com wrote:   
   > >> On Thursday, September 29, 2022 at 1:13:56 AM UTC+8, s_dub...@yahoo.com   
   wrote:   
   > >>   
   >   
   > >> > Computer scientists wanted separate Code and Data, CS & DS, as   
   mentioned before.   
   > Did they? Can you provide a cite? There have been certainly experiments   
   > with "Harvard Architectures" over the decades, and while they still exist in   
   > some embedded processors and digital signal processors (DSPs), they're not   
   > common at all in general purpose computing, and weren't particularly common   
   > in early mini- and main-frame computers.   
   >   
   > Programmers today generally favor von neumann architectures where code and   
   > data are in the same memory bank and use the same bus structures. CS/DS   
   > simply segregate the main storage array to allow 128KB for Code and Data,   
   > something that modern paging subsystems make far more useful and convenient.   
   >   
   > As Steve pointed out, one can simply set CS=DS to share the code and data   
   > in a single segment.   
      
   I did a cursory look for something I could cite, but didn't find anything   
   close. mea culpa.   
   I'm thinking one might be found in the software security branch of the   
   knowledge tree.   
      
   When we get to intel's 486 and it's protected mode, 32 bit, model, segment   
   meta data   
   allows for more security.  The meta data of descriptors does as much:   
   CS code can be set to Read Only to impede self-modifing  coding.   
   DS data can be set to RO for static data, and RW for dynamic data variables,   
   and the stack.   
   Additionally there's the protection level rings for a 'trusted code' model.   
      
   I'll stop here.   
      
   Steve   
      
   > >> There's no sensible alternative for the segmentation   
   > >> model, is there?   
   > >   
   > >Long mode with paging??   
   > Indeed. A flat 64-bit address space is very useful and doesn't   
   > carry any of the segmentation baggage from 1960's/1970's   
   > state of the art segmented systems.   
   >   
   > Note that ARM, PowerPC, MIPS (leaving aside KSEG0/1), SPARC and   
   > ALPHA all support full flat address spaces (with paging).   
   > >As a sidebar--   
   > >We are dealing in binary machines.   
   > >4 is one of those 'power of 2' numbers.   
   > >{1,2,4,8,16,32,...}   
   > >Their special property is that their value in binary is   
   > >of 1 bit set and the other bits cleared.   
   > AKA one-hot encoding.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca