2 resultados para Subroutines in Procedural Programming Languages
em Bucknell University Digital Commons - Pensilvania - USA
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.
Resumo:
The United States¿ Federal and State laws differentiate between acceptable (or, legal) and unacceptable (illegal) behavior by prescribing restrictive punishment to citizens and/or groups that violate these established rules. These regulations are written to treat every person equally and to fairly serve justice; furthermore, the sanctions placed on offenders seek to reform illegal behavior through limitations on freedoms and rehabilitative programs. Despite the effort to treat all offenders fairly regardless of social identity categories (e.g., sex, race, ethnicity, socioeconomic status, age, ability, and gender and sexual orientation) and to humanely eliminate illegal behavior, the American penal system perpetuates de facto discrimination against a multitude of peoples. Furthermore, soaring recidivism rates caused by unsuccessful re-entry of incarcerated offenders puts economic stress on Federal and State budgets. For these reasons, offenders, policy-makers, and law-abiding citizens should all have a vested interest in reforming the prison system. This thesis focuses on the failure of the United States corrections system to adequately address the gender-specific needs of non-violent female offenders. Several factors contribute to the gender-specific discrimination that women experience in the criminal justice system: 1) Trends in female criminality that skew women¿s crime towards drug-related crimes, prostitution, and property offenses; 2) Mandatory minimum sentences for drug crimes that are disproportionate to the crime committed; 3) So-called ¿gender-neutral¿ educational, vocational, substance abuse, and mental health programming that intends to equally rehabilitate men and women, but in fact favors men; and 4) The isolating nature of prison structures that inhibits smooth re-entry into society. I argue that a shift in the placement and treatment of non-violent female offenders is necessary for effective rehabilitation and for reducing recidivism rates. The first component of this shift is the design and implementation of gender- responsive treatment (GRT) rather than gender-neutral approaches in rehabilitative programming. The second shift is the utilization of alternatives to incarceration, which provide both more humane treatment of offenders and smoother reintegration to society. Drawing on recent scholarship, information from prison advocacy organizations, and research with men in an alternative program, I provide a critical analysis of current policies and alternative programs, and suggest several proposals for future gender- responsive programs in prisons and in place of incarceration. I argue that the expansion of gender-responsive programming and alternatives to incarceration respond to the marginalization of female offenders, address concerns about the financial sustainability of the United States criminal justice system, and tackle high recidivism rates.