StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Portability of the C Program Language and the Unix System - Essay Example

Cite this document
Summary
From the paper "Portability of the C Program Language and the Unix System" it is clear that the structure allowed for cheating to indicate the fact that possible floating values and integers might be overlaid. It means that floating values and integers could not exist at the same time. …
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER91.5% of users find it useful
Portability of the C Program Language and the Unix System
Read Text Preview

Extract of sample "Portability of the C Program Language and the Unix System"

the original c compilers could not represent the relative sizes of floating-point data and integers in a machine-independent way.
a) What architectural structures do the description of the Portable C compiler illustrate? Explain.

The structure of a mobile c compiler design was in such a way that it could be adaptable to other different machines and not only UNIX machines. The architectural structure of the portable compiler could be easily modified. The compiler contained approximately 8000 lines of code and less than 20 percent of which was machine-dependent. The maintenance work of the c compiler code is easy because the structure has a large portion of similar code in many systems like the IBM System/370. In addition Honeywell 6000, Inter-data 8/32, SEL86 or even in eclipse and DEC VAX-11/780. Its structure also consists of an intermediate file found in the interface between the passes of portable c. This file contains representations of expression trees and character illustrations of stereotyped code for epilogues and subroutine prologues.
b) What architectural structures does the description of portability of UNIX illustrate? Explain.

The structural architecture of a portable UNIX was created from the realization that the operating systems of many machines had hardware architectures that were a significant problem to the implementation of the UNIX system. The structure was to have a c compiler that could be altered without many problems and create new code for various machines. The c language was to be extended to allow many c programs to become portable to a larger range of devices and be able to identify constructions that are non-portable. It illustrates the structure of re-coding a language in this case the c language as this would allow detection of machine dependencies and isolate them. It would also enable demonstration of portability by using it in other machines.

c) Based on the paper, what were the compromises or trade-offs in the design of the Portable C compiler?
The portable c compiler had to compromise its optimality with heuristic algorithms so that it could be able to get efficient and acceptable code to be generated in a quite reasonable time. The creation of the portable c compiler had to create a balance between creating entirely machine-independent code and some lines of code that were machine dependent. The machine-dependent lines of code handled the first pass that handles lexical, syntax analysis, and symbol table management and generate machine-dependent code like epilogues and subroutines is made up of machine-dependent lines of code especially.

d) Based on the paper, what were the compromises or trade-offs in the design of UNIX?
The UNIX system was designed in c language which is mainly used in network programming. Therefore, in its design UNIX systems compromised ultimate portability for more efficiency. The Unix systems have been designed to strike a balance between powerful and convenient features, and this also has to consider the ease with which implementation of some features efficiently on different machines is achieved.

5.2. Write a Module Guide for the Portable C compiler.
The design of a portable c compiler has to be constituted of three modules.
• Storage allocation
• Stereotyped code sequence for switches, labels, and subroutine exit and entry points.
• Code production for expressions
5.3. Treating the Portable C compiler as a product family (Johnson and Ritchie, 1978)
I) what are the commonalities?
The c language belonged to the traditional procedural family that comprised BCPL, B, and C which were typified by both FORTRAN and Algol 60. The similarities of these languages include:

• They are system-programming languages.
• These languages can easily accommodate translations of relatively simple compilers.
• They use library routines for input and output and other interactions with operating systems.
• These languages are compactly described and are relatively small.
• Abstractions introduced by these languages are quickly grounded in the elaborate data types and operations given by conventional computers.
• These languages use library procedures to specify control structures like procedure closures and co-routines.
• These languages achieve portability between machines since their abstractions lay at a high level.
II)   what are the variabilities?
• B and C languages have no nested procedures at all while procedures can be nested in the BCPL language but cannot refer to non-static objects that have been defined in the containing systems.

• BCPL and C can recognize separate compilations except for the earlier versions of the B language.
• BCPL and C both provide a means through which text from a named file can be included, but the B language does not provide this.
• C, B, and BCPL languages differ very significantly in their syntax.
• Lexical and syntactic mechanisms of BCPL are regular and more elegant than the syntactic and lexical mechanisms of both the B and C languages.
• B and C language end their statements with semicolons.
• Most semicolons in BCPL are elided after statements that end in a line boundary, and this gives convenience. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Software engineering paper Essay Example | Topics and Well Written Essays - 1000 words”, n.d.)
Software engineering paper Essay Example | Topics and Well Written Essays - 1000 words. Retrieved from https://studentshare.org/information-technology/1659618-software-engineering-paper
(Software Engineering Paper Essay Example | Topics and Well Written Essays - 1000 Words)
Software Engineering Paper Essay Example | Topics and Well Written Essays - 1000 Words. https://studentshare.org/information-technology/1659618-software-engineering-paper.
“Software Engineering Paper Essay Example | Topics and Well Written Essays - 1000 Words”, n.d. https://studentshare.org/information-technology/1659618-software-engineering-paper.
  • Cited: 0 times

CHECK THESE SAMPLES OF Portability of the C Program Language and the Unix System

Python Programming Language

Moreover, it offers user interfaces to a lot of system calls, built-in libraries, and to a variety of window systems.... In short, python is a high level programming language which offers a great deal of portability facility because it executes on a lot of UNIX platforms, Personal Computers under MS-DOS, Macintosh system, and Windows based systems like Windows NT and OS/2 platform (Python Software Foundation, 2011; Snyder, 2007; Cai, Langtangen, & Moe, 2005)....
15 Pages (3750 words) Essay

Questions on UML and Project Management

UML incorporates a comprehensive coding system that enhances the security of the business information systems.... The UML is used to construct, visualize, document, specify and modify the elements of an object oriented system under enhancement.... Object Management Group (OMG) is an association of several computer design and system developers.... Therefore, Umbrello UML Modeller would be the best for a project team to use in developing an object-oriented information system using UML....
3 Pages (750 words) Research Paper

Computer Programming Languages Classification

Whereas, the other authors have categorized the computer languages keeping in view the different aspects of the computer language including the programming paradigm.... Consider the 'high-level languages', the programmers/coders write code in a more human understandable language as per the predefined syntax of the selected programming language platform.... The interpretation refers to the execution of code without its compilation and requires an interpreter to interpret the code into machine language....
5 Pages (1250 words) Report

Advatages of using java programing language

A straightforward, easy-to-use program language became necessary with the rise in popularity of the Internet at the end of the 1970s and the beginning of 1980s.... Java is virtually integrated on almost every operating system and browser because it has platform independence.... Java is a popular programming language that was designed specifically for Internet use.... Java is a popular programming language that was designed specifically for Internet use....
3 Pages (750 words) Essay

Windows XP Operating System

he operating system is built upon a layered approach, similar to the unix operating system.... This paper ''Windows XP Operating system'' tells that Windows has evolved from a program consisting of 4000 lines of codes of an assembly language that ran in 8 Kbytes of memory using then Intel 8086 microprocessor to a more complex and robust type of computer system which runs most of today's computers.... Its operating system architecture is a hybrid architecture which composed of client/server, layered, object-oriented, and symmetric multiprocessing architecture principles....
8 Pages (2000 words) Essay

Python Programming Language

This report 'Python Programming language' presents a detailed overview of the Python programming language.... This report will discuss some of the prime aspects of Python programming language, its history, design goals, purpose and the relevance to Linux.... The author states that Python is a well structured object-oriented programming language with dynamic functionalities.... It is a general-purpose programming language used for diverse functions....
12 Pages (3000 words) Essay

History of Programming and the Ancient Origin

There has been a series of conferences trying to gather accurate knowledge about the root of each programming language.... The programming language before was tied to the computing machine itself.... 3 There was only a machine-dependent programming language....
20 Pages (5000 words) Assignment

Lisp Programming Language

ommon lisp enables a dominative macro system which facilitates the programmer to form and shape his applications with a flexible run-time environment.... The writer of the paper 'Lisp Programming language' states that as a major benefit of Lisp it is used in the explorative nature of assignments with active semantics.... It is a modern and distinctive, but completely parenthesized syntax language, which enables it, users, to enter the brief and complete command in less time....
8 Pages (2000 words) Article
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us