Architecture Of The Linux Operating System Computer Science Essay

Published: November 9, 2015 Words: 1748

Unix operating system is the base for Linux development. Unix was developed in 1960s and later in 1990s Linux operating system is cloned from Unix.Linux is an open source computer Unix operating system designed primarily for the pc but also available for wide range of operating systems.As mentioned Linux is an open source operating system,the source code for Linux is freely available and any one can modify it by adding new features and correct deficiencies.Linux has become more popular with several development streams such as Redhat,Slackware,Mandrake,Debian and Caldera.Each of these distributions consists of several prepacked system utilities, GUI interfaces, kernel and application programs.Among all these distributions Redhat is the most popular distribution as it offers more software applications and it is easy to install and use,it includes applications like GNOME ,KDE GUI environments and X windows graphic system and Star Office suite which is an open source MS-Office genetic copy for Linux.

Kernel is the central core of the computer (i.e., operating system). It has absolute control over the whole thing that takes place in the system. It acts as a bridge between the applications and the actual data processing done at the hardware level. A Kernel does not directly interact with the user instead it interacts with the shell and other programs including the hardware devices on the system. It allocates time and memory to programs and handles the communications in response to system calls.

For an example of the way in which the shell and kernel work together, suppose a user types mv document. The Shell searches the file store containing the file named my, and then requests the kernel, through system calls, to execute the program mv on mydocument. After finishing the run of the process mv mydocument, the shell returns the Linux prompt % to indicate that it is waiting for the user for further commands.

The kernel source files are found in /usr/src/linux.

Shell:

Shell acts as an interface between the user and kernel. The primary function of the shell is read the commands which are typed into the console and execute them. From its name the shell represents the outer layer of the operating system. Users can use different shells in their same machine. Students and Staff have the tcsh shell by default. The shell keeps a history of commands u typed in. While typing the commands u need not type the commands again you can just scroll the cursor keys up and down or just type history to get a list of previously typed commands.

GUIs:

A Graphical User Interface is a human-computer interface which uses windows, icons, menus which can be manipulated using a mouse. Linux supports graphical user interface such as KDE, GNOME window managers.

System Utilities:

Linux is ported by every system utility that you would find on standard implementations of unix. Which includes command lines such as ls, sed, grep, wc, bc, awk more and so on. These system utilities are deliberate to be prevailing tools that do a single job tremendously well. Linux operating systems also include server programs called daemons which provide remote network and administration services.

Application Programs:

Linux operating systems comes with several standard application programs which includes emacs editor,xv image viewer,g++ a C++ compiler,gcc a C compiler, latex a typesetting language, xfig a drawing package and Soffice which is a clone os MS-Office. Redhat linux comes with rpm which is used for adding new applications and removing old applications.

Advantages of Linux over Windows:

There are 7 advantages of using Linux over Windows.

Cost

Security

Choice

Software

Hardware

Stability

Easy customization

Cost:

Linux operating systems are obtained for free where as Windows operating systems are obtained by some amount. Linux can be installed in any number of computers with a single license but windows allow installing in only one computer with one license.

Security:

Linux is more secure than windows since it comes with an inbuilt anti-virus software, so u need not spend any extra money for your virus-protection software where as in windows u have to purchase a separate anti-virus software which becomes somewhat expensive for the user.

Choice:

The great Linux advantage is its dominance of choice. With the help of Linux u have the power to control the every aspect of the operating system.

Software:

The best feature in Linux is, the software is free and open source. U can get the software for free of charge and also u can modify the source code and u can add new features if u are aware of the programming language.

Hardware:

Linux can be used in any type of old computers having very less RAM and Hard disk space but it is not possible in the case of windows operating system.

Stability:

Linux operating system is more stable than Windows operating system, because in the case of Windows we have to reboot the system when a crash occurs, but it is not needed to reboot the system in the case of Linux when a system crash occurs.

Easy customization:

We can easily customize the Linux desktop in the way which the user needs to view his desktop.

COMMON LINUX FEATURES:

Every Linux kernel can support the following features.

Multiuser

Multitasking

Graphical User Interface

Hardware support

Networking connectivity

Network servers

Application support

Multiuser:

Many users can log in and effort on the system at the same instance. Each user can have his own environment arranged in the way he wants. A user can log into in a system with his unique username and this can be protected with the help of a password.

Multitasking:

In Linux, it is possible for u to use many number of programs running at the same time, it means u can have many programs going at once. Linux will have its own programs running in the background. These background processes are called as daemons.

Graphical User Interface:

A powerful framework in Linux working with GUI is referred as X Window System. Red Hat provides GNMOE and KDE desktop environments.

(The above figure represents the graphical desktop.)

Networking connectivity:

To connect to a network using Linux, Linux offers a variety of modems, LAN and serial devices. Networking Protocols such as TCP/IP, IPX and X.25 are available are built-in.

Network servers:

Linux provides networking services to the client computers on the LAN or to the whole Internet. Different software packages such as print server, file server, email server, Web server.

Application support:

A large series of shareware and freeware software is offered for Linux because of its compatibility with POSIX and several different application programming interfaces.

SYSTEM REQUIREMENTS FOR LINUX OS:

To install the PC version of Linux, the below are the few minimum requirements that the computer must have,

X86 processor

Floppy drive or CD-ROM:

Hard disk

RAM

Keyboard and monitor

X86 processor:

For the GUI installation of Linux, a 400 MHz Pentium processor is required.

Floppy drive or CD-ROM:

A floppy drive or CD-ROM is required to boot up the installation process or a LAN connection is needed to install Linux from the server on the network.

Hard disk:

A minimum of 400MB of hard disk is needed for the minimum custom install of a personal computer and in the case of work stations a minimum of 2GB of hard disk is required for installation.

RAM:

To run Linux in a graphical mode u need at least 64MB RAM.

Keyboard and monitor:

Keyboard is used to input the data into the system and monitor is used to display the results for our inputted data.

A REAL-TIME APPLICATION OF LINUX

(USING LINUX FOR MOBILE DEVICE DEVELOPMENT)

Abstract:

A mobile device has become one of the parts of our everyday life with the growth in technology. Due to its popularity and complexity, a more advanced operating system and applications are required to meet the needs of the user. To meet these requirements, software named Android is designed to meet the demands of the user. Android includes an operating system, key applications and middleware, as well as a Software Development Kit (SDK).

What is Android?

Android is a software currently being developed by Google for mobile devices. Android is the first open source software using the new standard. Android uses a Linux kernel ( version 2.6 ) to achieve many system services such as security, memory management.

Why to choose Android:

Android can be chosen for its four main features,

Open nature

Application hierarchy

Combines information

Application design

Open nature:

Due to its open source nature Android API are freely available to any user to develop new applications.

Application hierarchy:

All the applications on the system will have equal priority i.e, the phone’s basic applications are replaced by a third party program.

Combines information:

Android combines information on the web with the data on the phone. For example one can view the geographic location of the contact’s home by using the contact information stored on the phone.

Application design:

Android uses a Software Development Kit (SDK) by which the users can easily design and implement new applications.

Hardware Requirements for Android:

The SDK uses an open source process emulator, known as QEMU, to create a virtual ARM system-on-a-chip (SoC) known as Goldfish. The ARM SoC boots a 2.6.23 Linux kernel with support for Goldfish platform on a x86 host. A minimum of 32MB main memory is required.

Using Android on Nokia N800:

We begin the process by porting the Android to the N800 by applying the necessary patches to the Linux kernel source. First we patched the kernel source with the Android version 1 patch followed by applying the N800 touch screen patch to the source.

(The N800 device running with Android)

After applying the patches we cross compile the source using the ARM GNU Tool chain in order to obtain a version that is attuned with the ARM architecture. By this cross-compilation the Android image file is produced. To flash the image to N800 device, the Maemo flasher 3.0 tool is used. We took the microSD card containing the Android file system and place it in N800 after successfully flashing the image into the N800 device. By using a custom startup script designed to mount the file system on the N800, we were then successfully able to start Android and obtain a android working device. The startup script must be run from the Terminal once inside the OS.

Conclusion:

By using Linux in our every day life we can develop a most significant, accurate and secure real-time application.