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

The Effectiveness of Open Source Products and Development Procedures - Research Paper Example

Cite this document
Summary
The most important purpose of this research included the search for particular across-the-board code quality dissimilarities and proprietary procedures. In addition, for objective assessment of software that is based on C involves several code quality metrics…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER96.3% of users find it useful
The Effectiveness of Open Source Products and Development Procedures
Read Text Preview

Extract of sample "The Effectiveness of Open Source Products and Development Procedures"

Abstract A number of similar facilities are provided by the FreeBSD, gun/Linux, Solaris and windows operating systems that contain kernel. Moreover, the code bases of these four are not similar and their development procedures are also considerably different. The following areas of files such as organization, code structure, code style, the use of the C preprocessor, and data organization are required in order to examine the source code of the four systems. The results revealed that the four systems and their related areas of files indicate advance changes that generally utilize different procedures. The structures and internal quality characteristics are imagined for non-trivial software artifact shows primary engineering needs related to construction. 1 Introduction The view point related to the effectiveness of open source products and development procedures are generally employed externally via quality aspects, subjective evidence. In fact, a number of researches have been conducted over open source and its methodologies, the non-stop assessment of open source products along with parallel proprietary systems are continued exclusively. (Spinellis 2008) In order to perform a relatively efficient research among code of open source and proprietary systems, a recent open-source regarding Solaris kernel and the distribution of the core elements of Windows kernel source code is provided to research institutions. (Spinellis 2008) At this point, quality of code is considered that is collected from four core industrial-scale operating systems for instance, (Spinellis 2008) FreeBSD, Linux, Open Solaris, and the Windows Research Kernel (wrk). The most important purpose of this research included the search for particular across-the-board code quality dissimilarities and proprietary procedures. In addition, for objectively assessment of software that is based on C involves several code quality metrics. In fact, these code quality metrics are not authenticated and are found on commonly accepted coding procedures. Therefore, it shows the uneven consent of developers that are concerned for code attributes (Spinellis 2008). 2 Open Source Open source software is defined as “software for which the human-readable source code is available for use, study, reuse, modification, enhancement, and redistribution by the users of that software” (Kennedy, 2010). As these open source software are free of cost, organizations started replacing legacy systems with open source products. This trend has forced hardware and software vendors along with proprietary technology vendors to offer value added services associated with open source products. After discussing all these advantages associated with open source software, one question comes in mind i.e. what is the purpose of spending money on proprietary software, and why do some companies do this? The answer is probably because they do not know that an open source meeting all their needs exists. For example, an open source enterprise resource planning application for Small medium business can be a cost saving alternative for expensive ERP systems such as SAP and Oracle. Linux is gaining popularity. Drivers leading to this factor include a comprehensive variety of distributions that are nearly to 200. Linux distributions have also contributed to Windows server platforms but a lot of integration efforts are still required (Brooks, 2007). However, organizations having a Windows based server environment are reliant on using Microsoft products on workstations. Although, Linux is gaining popularity for home users, as it is an open source and distributions are downloadable from the Internet. As per requirements, we will compare and discuss Fedora and Ubuntu, as they are one of the two distributions from several others. The two distributions of Linux i.e. Ubuntu and Fedora are comprehensively tracked on Distrowatch (Fedora and ubuntu compariso, n.d). There are lot of comparisons and dissimilarities available about these two distributions, but apart from having more or less features; there is no conclusion of declaring any one of them as a winner. Both of these Linux distributions were founded by Mark Shuttleworth (Fedora and ubuntu compariso, n.d). Likewise, these two distributions have marked their importance due to their demand and rapidly evolving versions bundled with features including ease of use, security, flexibility and compatibility (Gray 1998). If all sockets are set to be non-blocking, the process can execute a loop that analyzes each socket to see if there is something to be read. If it is available it handles it. If the data is not available it goes on a sleep mode until the next time the socket is scheduled to be checked. The polling process is inefficient because it consumed lot of CPU time. The parent process can use fork () to create a child process for socket handling. This communication mechanism enables the processes to read via the port and block, as the system will manage scheduling of processes in an efficient way. (Gray 1998) However, processes related to child, must return to read data from the parent process via some other form of IPC. Asynchronous I/O functionality is not effective in UNIX since signals are very rare and expensive to catch. If more than one socket is using asynchronous I/O, there is a need to find out which socket the signal corresponds to (Gray 1998). Unix Email program can only send text messages. It does not support binary files for example images, word documents. For sending binary files other email programs can be used. UNIX consists of two kinds of programs that handle emails: User Agent: This program provides the interface and interacts with the users for sending and receiving emails. The message sending and retrieval is connected to the transfer agent. Transfer Agent: This program does not interact directly with the user. It routes the messages to the required destinations. Linux supports a command “Finger” which is used to see how many users are logged on to the system. The command gives details as follows: User name, Full name of the person associated with the username, Terminal name, Login time, Machine from where he has connected on a specific system and idle time 3 Materials and Tools The two systems i.e. FreeBSD and Solaris possess common features; FreeBSD is coded on BSD/Net2 that is a distribution of UNIX source code that was extracted from a proprietary code of AT&T. Open Solaris is based on a very old version of UNIX that was programmed in C language and was published in 1973. Likewise, in the year 2005, Solaris source code was released by Sun microsystems with an open source license (Bovet, Cesati 2008). It is possible for an operating system to be matured as well as state of the art simultaneously? If it is UNIX, then the answer would be “Yes.” UNIX has contributed in the Information technology sector for the last 25 years. Millions of installations conducted on various platforms and UNIX has proved to be organized and scalable. UNIX invented in 1969, by the computer scientists Dennis Ritchie and Kenneth Thompson employed at AT&T bell labs. Operating systems are compared by their functionality and performance. UNIX has contributed immensely in recent years. UNIX communication capabilities has also contributed in High performance computing sector as a company named Computer Associated International implemented a powerful system “Advantage Gen (release 6.5)”on UNIX platform to speed up the development of J2EE applications and web services (Ohio Supercomputing Center to Deploy Hp Linux Supercomputer. 2002). UNIX back end server support the automatic generation of enterprise java beans facilitated the development teams to develop the J2EE application more efficiently. By the UNIX fast XML proxy support, web services are developed in no time on a distributed system as compared to the previous server architecture (Gray 1998). IBM 32 way UNIX servers were also launched in year 2001 with the code name “Regatta”. The microprocessor architecture comprises of 1 GHz 64 Bit Power 4. This UNIX server is capable of self-healing technology and to decrease system failures. The system is capable to divide into 16 virtual servers which enable the businesses to unite several machines in to one (Gray 1998). The Client-server model of UNIX was the core components for the growth of Internet and reshaping of the distributed systems networks. Inter process communication in the UNIX operating system involves the connection between the system components logically and physically. It supports real time network applications which allow the user to exchange messages in an interactive session. UNIX is known as a command line interface due to nonexistence of a GUI environment Today UNIX is equipped with a GUI along with dynamic communication functionalities. Some of the registered UNIX products are HP-UX, IBM AIX, SCO UnixWare, SGI IRIX, Sun Solaris etc. UNIX communication mechanism is used to transfer information between two processes. These are called pipes and are also called special files, which only save a limited amount of data. The pipe uses FIFO (First in First Out) mechanism to retrieve data. The data is written at one end of the pipe and can be read on the other end. The system cannot identify the processes at the other end of the pipe. The system also provides synchronization between reading and writing process. The system block the pipes already involved in processing data and constantly monitor the pipes to assure the processes are running at both ends of the pipes. The deadlock prevention is handled by the programmers. UNIX has limited the pipes to 512 K. Write ( ) un-buffered is used to add data to the pipes. The system assured that no interleaving will occur even if the pipes fill on a temporary basis. For the retrieval of data, read ( ) is used. The pipes ( ) call is used to rename un-named pipes in UNIX. The command retrieves two pipes supporting bi directional communication. Pipe is used for sending the output of one process to another process as input. When a pipe process in initialized, both processes run concurrently and the system cannot assure on which sequence each process is allowed to run. UNIX communication mechanism manages the producer and the consumer issue, both processes proceed and the system provides automatic blocking when required. Sockets can be divided on to two categories: Streams Stream sockets guarantees the delivery of data, in the same order as it is sent. In the process of stream socket, a connection is established, and the two ends must agree logically before sending the data. Datagram Datagram sockets do not guarantee reliable delivery of data. The connection between the two ends is not consistent. Each datagram is sent and processed separately. There is no flow control, and each datagram can use different paths to reach the destination. 4 File Organization In structuring a system, the C programming language source code file plays a vital role. The directory helps to determine the search path for files that include header file and the file formulates a possible boundary. The suitable organizations of definition and declarations interested in files and files that are interested in directories are considered as the core element of system’s modularity. In addition, these files are almost 2000 lines long. It is difficult to manage excessively long files. This is due to the dependence production and the violation of modularity. This is definite that the longest file headers such as 27,000 lines can get lumped in correctly causing error messages starting from 30 different areas. Furthermore, these areas are mostly not connected to the Windows kernel. In terms of defined entities, the measures that are observed during the research is that in a C source file the core entity is a worldwide function. Although, for the header files, it the most important entity as a structure. Moreover, the neighboring abstraction related to a class is accessible in C. in an ideal world; the numbers must be kept small that represents a correct or suitable separation of concerns. There are several files that are situated in a single directory. This can be observed at a higher level of granularity. If a lot of files are transferred into the directory, it results in having numerous elements in a module. Therefore, presence of numerous files can puzzle the developers as they are utilizing these files as a collection with tools such as, grep. This may result into unplanned identifier collisions via header files. 5 Code Structure The code structure defines the related issues of the four systems. However these problems can be resolved by different methods and control structures. This will help to examine and investigate the actual problem in these systems. The extended cyclomatic metrics is considered as the measures related to the amount of independent paths that are present. This metric is specially intended to determine a program’s testability, understandability, and maintainability (Selby 2007). Moreover, this can be a small number such as about 20, thus it allows a full body function that fulfill the developer’s needs. The percentage related to the world wide functions of the systems reveals all the elements that are observable all over the system. However, this percentage of functions as verified via hand is outrageously high. Along with same lines, the percentage reveals that the labeled statements must go on to the targets for example, an intense violations regarding structured programming principles. The labeled statements must be taken into consideration instead of only statements. This is due to the number of branches that targets more sources than any other. In addition, a single label is sometimes used as a go to statements that is to exit from a function. Even if you are performing any cleanups this method is used to exit from any application. This helps to investigate the relationship among the functions. In order to specify any incorrect separation among suppliers and buyers functionality information is needed. 6 Code Style Similar codes can be written while utilizing a number of options such as indentation, spacing, identifier names, representation for constants and naming conventions. In addition, several cases focus on the continuity as compared to a number of options available. In order to determine system’s continuity of style, the formatting program indent along with complete source code is implemented on each system. Furthermore, lines must be counted after indent modification is completed. There are numbers of options available that can help us to determine the behavior regarding indent modification. Thus well matched formatting style can be obtained for example, number of specified indentations and the placement of braces can be determined. The formatting system of each style can be obtained by running indentation on each system along with several values such as 15 numerical flags. Therefore, turning on or off each one is 55 Boolean flags. Now next step is to select the set of flags that helps in production of largest numbers of conforming lines. For instance, around 74% of the lines along with default flags will be reformatted on the Open Solaris code indent. However, this number of percentage contracted to 16% from 74% if the correct flags are determined (-i8 -bli0 -cbi0 -ci4 -ip0 –bad -bbb -br -brs -ce -nbbo -ncs -nlp–npcs). The visible objects such as variables and functions along with the identifying aggregates utilized for tags (structures and unions) are the two important classes defined by C identifiers. Typically, single name space is utilized for each class during system therefore, it is necessary to select names that are distinctive and recognizable. In addition, long names are preferred for these kinds of classes. Additional metrics define the code style. In order to determine the convention utilized for naming type defs and aggregate tags, two parallel consistency measurements are performed. In addition, classes that are unmatched to the convention are identified. There are three other ways to identify the programming practices that contain style guideline generally and they are: overly long lines of code (characters per line metric), the direct use of “magic” numbers in the code (% of numeric constants in operands), and the definition of function-like macros that can misbehave when placed after a statement (% unsafe function-like macros) (Oram, Wilson 2010). Commenting is considered as the second most important element regarding style. Moreover, it is not easy to determine the quality of the code comments. This is due to the fact that the comments are superfluous or incorrect. However, the density of the comments can be effortlessly measured. The procedure includes the ratio of comments and characters of comments to the statement in C files. Into the header files, it is measured as the ratio related to the defined elements that are generally present in commenting but they require explanatory comment such as enumerations, aggregates and their members, variable declarations, and function-like macros). The calculation of spellings and errors were also measured for effectiveness and quality. For this reason, spell checker with a customized dictionary comprising of identifiers of the systems and file names was incorporated. Likewise, the errors that are less in value defines that the accompanied documentation was checked by a spell checker before the release of the code. To a particular complier, the Linux and work are considered to be the most firmly bound together. A number of language extensions are utilized by Linux that are delivered by the gun C compiler. Moreover, in some places the assembly code is thinly masked while the GCC passes through C syntax. On the other hand, work utilizes less language extensions then Linux. The work depends on specific extensions to C that is supported by the Microsoft complier. Limited GCC extensions are utilized by FreeBSD kernel and frequently they are isolated inside wrapping macros. However, Open Solaris are the only body source code that does not require any extensions to C Scout for the accumulation. 7 References Brooks, J. (2007). The future of desktop linux. EWeek, 24(37), 16-20. Kennedy, M. (2010). Evaluating open source software. Defense AT&L, 39(4), 42. SPINELLIS, D., 2008. A Tale of Four Kernels. ICSE: International Conference on Software Engineering, , pp. 381-390. BOVET, D.P. and CESATI, M., 2008. Understanding the Linux Kernel. O'Reilly Media. GRAY, J.S., 1998. Interprocess Communications in Unix: The Nooks and Crannies. Prentice Hall. ORAM, A. and WILSON, G., 2010. Making Software: What Really Works, and Why We Believe It. O'Reilly Media. Ohio Supercomputing Center to Deploy Hp Linux Supercomputer. 2002. UNIX Update, 13(12), pp. 7. SELBY, R.W., 2007. Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research. Wiley. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(The Effectiveness of Open Source Products and Development Procedures Research Paper, n.d.)
The Effectiveness of Open Source Products and Development Procedures Research Paper. Retrieved from https://studentshare.org/technology/1798287-comparison-of-operating-system-kernels
(The Effectiveness of Open Source Products and Development Procedures Research Paper)
The Effectiveness of Open Source Products and Development Procedures Research Paper. https://studentshare.org/technology/1798287-comparison-of-operating-system-kernels.
“The Effectiveness of Open Source Products and Development Procedures Research Paper”, n.d. https://studentshare.org/technology/1798287-comparison-of-operating-system-kernels.
  • Cited: 0 times

CHECK THESE SAMPLES OF The Effectiveness of Open Source Products and Development Procedures

Identification of a Small and Medium-Sized Enterprise

Printing industry produces a lot of business products and luxury products.... In business print is essential to communicate, to promote products and to make an impact with the clients.... Market Research Report on printing industry Contents Introduction 3 Identification of a Small and Medium Sized Enterprise 4 Evaluation of the Printing Industry 6 Printing Industry in United Kingdom 6 Printing Industry in the World 7 Demand Forecasting in the Printing Industry 11 Identification of Target Segments 11 effectiveness of the Marketing Mix Structure 12 Utilization of the Research Information 13 Conclusions and Recommendations 13 References 15 Introduction Print has become an essential medium for all the companies in global scenario....
10 Pages (2500 words) Essay

Prepare budgets and financial plans

It is well known that the degree of effectiveness of promotions campaign is directly related to the customer appeal of products.... Competitor's Market ShareThese data will serve as a basis of comparison for the company's own products.... Government initiative on establishing diplomatic and business relations with other countries can open up new markets.... Government initiative on establishing diplomatic and business relations with other countries can open up new markets....
3 Pages (750 words) Essay

Emerging Application of Technology

Technology is the making, alteration, use, and information of apparatuses, machines, procedures, specialties, frameworks, and strategies for association, with a specific end goal to tackle an issue, enhance a previous answer for an issue, attain an objective, handle a connected… It can likewise allude to the accumulation of such instruments, including hardware, adjustments, plans and methods.... Innovations fundamentally influence human and additionally other creature species capacity to control and The term can either be connected by and large or to particular areas: cases incorporate development technology, medicinal technology, and information technology (Gattiker, 2004)....
5 Pages (1250 words) Coursework

Analysis of the ERP Solutions of Infor.com

I have discussed the effectiveness of ERP based corporate solutions, the main advantages and effectiveness of these ERP based solutions.... "Analysis of the ERP Solutions of Infor.... om" paper tries to gain a deep insight into the ERP key features, functions, and the main competitive advantage over the competition in the marketplace....
5 Pages (1250 words) Case Study
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