Islamic University –Gaza Eng. Fuad Abuowaimer Computer Engineering Department Eng. Rwand Ahmed Operating System
Lab. 1 Linux OS
What is Linux?
Linux is a freely distributed implementation of a UNIX-like kernel, the low level core of an operating system. Because Linux takes the UNIX system as its inspiration, Linux and UNIX programs are very similar. In fact, almost all programs written for UNIX can be compiled and run under Linux. Also, many commercial applications sold for commercial versions of UNIX can run unchanged in binary form on Linux systems. Linux was developed by "Linus Torvalds" at the University of Helsinki, with the help of UNIX programmers from across the Internet.
At the first Linux is actually just a kernel. You can obtain the sources for the kernel to compile and install them and then obtain and install many other freely distributed software programs to make a complete UNIX-like system. These installations are usually referred to as Linux
systems, although they consist of much more than just the kernel. Most of the utilities come from the GNU project of the Free Software Foundation.
Creating a Linux system from just source code is a major undertaking. Fortunately, many people have put together 'distributions', usually on CD, that contain:
- The kernel. -Other programming tools. -Utilities.
Also include an implementation of the X Window system, a graphical environment common on many UNIX systems. The distributions usually come with a setup program and additional documentation (normally all on the CD) to help you install your own Linux system. Some well known distributions are
Slackware, SuSE, Debian, Red Hat and Turbo Linux, but there are many others. The GNU Project and the Free Software Foundation
Linux owes its existence to the cooperative efforts of a large number of people. The operating system kernel itself forms only a small part of a usable development system. Commercial UNIX systems traditionally come bundled with applications programs which provide system
services and tools. For Linux systems, these additional programs have been written by many different programmers and have been freely contributed.
The Linux community (together with others) supports the concept of free software, i.e. software that is free from restrictions, subject to the "GNU" General Public License. Although there may be a cost involved in obtaining the software, it can thereafter be used in any way desired, and is usually distributed in source form.
The Free Software Foundation was set up by Richard Stallman, the author of "GNU Emacs", one of the best known editors for UNIX and other systems. Stallman is a pioneer of the free software concept and started the GNU project, an attempt to create an operating system and development environment that will be compatible with UNIX. It may turn out to be very different from UNIX at the lowest level, but will support UNIX applications. The name GNU stands for GNU's Not Unix.
The GNU Project has already provided the software community with many applications that closely mimic those found on UNIX systems. All these programs, so called GNU software, are distributed under the terms of the GNU Public License (GPL). This license embodies the concept of 'copyleft' (a pun on 'copyright').
Copyleft concept which intended to prevent others from placing restrictions on the use of free software.
You can find out more about the free software concept at http://www.gnu.org.
In most cases, when you obtain or "buy" software, you really do not own it. Rather, you are granted a license to use the software. The terms of the licensing agreement differ depending on the type of license accompanying the software. To understand software licensing, you should understand the following terms.
Licensing Description Type
Software that is distributed with the source files.
End users can modify and recompile the software to meet their needs. Open Usually developed as a community project. Source More specifically, Open Source is a certification mark for software that adheres
to the Open Source Initiative standards.
Software that is distributed without the source files. Closed Many commercially available software is closed source (such as Microsoft Source Windows, Word, Excel).
Software distributed without cost. The software may be open source or closed Freeware source.
Free Software that is freely distributable, includes the source code, and allows the end
Software user to modify or enhance the software.
Free software may be distributed at a cost. The "free" refers to the freedom of
use, not necessarily no cost.
Software that is distributed free of cost on a trial or limited use basis. After the
initial use, if you continue to use the software, you are expected to pay a fee for Shareware its use.
Shareware is typically closed source software.
Artistic license is a type of licensing agreement that allows users to modify and
Artistic distribute open source software, while still retaining some degree of copyright License protection for the work being distributed. The GNU General Public License is
one example of an artistic license.
; Linux is distributed as Open Source software under the GNU General Public License
Go to http://www.linux.org/info/gnu.html to read the GNU licensing terms.
Using Linux in your organization is not without cost. Although you do not pay for a license for Linux, but you pay for the following items:
; Media containing the software components
; Technical support, automatic updates, and custom utilities
; Installation, maintenance, and system repair
The Linux operating system is a modular system, which means that the components can function without affecting one another.>> So you can create a highly customized Linux operating system based on your individual requirements.
Each component (or set of components) is generally developed independently, and each component offers functionality while minimally affecting the other components.
; The kernel is the core component of the operating system.
; The kernel coordinates communication between the hardware and other software
; The kernel is the only component that is technically Linux. All other components are
add-ons that turn the system into a fully-functional operating system.
for more information visit www.kernel.org.
; The shell is the user interface that accepts and interprets commands (either from a
command prompt or a script) and forwards them to the kernel.
; A Linux shell is comparable to the DOS interpreter/DOS prompt. Ex) bash (Bourne-Again Shell) is the most common (and default) Linux shell. It is an enhancement of the original Bourne shell (sh).
3- Graphical User Interface (GUI)
; The GUI is responsible for drawing graphical elements on the computer screen. ; A Linux GUI was designed to work the same way regardless of the video hardware
on the computer system.
EX) XWindows is the most common GUI system.
4- Window Manager/Desktop Environment.
; The window manager modifies the GUI output that comes from X Windows. ; To change or modify the X Windows output, you can simply change the window
; You can also use a desktop environment with a window manager. A desktop
environment provides software (e.g., Web browsers and file managers) and gives
users access to common tasks.
EX) KDE (Kommon Desktop Environment).
5- Windows Emulator.
; A Windows emulator is an implementation of the Microsoft Windows API. ; The emulator lets you run Windows applications on Linux without running the
Windows operating system.
EX) Wine, available at www.winehq.com.
6- Boot Loader.
; A boot loader runs after the system executes the BIOS ROM and POST functions. ; It loads the Linux kernel from the boot partition on the hard disk. ; It is also used to boot other operating systems present on the computer.
EX) - LILO (LInux LOader) is the most common bootloader.
- GRUB (GRand Unified Bootloader) is a new bootloader that offers extra functionality
7- Applications and Utilities.
; Utilities are special programs that help you manage the system.
; Applications are programs that let you use the computer for specific tasks (such as
word processing, listening to music, or managing data).
EX) Text Editors, File Managers, Office Applications, Graphic Editor (like PhotoShop)
8- Daemons (Services).
; Daemons are programs that run in the background, providing additional functionality
to a system.
; The Windows equivalent of a daemon is a service.
EX) File/Print Services, Print services, Web Server, Domain Name Service (DNS), E-mail,
As you can see, there are dozens of components that can be used with the Linux core. The availability of multiple components to provide a specific feature gives you a lot of choice, more than you might have with other operating system choices such as Microsoft Windows.
In the Linux operating system, everything (including devices and users) is a file. As the system runs, Linux opens, reads, writes to (if necessary), and closes the files it needs. The table below lists the most common types of files you'll encounter when working with Linux. (One thing to remember about working with files in Linux is that all file names are case sensitive.)
File Type Description
Directory A file type designed specifically to hold or point to other file types.
Normal File Every file that is not a directory is generally a normal file.
A hard link is a duplicate entry in the file system that points to a specific
Hard Link piece of data. Hard links are not often used. If the original entry in the
file system is deleted, the hard link maintains a valid pointer to the data. Special
Files A symbolic link is a file system entry that points to another file system Symbolic entry, which in turn points to a valid piece of data. Symbolic links can Link work across volumes and file systems. Symbolic links are similar to
shortcuts in Windows.
A file type that accepts input one character (i.e., byte) at a time.
Character Character files often point to devices like sound cards, serial ports, or