Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1088
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Safe Pointers at the Intermediate Language or Hardware Level |
| Date | 2014-02-11 01:03 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <14-02-009@comp.compilers> (permalink) |
| References | <14-02-007@comp.compilers> |
seimarao@gmail.com wrote: > Its been a long time since Java & .Net introduced safe address > types to the computing world. > My question is have we settled on what could be a > proper representation for safe pointers ? I am not so sure what you mean by safe. In protected mode 80286, pointers are segment selector and offset, which is pretty safe. (If you set the segment bounds appropriately. I used to use this for debugging C programs that went outside arrays.) The 80286 also has a complicated method for passing addresses during system calls, that provides appropriate protection. (Though I never used this one.) There were some older machines, Burroughs sounds familiar, but I am not so sure now, that used tagged storage. Each storage location remembered what kind of data it contained, such as integer, floating point, or pointer. At about that time, there were machines that had no memory protection but depended on the compiler to not generate any instructions that would allow a program to escape its region. > Some Mainframes like the 390 have historically supported > safe pointers, I remember. > [I looked at my S/390 Principles of Operation, and I see a bunch of stuff > for tracing, but nothing that looks like safe pointers. I'd think it was > hardware dependent, e.g., if a machine has a fairly clean and efficient > trap for an unmapped zero address, you'd use that, but if it doesn't, you'd > do something else. -John] Yes, I am not sure what he is referring to. There is PC, which I have never used. There is also the access register facility, which is more for avoiding address space limitations than protection, but might also be used for protection. S/360 uses four bit storage keys on each 2K block for protection. That still exists for S/370, but is usually used along with the segment and page tables to provide protection. (The latter is the way that many currently popular virtual addressed systems handle protection.) Most such systems protect programs from each other (and malicious users that might be running them). -- glen
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Safe Pointers at the Intermediate Language or Hardware Level seimarao@gmail.com - 2014-02-10 09:11 -0800 Re: Safe Pointers at the Intermediate Language or Hardware Level flaps@dgp.toronto.edu (Alan J Rosenthal) - 2014-02-11 00:58 +0000 Re: Safe Pointers at the Intermediate Language or Hardware Level glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-02-11 01:03 +0000 Re: Safe Pointers at the Intermediate Language or Hardware Level Ivan Godard <ivan@ootbcomp.com> - 2014-02-10 20:45 -0800 Re: Safe Pointers at the Intermediate Language or Hardware Level wclodius@earthlink.net (William Clodius) - 2014-02-10 23:03 -0700
csiph-web