{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/69503"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/69503","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Language Mechanisms for Context Switching and Protection in Level Structured Operating Systems","abstract":"One of the problems in building a general purpose operating system is the construction of interfaces between programs that are interdependent but are loaded at different times. This thesis presents a model that generalizes the interfaces between these programs, and defines any two processes or systems that are in a server-user relationship to be at different levels of abstraction. Two high-level language mechanisms are proposed to control the interface. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing to implement safety. They are shown to provide safe systems and to encourage systems that are well protected and exhibit an explicit hierarchical structure.","abstract_html":"One of the problems in building a general purpose operating system is the construction of interfaces between programs that are interdependent but are loaded at different times. This thesis presents a model that generalizes the interfaces between these programs, and defines any two processes or systems that are in a server-user relationship to be at different levels of abstraction. Two high-level language mechanisms are proposed to control the interface. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing to implement safety. They are shown to provide safe systems and to encourage systems that are well protected and exhibit an explicit hierarchical structure.","abstract_has_math":false,"creators":["Mckendry, Martin Stewart"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2014,"date_issued":"2014-12-15T19:25:14Z","date_published":"2014-12-15T19:25:14Z","updated_at":"2026-07-22T22:26:01Z","subjects":["Computer Science"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(UMI)AAI8209608"],"render_values":[{"text":"(UMI)AAI8209608","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/69503","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Mckendry, Martin Stewart"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2014-12-15T19:25:14Z","10000-01-01","1982"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/69503","(UMI)AAI8209608"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["One of the problems in building a general purpose operating system is the construction of interfaces between programs that are interdependent but are loaded at different times. This thesis presents a model that generalizes the interfaces between these programs, and defines any two processes or systems that are in a server-user relationship to be at different levels of abstraction. Two high-level language mechanisms are proposed to control the interface. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing to implement safety. They are shown to provide safe systems and to encourage systems that are well protected and exhibit an explicit hierarchical structure.","Software capabilities and the Execute statement are illustrated with a pilot implementation on the Prime 650. An experimental operating system that shows their use is discussed. Extensions are discussed to manage interrupts, timeslicing and preemption, and hardware protection mechanisms. Requirements for inclusion in other languages are presented and issues for further research are discussed.","Made available in DSpace on 2014-12-15T19:25:14Z (GMT). No. of bitstreams: 1 8209608.pdf: 4048376 bytes, checksum: 4881776cfd02f6d86e5e0c06aab774dc (MD5) Previous issue date: 1982","Embargo set by: Seth Robbins for item 69669 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","150 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1982."]},{"key":"dc:title","label":"Title","values":["Language Mechanisms for Context Switching and Protection in Level Structured Operating Systems"]}]}],"canonical_facts":{"dc:creator":["Mckendry, Martin Stewart"],"dc:date":["2014-12-15T19:25:14Z","10000-01-01","1982"],"dc:description":["One of the problems in building a general purpose operating system is the construction of interfaces between programs that are interdependent but are loaded at different times. This thesis presents a model that generalizes the interfaces between these programs, and defines any two processes or systems that are in a server-user relationship to be at different levels of abstraction. Two high-level language mechanisms are proposed to control the interface. Software capabilities control access between levels and the Execute statement controls processor context switching between levels. The mechanisms rely on data typing to implement safety. They are shown to provide safe systems and to encourage systems that are well protected and exhibit an explicit hierarchical structure.","Software capabilities and the Execute statement are illustrated with a pilot implementation on the Prime 650. An experimental operating system that shows their use is discussed. Extensions are discussed to manage interrupts, timeslicing and preemption, and hardware protection mechanisms. Requirements for inclusion in other languages are presented and issues for further research are discussed.","Made available in DSpace on 2014-12-15T19:25:14Z (GMT). No. of bitstreams: 1 8209608.pdf: 4048376 bytes, checksum: 4881776cfd02f6d86e5e0c06aab774dc (MD5) Previous issue date: 1982","Embargo set by: Seth Robbins for item 69669 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","U of I Only","150 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1982."],"dc:identifier":["http://hdl.handle.net/2142/69503","(UMI)AAI8209608"],"dc:subject":["Computer Science"],"dc:title":["Language Mechanisms for Context Switching and Protection in Level Structured Operating Systems"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:01Z"}