Essay Available:
You are here: Home → Dissertation → Technology
Pages:
1 page/≈275 words
Sources:
12 Sources
Level:
MLA
Subject:
Technology
Type:
Dissertation
Language:
English (U.S.)
Document:
MS Word
Date:
Total cost:
$ 6.08
Topic:
Analysis Of Linux Operating System Dissertation Writing (Dissertation Sample)
Instructions:
the analyses provides a report of the functionalities, design and capabilities of a linux operating system.
source..Content:
ANALYSIS OF LINUX OPERATING SYSTEM
.
by
Course
Professor
Institution
City and state
Date
ABSTRACT
This report provides an analysis of the Linux operating system and it examines its design and functionality. Some design principles are discussed, and these principles are notably emphasized in the development, make and how operations are executed, and programs run in this system. Major elements of the key aspects of any other operating systems are explored, examined and discussed in the context of Linux.
The aspects of operating system covered in this report include the process management, the methods used for inter-process communication when utilizing Linux system tools and commands. This report also explores Linux major elements of memory management, scheduling, file system handling, methods for handling I/O functions and the elements of programming interface. Finally, the pros and cons of utilizing this operating system are outlined as well as real life environments where Linux system can be utilized best.
TABLE OF CONTENTS TOC \o "1-3" \h \z \u DESIGN PRINCIPLES PAGEREF _Toc433208205 \h 5UNIX compatibility PAGEREF _Toc433208206 \h 5POSIX documents compatibility PAGEREF _Toc433208207 \h 5Speed, efficiency, and standardization PAGEREF _Toc433208208 \h 5Free software foundation PAGEREF _Toc433208209 \h 6ELEMENTS OF PROCESS MANAGEMENT PAGEREF _Toc433208210 \h 6Process Identity (PID) PAGEREF _Toc433208211 \h 6Process environment PAGEREF _Toc433208212 \h 7Process context PAGEREF _Toc433208213 \h 7Process threads PAGEREF _Toc433208214 \h 8METHODS FOR INTER-PROCESS COMMUNICATION PAGEREF _Toc433208215 \h 8Signals PAGEREF _Toc433208216 \h 8Pipes PAGEREF _Toc433208217 \h 9Sockets PAGEREF _Toc433208218 \h 9ELEMENTS OF MEMORY MANAGEMENT PAGEREF _Toc433208219 \h 10Virtual memory PAGEREF _Toc433208220 \h 10Demand Paging PAGEREF _Toc433208221 \h 12ELEMENTS OF SCHEDULING PAGEREF _Toc433208222 \h 12Scheduling Policy PAGEREF _Toc433208223 \h 13Time slice PAGEREF _Toc433208224 \h 13Process priority PAGEREF _Toc433208225 \h 14Process Preemption PAGEREF _Toc433208226 \h 14ELEMENTS OF FILE SYSTEM HANDLING PAGEREF _Toc433208227 \h 14Structure PAGEREF _Toc433208228 \h 14Permissions and Attributes PAGEREF _Toc433208229 \h 15Locating files PAGEREF _Toc433208230 \h 16METHODS FOR HANDLING I/O FUNCTIONS PAGEREF _Toc433208231 \h 16Redirection using operators PAGEREF _Toc433208232 \h 16Advanced redirections PAGEREF _Toc433208233 \h 17Utilizing filters PAGEREF _Toc433208234 \h 17LINUX PROGRAMMING INTERFACE PAGEREF _Toc433208235 \h 17ADVANTAGES OF LINUX OPERATING SYSTEM PAGEREF _Toc433208236 \h 18Security PAGEREF _Toc433208237 \h 18Open-source distribution PAGEREF _Toc433208238 \h 19Linux in World Wide Web PAGEREF _Toc433208239 \h 19DISADVANTAGES OF LINUX OPERATING SYSTEM PAGEREF _Toc433208240 \h 19Difficult to understand PAGEREF _Toc433208241 \h 19Compatibility issues PAGEREF _Toc433208242 \h 19Alternative programs PAGEREF _Toc433208243 \h 20ENVIRONMENTS FOR LINUX OPERATING SYSTEM PAGEREF _Toc433208244 \h 20CONCLUSION PAGEREF _Toc433208245 \h 21REFERENCES PAGEREF _Toc433208246 \h 21
DESIGN PRINCIPLES
UNIX compatibility
Linux operating system has a multitasking system, and it is a multi-user consisting of a full set of UNIX-compatible tools. The underlying Linux file system ascribes to the traditional UNIX semantics; it notably fully implements the established UNIX networking model. Its programming interface adheres to SVR4 UNIX semantics as opposed to BSD behavior (Tanenbaum, 2009). Linux has implemented more UNIX functionality, and this has been attributed to the growth of more powerful PCs and easy availability of PCs hard disk and memory.
POSIX documents compatibility
Linux operating system is designed such that it complies with the underlying relevant POSIX documents. Currently, two Linux distributions have acquired the official POSIX certification (Mauerer, 2010).
Speed, efficiency, and standardization
This principle is the key major goals of Linux operating system. The current Linux operating system design majorly concentrates on standardization. The diversity of UNIX implementations is available in a source written for one specific system, and it may not necessarily run correctly on another system.
Free software foundation
Defined by the free software foundation, Linux kernel is distributed under the GNU General Public License (GPL) (Kotimäki, 2010). Linux users, as well as individuals considering creating Linux derivative, cannot take the invention propriety. All software released under GPL should include its underlying source code.
ELEMENTS OF PROCESS MANAGEMENT
In the context of Linux operating system, processes are dynamically created and represented by a dynamically task_struct. In Linux, processes are collected by way of the hash table, and this is hashed by the PID value (Love, 2013). The second way is through a circular doubly linked list that is then iterated through task list. The major key elements of Linux process management basically entail the following.
Process Identity (PID)
Under Linux process identity, there is a unique process identifier that specifies processes to the operating system. It is used when an application triggers a system call to modify, wait for another processor signal. In the context of process identity each of the specific processes has their assigned user ID, which determines the underlying rights to access Linux system files and resources (Comer, 2015). Also, each of the Linux processes has their associated personality identifiers that can modify the semantics of certain specific system calls. Personality identifier is used by emulation libraries to request system calls to be compatible with specific UNIX flavors.
Process environment
In Linux operating system, the process environment has two null-terminated vectors embedded in it. The first vector is the argument vector that lists command-line arguments used to invoke running program, and it starts with the program name (Armand et al., 2009). Secondly is the environment vector that is basically a list of "NAME=VALUE" and it plays the role of pairing the associated environment variables with arbitrary textual values. The flexible means of passing information to components of the user mode software is executed by way of passing environmental variables among Linux processes and inheriting variables. Environmental-variable mechanism facilitates customization of Linux operating system enabling it to be set on per-process basis without necessarily configuring the whole system (Muelder, 2009).
Process context
Process context entails the constant change of a running program state at any given time. Linux process context takes into consideration the scheduling context. It involves obtaining the necessary information for running, scheduling or restarting as a process. Linux system maintains accounting information regarding resources used by each process. The file table is also an important feature of Linux which enables processes to refer to relevant files by index mainly when making file input output. It also lists the existing files and also file system context apply when requesting to open new files.
Process threads
Regarding this, Linux makes use of same internal representation for processes and threads that are the new processes (Potluri et al., 2012). A distinction occurs when the clone system call creates new system threads. New processes are created by fork comprising of new process context while on the other hand clone system creates processes with a new identity. Users can use clone system to achieve fine-grained control over information and data shared between two threads.
METHODS FOR INTER-PROCESS COMMUNICATION
Inter-process communication entails communication among the system processes with the kernel. It is notable that Linux supports some Inter-Process Communication (IPC) methods that include.
Signals
Linux uses this method to signal asynchronous events to the system processes. Linux can generate a set of defined signals which can also be generated by other processes in the system. Processes can accept or ignore the generated signals with the exception of SIGNSTOP signal that may cause the process to halt its execution (Gupta, 2010). The other exemption is the SIGKILL signal that causes the process to exit. Processes can choose the manner in which each of the generated signals is handled. Linux actualizes signs utilizing data put away as a part of the task_struct for the procedure. The quantity of bolstered signs is constrained to the word size of the processor. Forms with a word size of 32 bits can have 32 signals though 64-bit processors like the Alpha AXP may have up to 64 signals.
Pipes
Underlying Linux, the output is piped from the ls charge posting the index's records into the standard info of the pr order which paginates them. At last the standard output from the pr order is channeled into the standard information of the lpr charge which prints the outcomes on the default printer (Soares et al, 2010). Pipes are unidirectional byte streams that interface the standard yield from one procedure into the standard information of another procedure. A pipe is implemented utilizing two file data structures pointing the same temporary VFS. The processes are not allowed non-blocking reads. There are also named pipes referred to FIFOs supported by Linux and they operate on a First In, First Out principle. In Linux, the processes use FIFO so long as they have the required access rights.
Sockets
This method of inter-process communication comprises of message queues, semaphores and shared memory. Message queues are an inter-process communication method that allows multiple processes to write a message that can be read by other processes. Shared memory, on the other hand, is basically a memory area mapped, and it shared...
Get the Whole Paper!
Not exactly what you need?
Do you need a custom essay? Order right now: