1 resultado para uses and gratification
em Bucknell University Digital Commons - Pensilvania - USA
Filtro por publicador
- JISC Information Environment Repository (1)
- Aberystwyth University Repository - Reino Unido (1)
- Academic Archive On-line (Stockholm University; Sweden) (1)
- Acceda, el repositorio institucional de la Universidad de Las Palmas de Gran Canaria. España (3)
- AMS Tesi di Dottorato - Alm@DL - Università di Bologna (4)
- AMS Tesi di Laurea - Alm@DL - Università di Bologna (2)
- Andina Digital - Repositorio UASB-Digital - Universidade Andina Simón Bolívar (1)
- Aquatic Commons (9)
- Archive of European Integration (5)
- Archivo Digital para la Docencia y la Investigación - Repositorio Institucional de la Universidad del País Vasco (5)
- Aston University Research Archive (15)
- B-Digital - Universidade Fernando Pessoa - Portugal (1)
- Biblioteca de Teses e Dissertações da USP (2)
- Biblioteca Digital | Sistema Integrado de Documentación | UNCuyo - UNCUYO. UNIVERSIDAD NACIONAL DE CUYO. (3)
- Biblioteca Digital da Câmara dos Deputados (1)
- Biblioteca Digital de la Universidad Católica Argentina (2)
- Biblioteca Digital de Teses e Dissertações Eletrônicas da UERJ (16)
- Biodiversity Heritage Library, United States (6)
- Bioline International (1)
- BORIS: Bern Open Repository and Information System - Berna - Suiça (14)
- Brock University, Canada (4)
- Bucknell University Digital Commons - Pensilvania - USA (1)
- Cambridge University Engineering Department Publications Database (4)
- CentAUR: Central Archive University of Reading - UK (22)
- Chinese Academy of Sciences Institutional Repositories Grid Portal (3)
- Cochin University of Science & Technology (CUSAT), India (3)
- Coffee Science - Universidade Federal de Lavras (1)
- Comissão Econômica para a América Latina e o Caribe (CEPAL) (9)
- CORA - Cork Open Research Archive - University College Cork - Ireland (4)
- Cornell: DigitalCommons@ILR (1)
- Dalarna University College Electronic Archive (2)
- Digital Archives@Colby (1)
- Digital Commons - Michigan Tech (1)
- Digital Commons at Florida International University (4)
- Digital Peer Publishing (1)
- DRUM (Digital Repository at the University of Maryland) (2)
- Duke University (2)
- Ecology and Society (1)
- eResearch Archive - Queensland Department of Agriculture; Fisheries and Forestry (3)
- Harvard University (1)
- Helda - Digital Repository of University of Helsinki (4)
- Illinois Digital Environment for Access to Learning and Scholarship Repository (1)
- Indian Institute of Science - Bangalore - Índia (3)
- Institutional Repository of Leibniz University Hannover (1)
- Instituto Politécnico de Bragança (3)
- Instituto Politécnico de Castelo Branco - Portugal (1)
- Instituto Politécnico do Porto, Portugal (4)
- Massachusetts Institute of Technology (1)
- Memoria Académica - FaHCE, UNLP - Argentina (24)
- Ministerio de Cultura, Spain (1)
- National Center for Biotechnology Information - NCBI (7)
- Plymouth Marine Science Electronic Archive (PlyMSEA) (6)
- Portal de Revistas Científicas Complutenses - Espanha (4)
- QSpace: Queen's University - Canada (2)
- QUB Research Portal - Research Directory and Institutional Repository for Queen's University Belfast (27)
- Queensland University of Technology - ePrints Archive (215)
- RCAAP - Repositório Científico de Acesso Aberto de Portugal (1)
- ReCiL - Repositório Científico Lusófona - Grupo Lusófona, Portugal (1)
- Repositorio Académico de la Universidad Nacional de Costa Rica (2)
- Repositório Alice (Acesso Livre à Informação Científica da Embrapa / Repository Open Access to Scientific Information from Embrapa) (1)
- Repositório Científico da Universidade de Évora - Portugal (4)
- Repositório Científico do Instituto Politécnico de Lisboa - Portugal (1)
- Repositorio de la Universidad de Cuenca (1)
- Repositório digital da Fundação Getúlio Vargas - FGV (3)
- Repositório Institucional da Universidade de Aveiro - Portugal (3)
- Repositório Institucional da Universidade Estadual de São Paulo - UNESP (1)
- Repositório Institucional da Universidade Federal do Rio Grande - FURG (1)
- Repositório Institucional da Universidade Federal do Rio Grande do Norte (3)
- Repositório Institucional da Universidade Tecnológica Federal do Paraná (RIUT) (1)
- Repositório Institucional UNESP - Universidade Estadual Paulista "Julio de Mesquita Filho" (60)
- RUN (Repositório da Universidade Nova de Lisboa) - FCT (Faculdade de Cienecias e Technologia), Universidade Nova de Lisboa (UNL), Portugal (2)
- SAPIENTIA - Universidade do Algarve - Portugal (4)
- School of Medicine, Washington University, United States (1)
- SerWisS - Server für Wissenschaftliche Schriften der Fachhochschule Hannover (1)
- Universidad de Alicante (4)
- Universidad del Rosario, Colombia (8)
- Universidad Politécnica de Madrid (24)
- Universidade de Lisboa - Repositório Aberto (3)
- Universidade dos Açores - Portugal (1)
- Universidade Federal de Uberlândia (1)
- Universidade Federal do Pará (10)
- Universidade Federal do Rio Grande do Norte (UFRN) (25)
- Universidade Metodista de São Paulo (8)
- Universidade Técnica de Lisboa (3)
- Universita di Parma (1)
- Universitat de Girona, Spain (1)
- Universitätsbibliothek Kassel, Universität Kassel, Germany (1)
- Université de Montréal (1)
- Université de Montréal, Canada (10)
- Université Laval Mémoires et thèses électroniques (1)
- University of Connecticut - USA (2)
- University of Michigan (156)
- University of Queensland eSpace - Australia (9)
- University of Washington (4)
- WestminsterResearch - UK (1)
Resumo:
This project addresses the unreliability of operating system code, in particular in device drivers. Device driver software is the interface between the operating system and the device's hardware. Device drivers are written in low level code, making them difficult to understand. Almost all device drivers are written in the programming language C which allows for direct manipulation of memory. Due to the complexity of manual movement of data, most mistakes in operating systems occur in device driver code. The programming language Clay can be used to check device driver code at compile-time. Clay does most of its error checking statically to minimize the overhead of run-time checks in order to stay competitive with C's performance time. The Clay compiler can detect a lot more types of errors than the C compiler like buffer overflows, kernel stack overflows, NULL pointer uses, freed memory uses, and aliasing errors. Clay code that successfully compiles is guaranteed to run without failing on errors that Clay can detect. Even though C is unsafe, currently most device drivers are written in it. Not only are device drivers the part of the operating system most likely to fail, they also are the largest part of the operating system. As rewriting every existing device driver in Clay by hand would be impractical, this thesis is part of a project to automate translation of existing drivers from C to Clay. Although C and Clay both allow low level manipulation of data and fill the same niche for developing low level code, they have different syntax, type systems, and paradigms. This paper explores how C can be translated into Clay. It identifies what part of C device drivers cannot be translated into Clay and what information drivers in Clay will require that C cannot provide. It also explains how these translations will occur by explaining how each C structure is represented in the compiler and how these structures are changed to represent a Clay structure.