Context: Numerous factors drive long term progress in programming practices. Goal: We study the evolution of C programming in the unix operating system. Method: We extract, aggregate, and synthesize metrics from 66 sn...
详细信息
ISBN:
(纸本)9781467378994
Context: Numerous factors drive long term progress in programming practices. Goal: We study the evolution of C programming in the unix operating system. Method: We extract, aggregate, and synthesize metrics from 66 snapshots obtained from an artificial software configuration management repository tracking the evolution of the unix operating system over four decades. Results: C language programming practices appear to evolve over long term periods;our study identified some continuous trends with highly significant coefficients of determination. Many trends point toward increasing code quality through adherence to numerous programming guidelines, while some others indicate adoption that has reached maturity. In the area of commenting progress appears to have stalled. Conclusions: Studying the long term evolution of programming practices identifies areas where progress has been achieved along an expected path, as well as cases where there is room for improvement.
Transient faults in computer-based systems for which high availability is a strict requirement, originated from several sources, like high energy particles, are a major issue. Fault injection is a commonly used method...
详细信息
ISBN:
(纸本)9781479961559
Transient faults in computer-based systems for which high availability is a strict requirement, originated from several sources, like high energy particles, are a major issue. Fault injection is a commonly used method to evaluate the sensitivity of such systems. The paper presents an evaluation of the effects of faults in the memory containing the process descriptor of a unix-based operatingsystem. In particular the state field has been taken into consideration as the main target, changing the current state value into another one that could be valid or invalid. An experimental analysis has been conducted on a large set of different tasks, belonging to the operatingsystem itself. Results of tests show that the state field in the process descriptor represents a critical variable as far as dependability is considered.
Calico, a C-based object-oriented language supported by an integrated software development environment, is described. Calico features strict encapsulation, dynamic binding, fast garbage collection, and interoperabilit...
详细信息
Calico, a C-based object-oriented language supported by an integrated software development environment, is described. Calico features strict encapsulation, dynamic binding, fast garbage collection, and interoperability with C. It provides a simple, uniformly applied object model, a syntax easily mastered by C programmers, a new multiple inheritance model, simple method-call semantics with some novel extension and effective support for the team development process. Although Calico introduces some unique language features, its primary contribution is the productivity advantage that this feature integration provides for the unix/C environment.
A unix shell script has been written to automate many of the individual computational steps involved in refining the crystal structure of a biopolymer using Axel Brunger's program X-PLOR. The script controls the s...
详细信息
A unix shell script has been written to automate many of the individual computational steps involved in refining the crystal structure of a biopolymer using Axel Brunger's program X-PLOR. The script controls the sequential execution of different refinement operations, automatically piping the output from each operation into the input for the next operation. The performance of each individual operation is monitored in terms of the progression of the free R factor and the step is repeated with a smaller number of minimization cycles if necessary in order to achieve the lowest observed free R factor. Most refinement parameters can be adjusted or reset for each individual step, allowing long sequences of refinement operations to be executed without manual intervention. The script can also be used to automate the evaluation of the effect of variations in input-parameter values on the performance of a refinement procedure.
unixsystem calls to create and execute processes are usually hard to understand for novice students. Using graphics for visualizing the behaviour of these system calls can be useful both for the teacher to explain an...
详细信息
unixsystem calls to create and execute processes are usually hard to understand for novice students. Using graphics for visualizing the behaviour of these system calls can be useful both for the teacher to explain and for the students to understand them. The problem here is that there is no software specifically addressed to generate graphical representations of these kind of programs, and to develop it would be costly. Instead of developing a complete system to visualize programs that use unixsystem calls, we turned to a "cheaper" alternative solution. In this paper we show how we have used the open source graphviz tool to develop a simple way of generating graphical representations of the behaviour of these system calls, thus facilitating the comprehension of this important part in the learning of the unix operating system.
We present a high performance logging system for embedded unix and GNU/Linux applications. Compared to the standard unix and GNU/Linux logging method, syslog, our method has two orders of magnitude lower latency and a...
详细信息
ISBN:
(纸本)9781479908516
We present a high performance logging system for embedded unix and GNU/Linux applications. Compared to the standard unix and GNU/Linux logging method, syslog, our method has two orders of magnitude lower latency and an order of magnitude higher message throughput. This speed-up is mainly due to the use of a memory-mapped file as the means of interprocess communication, fewer memory copies and the batching of output messages in the logging daemon. In addition, our logging system also accepts syslog messages, providing compatibility with existing applications. Our logging system is in production use in the Cisco UCS Virtual Interface Card.
Though targeted for use in medium- to high-performance embedded applications, the Am29000 includes several design provisions allowing its use in unix workstation applications. For example, a scalable interrupt-handlin...
详细信息
Though targeted for use in medium- to high-performance embedded applications, the Am29000 includes several design provisions allowing its use in unix workstation applications. For example, a scalable interrupt-handling mechanism makes the processor particularly suited to real-time unix operations. The relevant features discussed here will help users interested in building a unixsystem.
A memory-based networking approach provides clusters of computers up to 1,000 times the communication performance of conventional networks, with no compromise in cost or reliability. The memory channel for PCI\'s ...
详细信息
A memory-based networking approach provides clusters of computers up to 1,000 times the communication performance of conventional networks, with no compromise in cost or reliability. The memory channel for PCI\'s performance gains are the result of a system design approach that exploits natural cluster constraints to define a memory-based network. MC implements a form of virtual shared memory that permits applications to completely bypass the operatingsystem and perform cluster communication directly from the user level. The hardware\'s simple and powerful communication model supports error handling at almost no cost or complexity to the application; guaranteed ordering under errors is the key innovation. The end result: Real-world cluster communication latency dropped by up to two orders of magnitude, and overhead by up to three orders of magnitude. These improvements elevate a lowly set of standard PCI computers running unix into an impressive, highly available, parallel computing system.
HERA-B will be studying CP-violation in the B-system in a high-rate hadronic environment. To accomplish this goal, HERA-B needs a sophisticated data acquisition and trigger system. Except for the first level, all trig...
详细信息
HERA-B will be studying CP-violation in the B-system in a high-rate hadronic environment. To accomplish this goal, HERA-B needs a sophisticated data acquisition and trigger system. Except for the first level, all trigger levels are implemented as PC-farms, running the unix-like operatingsystem, Linux, thus blurring the sharp border between online and offline application software. The hardware architecture and software environments are discussed. (C) 1998 Elsevier Science B.V. All rights reserved.
暂无评论