Harshit Os File

Embed Size (px)

Citation preview

  • 8/12/2019 Harshit Os File

    1/31

    HARSHIT(10CS032)

    EXPERIMENT-1

    AIM: TO STUDY OPERATING SYSTEM

    DEFINITION OF OPERATING SYSTEM:

    An operating system(OS) is a set of software that managescomputer hardware resources and

    provides commonservices forcomputer programs. The operating system is a vital component of

    thesystem software in a computer system. Application programs require an operating system to

    function.Time-sharing operating systems schedule tasks for efficient use of the system and may

    also include accounting for cost allocation of processor time, mass storage, printing, and other

    resources.For hardware functions such as input and output andmemory allocation, the operating

    system acts as an intermediary between programs and the computer hardware, although the

    application code is usually executed directly by the hardware and will frequently make a system

    call to an OS function or be interrupted by it. Operating systems can be found on almost any device

    that contains a computerfromcellular phones andvideo game

    consoles tosupercomputers andweb servers.

    Examples of popular modern operating systems includeAndroid,BSD,iOS,Linux,Mac OS

    X,Microsoft Windows,Windows Phone, andIBM z/OS. All these, except Windows and z/OS,

    share roots inUNIX.

    Real-time:Areal-time operating system is a multitasking operating system that aims at executingreal-time applications. Real-time operating systems often use specialized scheduling algorithms so

    that they can achieve a deterministic nature of behavior. The main objective of real-time operating

    systems is their quick and predictable response to events. They have an event-driven or time-

    sharing design and often aspects of both. An event-driven system switches between tasks based on

    their priorities or external events while time-sharing operating systems switch tasks based on clock

    interrupts.

    Multi-user:A multi-user operating system allows multiple users to access a computer system

    concurrently. Time-sharing systems can be classified as multi-user systems as they enable multiple-

    user access to a computer through the sharing of time. Single-user operating systems, as opposed to

    multi-user operating systems, are usable by a single user at a time. Being able to use multiple

    accounts on a Windows operating system does not make it a multi-user system. Rather, only the

    network administrator is the real user.

    Multi-tasking vs. single-tasking:When only a single program is allowed to run at a time, the

    system is grouped as a single-tasking system. However, when the operating system allows the

    execution of multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-

    tasking can be of two types: pre-emptive or co-operative. In pre-emptive multitasking, the

    operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like

    operating systems such as Solaris and Linux support pre-emptive multitasking, as doesAmigaOS.

    Cooperative multitasking is achieved by relying on each process to give time to the other processesin a defined manner.16-bit versions of Microsoft Windows used cooperative multi-tasking.32-

    bi i b h Wi d NT d Wi 9 d i l i ki M OS i OS X

    http://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/w/index.php?title=Operating_system_services&action=edit&redlink=1http://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Time-sharinghttp://en.wikipedia.org/wiki/Dynamic_memory_allocationhttp://en.wikipedia.org/wiki/System_callhttp://en.wikipedia.org/wiki/System_callhttp://en.wikipedia.org/wiki/Cellular_phonehttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Android_(operating_system)http://en.wikipedia.org/wiki/BSDhttp://en.wikipedia.org/wiki/IOShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Windows_Phonehttp://en.wikipedia.org/wiki/IBM_z/OShttp://en.wikipedia.org/wiki/UNIXhttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/AmigaOShttp://en.wikipedia.org/wiki/16-bithttp://en.wikipedia.org/wiki/32-bithttp://en.wikipedia.org/wiki/32-bithttp://en.wikipedia.org/wiki/32-bithttp://en.wikipedia.org/wiki/32-bithttp://en.wikipedia.org/wiki/16-bithttp://en.wikipedia.org/wiki/AmigaOShttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/UNIXhttp://en.wikipedia.org/wiki/IBM_z/OShttp://en.wikipedia.org/wiki/Windows_Phonehttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/IOShttp://en.wikipedia.org/wiki/BSDhttp://en.wikipedia.org/wiki/Android_(operating_system)http://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Cellular_phonehttp://en.wikipedia.org/wiki/System_callhttp://en.wikipedia.org/wiki/System_callhttp://en.wikipedia.org/wiki/Dynamic_memory_allocationhttp://en.wikipedia.org/wiki/Time-sharinghttp://en.wikipedia.org/wiki/System_softwarehttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/w/index.php?title=Operating_system_services&action=edit&redlink=1http://en.wikipedia.org/wiki/Computer_hardware
  • 8/12/2019 Harshit Os File

    2/31

    HARSHIT(10CS032)

    Distributed:A distributed operating system manages a group of independent computers and makes

    them appear to be a single computer. The development of networked computers that could be

    linked and communicate with each other gave rise to distributed computing. Distributed

    computations are carried out on more than one machine. When computers in a group work in

    cooperation, they make a distributed system.

    FUNCTIONS OF OPERATING SYSTEM

    The major functions of an OS are:

    1.Resource management:The resource management function of an OS allocates computer

    resources such as CPU time, main memory, secondary storage, and input and output devices for

    use.

    2. Data management: The data management functions of an OS govern the input and output of the

    data and their location, storage, and retrieval.

    3. Job (task) management:The job management function of an OS prepares, schedules, controls,

    and monitors jobs submitted for execution to ensure the most efficient processing. A job is a

    collection of one or more related programs and their data.A job is a collection of one or more

    related programs and their data.

    4. Standard means of communication between user and computer:The OS establishes astandard means of communication between users and their computer systems. It does this by

    providing a user interface and a standard set of commands that control the hardware.

    Typical Day-to-Day Uses of an Operating System:

    1. Executing application programs.

    2. Formatting floppy diskettes.

    3. Setting up directories to organize your files.

    4. Displaying a list of files stored on a particular disk.

    5. Verifying that there is enough room on a disk to save a file.

    6. Protecting and backing up your files by copying them to other disks for safekeeping.

    Operating system capabilities can be described in terms of

    1.the number of users they can accommodate at one time,

    2.how many tasks can be run at one time, and

    3.how they process those tasks.

    Number of Users:A single-user operating system allows only one user at a time to access a

    t M t ti t i t h DOS d Wi d 95 i l

  • 8/12/2019 Harshit Os File

    3/31

    HARSHIT(10CS032)

    Time sharing allows many users to access a single computer. This capability is typically found on

    large computer operating systems where many users need access at the same time.

    Number of Tasks:An operating system can be designed for single tasking or multitasking.A single

    tasking operating system allows only one program to execute at a time, and the program must

    finish executing completely before the next program can begin.A multitasking operating system

    allows a single CPU to execute what appears to be more than one program at a time.

    Context switching allows several programs to reside in memory but only one to be active at a time.

    The active program is said to be in the foreground. The other programs in memory are not active

    and are said to be in the background. Instead of having to quit a program and load another, you can

    simply switch the active program in the foreground to the background and bring a program from

    the background into the foreground with a few keystrokes.

    Operating Systems Services

    Following are the five services provided by operating systems to the convenience of the users.

    Program Execution:-The purpose of computer systems is to allow the user to execute programs.So the operating system provides an environment where the user can conveniently run programs.The user does not have to worry about the memory allocation or multitasking or anything. Thesethings are taken care of by the operating systems.Running a program involves the allocating anddeallocating memory, CPU scheduling in case of multiprocess. These functions cannot be given to

    the user-level programs. So user-level programs cannot help the user to run programsindependently without the help from operating systems.

    I/O Operations:-Each program requires an input and produces output. This involves the use ofI/O. The operating systems hides the user the details of underlying hardware for the I/O. All theuser sees is that the I/O has been performed without any details. So the operating system by

    providing I/O makes it convenient for the users to run programs.For efficiently and protection userscannot control I/O so this service cannot be provided by user-level programs.

    File System Manipulation:-The output of a program may need to be written into new files orinput taken from some files. The operating system provides this service. The user does not have to

    worry about secondary storage management. User gives a command for reading or writing to a fileand sees his her task accomplished. Thus operating system makes it easier for user programs toaccomplish their task.This service involves secondary storage management. The speed of I/O thatdepends on secondary storage management is critical to the speed of many programs and hence Ithink it is best relegated to the operating systems to manage it than giving individual users thecontrol of it. It is not difficult for the user-level programs to provide these services but for abovementioned reasons it is best if this service s left with operating system.

    Communications:-There are instances where processes need to communicate with each other toexchange information. It may be between processes running on the same computer or running onthe different computers. By providing this service the operating system relieves the user of the

    worry of passing messages between processes. In case where the messages need to be passed toprocesses on the other computers through a network it can be done by the user programs. The userprogram may be customized to the specifics of the hardware through which the message transits

  • 8/12/2019 Harshit Os File

    4/31

    HARSHIT(10CS032)

    Error Detection:-An error is one part of the system may cause malfunctioning of the completesystem. To avoid such a situation the operating system constantly monitors the system for detectingthe errors. This relieves the user of the worry of errors propagating to various part of the systemand causing malfunctioning.This service cannot allow to be handled by user programs because itinvolves monitoring and in cases altering area of memory or deallocation of memory for a faulty

    process. Or may be relinquishing the CPU of a process that goes into an infinite loop. These tasksare too critical to be handed over to the user programs. A user program if given these privilegescan interfere with the correct (normal) operation of the operating systems.

    ADVANTAGES AND DISADVANTAGES OF OPERATING

    SYSTEM

    Windows:

    1.Can be expensive, especially compared to Linux, which is in most cases free.

    2. Easy to use, especially for new computer users, and plenty of help resources are available online.

    3. Although Microsoft Windows has made great improvements in reliability with recent versions, it

    still lags behind its competitors.

    4. It has a large library of available software, games and utilities, although many are expensive.

    5. Hardware manufacturers all make drivers and support for Windows OS.

    6. Openness to virus attacks is a major disadvantage.

    Linux:

    1. It is an open source OS, which in most cases is free.

    2. Inexperienced computer users may find it more difficult to get to grips with Linux.

    3. Itis very reliable and rarely freezes.

    4. Fewer computer programs, games and utilities are available for Linux.

    5. Many programs are free or open source, even very complex ones.

    6. There are still some manufacturers that do not offer hardware support for Linux OS, although

    there are fewer every year.

    7. The open source nature of Linux allows more advanced users to customise the codeas they wish.

    8. Fewer people use Linux, therefore it is more difficult to find someone fully familiar with it,

    although there are vast resources online.

    Mac OS:1.MAC computers are more expensive generally than PCs.

    2.MAC is a much more secure OS, and is far less open to viruses and malware.

    3.Stability is a major advantage - it very rarely crashes, loses data or freezes.

    4.Fewer computer programs and games are available for MACs.

    5. As most computer components of MACs are made by Apple, there are not many driver issues,

    unlike with PCs, which are made by many different manufacturers

    MAC OS is not as customizable as Windows or Linux.

    HOW DOES AN OPERATING SYSTEM WORK

  • 8/12/2019 Harshit Os File

    5/31

    HARSHIT(10CS032)

    carries out two basic functions: (1) it serves as a manger for the hardware and software resources

    held in the system; and (2) it deals with hardware without the applications having to know every

    aspect along the way. The duties of the operating system fall into six different categories: processor

    management, memory management, device management, storage management, application

    interface and user interface.

    Processor Management: Processor management involves the certainty that all applications and

    processes get the appropriate amount of time from the processor so that it can function properly. It

    also involves taking advantage of as many processor cycles as it possibly can to make everything

    work together properly. The operating system uses the process or thread of the processor to carry

    out these functions and it continuously switches between processes at the rate of thousands of

    processes per second.

    MemoryManagement: Memory management is the process of ensuring that each process has the

    amount of memory needed to execute the task so that processes do not steal memory from eachother. Another part of memory management is managing each type of memory so that it is

    usedproperly.

    Device Management: Every piece of hardware uses a driver, a special program, to communicate

    with the system. The operating system uses the drivers as a translator between the electrical signals

    from the hardware and the programming code found in applications. The driver takes data from the

    operating system to the device and vice versa. The operating system controls this process by calling

    on the appropriate driver when it is needed.

    Application Program Interface: Just like hardware has drivers, applications have application

    program interfaces (APIs). APIs allow the programmers to use parts of the operating system and

    computer to carry out certain functions. The operating system holds all of the APIs that are

    recognizable to the computer and plays the role of interpreter for the APIs. It then sends the data

    required so that the function is carried out.

    User Interface: The user interface aspect of the operating system manages the interaction between

    the user and computer. Many operating systems use graphical user interfaces, which mean that it

    uses images and icons to communicate with the user. The operating system once again plays therole of interpreter to communicate with both the user and the computer in languages that they both

    understand.

    Operating System Boot Process.

    Hard Disk and Partitions:-

    Partitioning is a process of dividing the Hard disk into several chunks, and uses any one of thepartition to install OS or use two or more partitions to install multiple OSes. But you canalways have one partition, and use up the entire Hard disk space to install a single OS, butthis will become data management nightmare for users of large Hard disks.

  • 8/12/2019 Harshit Os File

    6/31

    HARSHIT(10CS032)

    hence Extended Partition is introduced. This Extended Partition is not a usablepartition byitself, but its like a container and it is used to hold Logical Drives!That is this Extended Partition can be subdivided into multiple logical partitions.

    In order to boot into a Partition, it must be designated as bootable partition or ActivePartition. Active Partition is that partition which is flagged as bootable or which contains OS,

    this is generally a Primary Partition.

    Boot Records: Master, Partition, Extended, Logical Extended:-

    Master Boot Record (MBR):- MBR is a small 512 bytes partition which is at the first physicalsector of the hard disk. The location is denoted as CHS 0, 0, 1 meaning 0th Cylinder, 0th Headand 1st Sector. MBR contains a small program known as bootstrapprogram which isresponsible for booting into any OSes. MBR also contains a table known as Partition Table.

    This Partition Table is a table which lists the available Primary Partitionsin the hard disk. Soit can have only four entries. This rises another question, what if we have more than fourpartitions? This is solved by Extended Partition principle. Partition Table considers whole

    Extended Partition as one Primary partition and lists it in the table!

    So a Partition Table can have two possible entries:-

    1. Up to 4 Primary Partitions.2. Up to 3 Primary Partitions and 1 Extended Partition.(Total not exceeding 4) .

    Partition Boot Sector (PBR):- This is the logicalfirst sector that is sector at the start of aPrimary Partition. This is also 512 byte area, which contains some programs to initialize or runOS files. All Primary Partitions have its own PBRs.

    Extended Boot Sector (EBR):- This is the logicalfirst sector that is the sector at the startof the Extended Partition. This EBR contains a Partition Table, which lists the available Logical

    Partitions inside Extended Partition. That is it contains the Starting addresses of each LogicalPartitions.

    Logical Extended Boot Sector (LEBR):- This is the logical first sector residing at the startof eachLogical Partition. This is similar to PBR for Primary Partitions.

  • 8/12/2019 Harshit Os File

    7/31

    HARSHIT(10CS032)

    Operating system architecture

    There are 3 types of architecture:

    1. Monolithic Architecture:

    The monolithic approach is to define a high-level virtual interface over the hardware, with a set ofprimitives or system calls to implement operating system services such as process management,concurrency, and memory management in several modules that run in supervisor mode.

    When the implementation is complete and trustworthy, the tight internal integration of componentsallows the low-level features of the underlying system to be effectively utilized, making a goodmonolithic kernel highly efficient. Each component of the operating system was contained withinthe kernel, could communicate directly with any other component, and had unrestricted systemaccess. While this made the operating system very efficient, it also meant that errors were moredifficult to isolate, and there was a high risk of damage due to erroneous.

    2. Layered Architecture:

    In Layered architecture, each layer communicates only with the layers immediately aboveand below it, and lower-level layers provide services to higher-level ones using an interfaceth t hid th i i l t ti Th d l it f l d ti t ll th

  • 8/12/2019 Harshit Os File

    8/31

    HARSHIT(10CS032)

    pass through many layers of system software before it is serviced and performance comparesunfavourably to that of a monolithic kernel. Also because all layers still have unrestrictedaccess to the system, the kernel is still susceptible to errant.

    3. Micro kernel Achitecture:

    A microkernelarchitecture includes only a very small number of services within the kernelin an attempt to keep it small and scalable. The services typically include low-level memorymanagement, inter-process communication and basic process synchronisation to enable

    processes to cooperate. In microkernel designs, most operating system components, such as

    process management and device management, execute outside the kernel with a lower levelof system access. Micro kernels are highly modular, making them extensible, portable andscalable. Operating system components outside the kernel can fail without causing theoperating system to fall over.

  • 8/12/2019 Harshit Os File

    9/31

    HARSHIT(10CS032)

    Experiment 2

    Aim: To study unix operating system.

    2.1 History of unix:-

    UNIX is an operating system which was first developed in the 11969: at AT&T Bell Lab, and has been

    under constant development ever since. By operating system, we mean the suite of programs which make

    the computer work. It is a stable, multi-user, multi-tasking system.Some Unix systems have a graphical user

    interface (GUI).It is a machine independent language.It is monolithic and having simple user interface and

    consistant format usage. At the same time a team from the University of California at Berkeley was working

    to improve UNIX. In 1977 it released the first Berkeley Software Distribution, which became known

    as BSD. Over time this won favour through innovations such as theC shell.

    Meanwhile the AT&T version was developing in different ways. The 1978 release of Version 7 includedtheBourne Shellfor the first time. By 1983 commercial interest was growing and Sun Microsystems

    produced a UNIX workstation. System Vappeared, directly descended from the original AT&T UNIX andthe prototype of the more widely used variant today.

    2.2System structure:-

    Perhaps the most "important" or well known of the Unixutilitites is known as the Unix shell. The shell is the

    mechanism which allows users to enter commands to run other utility programs. There are several popular

    Unix shell programs which will be discussed later. What is important to keep in mind that the shell is merely

    another Unix utility program, which is typically loaded at login.

    The diagram below provides another visual representation of the organization of the Unix OS. At the core ofthe OS is the hardware, which is managed by the surrounding outer layer, the kernel. In the next outer layercome the utilities. Many of the utilities are system commands, but these can also be user written programs as

    shown by the a.out program. Finally in the outermost layer are other application programs which can bebuilt on top of lower layer programs.

    http://www.mcsr.olemiss.edu/unixhelp/shell/oview2.2.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.2.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.2.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.1.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.1.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.1.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.1.htmlhttp://www.mcsr.olemiss.edu/unixhelp/shell/oview2.2.html
  • 8/12/2019 Harshit Os File

    10/31

    HARSHIT(10CS032)

    As RAM has become plentiful and affordable, many of the frequently used utility programs have become

    "built-in" to the shell.

    2.3 FILE SYSTEM:-

    The Unix file system is a methodology for logically organizing and storing large quantities of data such that

    the system is easy to manage. A filecan be informally defined as a collection of data, which can be

    logically viewed as a stream of bytes (i.e. characters). A file is the smallest unit of storage in the Unix file

    system.

    By contrast, a file systemconsists of files, relationships to other files, as well as the attributes of each file.File attributes are information relating to the file, but do not include the data contained within a file. File

    attributes for a generic operating system might include:

    a file type (i.e. what kind of data is in the file) a file name (which may or may not include an extension) a physical file size a file owner file protection/privacy capability file time stamp (time and date created/modified)

    Additionally, file systems provide tools which allow the manipulation of files, provide a logical organizationas well as provide services which map the logical organization of files to physical devices.

    From the beginners perspective, the Unix file system is essentially composed of files and directories.Directories are special files that may contain other files.The Unix file system has a hierarchical (or tree-like) structure with its highest level directory called root(denoted by /, pronouncedslash). Immediately below the root level directory are several subdirectories,most of which contain system files. Below this can exist system files, application files, and/or user data files.Similar to the concept of the process parent-child relationship, all files on a Unix system are related to oneanother. That is, files also have a parent-child existence. Thus, all files share a common parental link, thetop-most file (i.e. /) being the exception.Below is a diagram of a "typical" Unix file system. As you can see, the top-most directory is / , with thedirectories directly beneath being system directories. Note that as Uniximplementaions and vendors vary, sowill this file system hierarchy. However, the organization of most file systems is similar.

  • 8/12/2019 Harshit Os File

    11/31

    HARSHIT(10CS032)

    While this diagram is not all inclusive, the following system files (i.e. directories) are present in mostUnixfilesystems:

    bin- short for binaries, this is the directory where many commonly used executable commandsreside

    dev- contains device specific files etc- contains system configuration files home- contains user directories and files lib- contains all library files mnt- contains device files related to mounted devices proc- contains files related to system processes

    root- the root users' home directory (note this is different than /) sbin- system binary files reside here. If there is no sbin directory on your system, these files most

    likely reside in etc tmp- storage for temporary files which are periodically removed from the filesystem usr- also contains executable commands

    FileTypes

    TherearefourtypesoffilesintheUnixfilesystem.

    2.1 OrdinaryFiles

    Anordinaryfilemaycontain text,aprogram, orotherdata.ItcanbeeitheranASCII file,witheachofits

    bytesbeinginthenumericalrange0to127,i.e.inthe7-bitrange,orabinaryfile,whosebytescanbeofall

    possiblevalues0to255,inthe8-bitrange.

    2.2 DirectoryFiles

    Suppose thatinthedirectoryxIhavea,bandc,andthatbisadirectory, containingfilesuandv.Thenb can

    beviewednot onlyasadirectory,containingfurtherfiles,but alsoasafileitself.The filebconsistsof

    informationaboutthedirectoryb;i.e.thefilebhasinformationstatingthatthedirectorybhasfilesuandv,

    howlargetheyare,whentheywerelastmodified,etc.1

  • 8/12/2019 Harshit Os File

    12/31

    HARSHIT(10CS032)

    2.3 DeviceFilesInUnix,physicaldevices(printers,terminalsetc.)arerepresentedasfiles .Thisseems oddatfirst,butit

    reallymakessense:Thisway,thesameread()andwrite()functionsusedtoreadandwriterealfilescan

    alsobeusedtoreadfromandwritetothesedevices.

    2.4 LinkFiles

    SupposewehaveafileX,andtypelnXYIfwethenrunls,itwillappearthatanewfile,Y,hasbeencreated,asacopyofX,asifwehadtypedcpXY

    However,thedifferenceisthe cpdoescreateanewfile,whilelnmerelygivesanalternatenametoanold

    file.IfwemakeYusingln,thenYismerelyanewnameforthesamephysicalfileX.

    3 SomeFileCommands

    3.1 chmodYoucanusethiscommand tochangetheaccesspermissionsofanyfileforwhichyouaretheowner.Thenotationusedis:

    uuser(i.e.owner)

    ggroup

    oothers

    + addpermission

    - removepermission rread

    wwrite

    xexecute

    Asanexample,thecommand

    chmodugo+rw.login

    wouldaddreadandwritepermissionforalluserstothe.loginfileofthepersonissuingthiscommand.

    Insomecasesitisusefulforausertodenyhimself/herselfpermissiontowritetoafile,e.g.tomakesure

    he/shedoesntremovethefilebymistake.

    3.2 duanddf

    Theducommanddisplaysthesizesinkilobytesofallfilesinthespecifieddirectory,andthetotalofall

    thosesizes;ifnodirectoryisspecified,thecurrentdirectoryisassumed.

    Thedfcommanddisplaystheamountofunusedspaceleftinyourdisksystems.

    3.3 diff

    Thiscommanddisplaysline-by-linedifferencesbetweentwoASCIIfiles. Ifforexample,youhavetwo

    versionsofaCsourcefilebutdontrememberhowthenewversiondiffersfromtheoldone,youcouldtype

    diffoldprog.cnewprog.c

  • 8/12/2019 Harshit Os File

    13/31

    HARSHIT(10CS032)

    4 WildCards

    Thesewillsaveyoualotoftyping!Therearetwowild-cardcharactersinUnix,*and?.Thewildcard*willmatcheswithanystringofcharacters.For example,

    rm*.c

    woulddeleteallfilesinthecurrentdirectorywhosenamesendwith.c.

    Thewildcard?willmatchwithanysinglecharacter.For example,

    rmx?b.c

    woulddeleteallfileswhosenamesconsistedoffivecharacters,thefirstofwhichwas xand thelast three

    ofwhichwereb.c.Example:rmprog?.c

    willdeleteallthefiles(inthecurrentdirectory)Thefilesx3b.c

    andxrb.cwouldbedeleted,whilethefilexuvb.cwouldnot.

    Inaddition,

    [0-9]matchescharacterfrom0through9 [a-z]matchescharacterfromathroughz

    Forinstance,rmtest[1-3].cwouldremovetest1.c,test2.candtest3.cbutnottest4.c.

    2.4SERVICESOF OPERATING SYSTEM:-

    Along with the fore mentioned functions, the operating system should also be able to provide the following

    basic services to the us

    User Interface

    All operating systems need to provide an interface to communicate with the user. This could be a Command

    Line Interface or a Graphical User Interface.

    A command line interfaceor CLIis a method of interacting with an operating system or software using a

    command line interpreter. This command line interpreter may be a text terminal, terminal emulator, or

    remote shell client. The concept of the CLI originated when teletype machines (TTY) were connected to

    computers in the 1950s, and offered results on demand, compared to batch oriented mechanical punch cardinput technology. Dedicated text-based CRT terminals followed, with faster interaction and more

    information visible at one time, and then graphical terminals enriched the visual display of information.

    Currently personal computers encapsulate both functions in software.

    A graphical user interface(GUI) is a type of user interface which allows people to interact with a

    computer and computer-controlled devices which employ graphical icons, visual indicators or special

    graphical elements called widgets,along with text, labels or text navigation to represent the information and

    actions available to a user. The actions are usually performed through direct manipulation of the graphical

    elements. Today, most modern operating systems contain GUIs. A few older operating systems tightlyintegrated the GUI to the kernelfor example, the original implementations of Microsoft Windows and

    OS h G hi l b ll f h i d i

  • 8/12/2019 Harshit Os File

    14/31

    HARSHIT(10CS032)

    Program Execution

    The system must be able to load a program into memory and to run that program, end execution, either

    normally or abnormally (indicating an error). This involves locating the executable file on the disk or other

    secondary storage media and loading its content into the memory. These steps may further include

    processing by another parser or interpreter as in the case of .NET Platform, in which each program is

    compiled to MSIL (Microsoft Intermediate Language, now called CIL or Common Intermediate Language)

    and then parsed to assembly upon execution by the .NET JIT (Just In Time Compiler).

    Device Management

    To perform useful functions, processes need access to the peripherals connected to the computer, which are

    controlled by the kernel through device drivers. For example, to show the user something on the screen, an

    application would make a request to the kernel, which would forward the request to its display driver, which

    is then responsible for actually plotting the character/pixel.

    In a plug and play system, a device manager first performs a scan on different hardware buses, such as

    Peripheral Component Interconnect (PCI) or Universal Serial Bus (USB), to detect installed devices, then

    searches for the appropriate drivers.

    As device management is a very OS-specific topic, these drivers are handled differently by each kind of

    kernel design, but in every case, the kernel has to provide the I/O to allow drivers to physically access their

    devices through some port or memory location. Very important decisions have to be made when designing

    the device management system, as in some designs accesses may involve context switches, making the

    operation very CPU-intensive and easily causing a significant performance overhead.

    Resource Allocation and Accounting

    When multiple users or multiple jobs running are concurrently on the operating system, resources must be

    allocated to each of them. Some may have special allocation code and rules, while others may have general

    request and release code. To keep track of which users use how much and what kinds of computer resources,

    the OS should also implement an Accounting scheme.

    Communications

    There are instances where processes need to communicate with each other to exchange information.It may be between processes running on the same computer or running on the different computers.By providing this service the operating system relieves the user of the worry of passing messages

    between processes. In case where the messages need to be passed to processes on the othercomputers through a network it can be done by the user programs. The user program may becustomized to the specifics of the hardware through which the message transits and provides theservice interface to the operating system.

  • 8/12/2019 Harshit Os File

    15/31

  • 8/12/2019 Harshit Os File

    16/31

    HARSHIT(10CS032)

    Kernel:

    The kernel is the master program that provide file related activities, process scheduling, memory

    management, and various other operating system functions through system calls. In other words we can saythat it control the resources of the computer system, allocate them to different users and different tasks. Themajor portion of the kernel is written in C language. Therefore, it is easy to understand, debug, and enhanceit. As it is written in C language, therefore it is portable in nature. As you can see in the diagram that it is

    written or placed between hardware and utilityprogram (Like shells, editors, vi or sed) so it workbetween the two. Moreover, the kernel maintains various data structure to manage the processes.Each process has its own priority. A higher priority process is execute first than the lower prority process.

    Kernel is divided into 2 parts:-

    1. Process managnment

    The primary task of the process management is to manage the memory management activities andprocess related activities at different states of the executioncreation/deletion of processes,scheduling of the processes and provision of mechanism for synchronization, communication and

    deadlock handling of the processes.

    2. File managnment

    Where as the task of the file management is to manage the file related activities.SinceUnix is suchkind of operating system which treats the I/O devices as a file. Therefore each I/O devices has itsown file, known as device drivers, to derive it. The file management pat of the kernel handles thesedevice drivers and store these files in the directory /dev under root directory. If we attach any new

    I/O device to the Unix than it is necessary to create a file for that device in /dev directory. Thenwe write down its characteristics; such as its type (character oriented or block oriented), address ofthe driver program, memory buffer reserved for the device and some other, in that specific file.

    Shells:

    In Unix we cannot directly deals with kernels. It is the shell, one of the utility program, that starts up thekernel when the user logs in. the shell sends a prompt symbol. The shell prompt waits for input from users.

    Now when you type a command and press Enter key, the shell obtained your command, execute it ifpossible and display the prompt symbol again in order to receive your next command. That iswhy the shellis also called as the Unix system command interpreter.

    Moreover, when we want to access the hardware, we will request for the shell, the shell will request tokernel, and finally the kernel will request to hardware. Basically the shell handles the user interaction withthe system. Some built in commands are part of shell and the remaining commands are separated programsstored else where.There are three types of shells that are widely used and are exist in the Unix OS:

    Bourne shell:

    This shell was designed by Stephan Bourne of Bells Lab. It is most powerful an most widely used shell.The prompt symbol of Bourne shell is $ (Doller) sign.

    The C Shell:

    The C shell was developed at University of California. It is designed by Bill Joy. C shell gets its name from

  • 8/12/2019 Harshit Os File

    17/31

    HARSHIT(10CS032)

    Like Bourne shell, the Korn shell was also developed at Bells Lab of AT & T. This shell gets its name fromits inventor David Korn of Bells Lab.Moreover, the shells provide the meta characters like *, [ ], ?and so on. For better searching of files.

    Utility programs:

    The Unix system contains large number of utility and application programs like editors (ed, ex, vi, sed) andso on. These utility programs and the application programs developed in Unix environment are also easily

    portable to another machine having same environment.

    2.5 Advantages and disadvantages of Unix:-

    Advantages Full multitasking with protected memory. Multiple users can run multiple programs each at the same

    time without interfering with each other or crashing the system.

    Very efficient virtual memory, so many programs can run with a modest amount of physical memory. Access controls and security. All users must be authenticated by a valid account and password to use

    the system at all. All files are owned by particular accounts. The owner can decide whether othershave read or write access to his files.

    A rich set of small commands and utilities that do specific tasks well -- not cluttered up with lots ofspecial options. Unix is a well-stocked toolbox, not a giant do-it-all Swiss Army Knife.

    Ability to string commands and utilities together in unlimited ways to accomplish more complicatedtasks -- not limited to preconfigured combinations or menus, as in personal computer systems.

    A powerfully unified file system. Everything is a file: data, programs, and all physical devices. Entire

    file system appears as a single large tree of nested directories, regardless of how many differentphysical devices (disks) are included.

    A lean kernel that does the basics for you but doesn't get in the way when you try to do the unusual.

    Available on a wide variety of machines - the most truly portable operating system.

    Optimized for program development, and thus for the unusual circumstances that are the rule inresearch.

    Disadvantages The traditional command line shell interface is user hostile -- designed for the programmer, not the

    casual user.

    Commands often have cryptic names and give very little response to tell the user what they are doing.Much use of special keyboard characters - little typos have unexpected results.

    To use Unix well, you need to understand some of the main design features. Its power comes fromknowing how to make commands and programs interact with each other, not just from treating each asa fixed black box.

    Richness of utilities (over 400 standard ones) often overwhelms novices. Documentation is short onexamples and tutorials to help you figure out how to use the many tools provided to accomplishvariouskindsoftask.

  • 8/12/2019 Harshit Os File

    18/31

    HARSHIT(10CS032)

    EXPERIMENT-3

    AIM: STUDY Of LINUX

    Linuxis aUnix-like computeroperating system assembled under the model offree and open

    source software development and distribution. The defining component of Linux is theLinux

    kernel, anoperating system kernel first released 5 October 1991 byLinus TorvaldsLinux was

    originally developed as a free operating system forIntel x86-based personal computers. It has

    since beenported to more computer hardware platforms than any other operating system. It is a

    leading operating system onservers and otherbig iron systems such asmainframe

    computers andsupercomputersmore than 90% of today's500 fastest supercomputers run some

    variant of Linux, including the 10 fastest. Linux also runs onembedded systems (devices where

    the operating system is typically built into thefirmware and highly tailored to the system) such

    as mobile phones,tablet computers, networkrouters, televisionsandvideo game consoles;

    theAndroid system in wide use on mobile devices is built on the Linux kernel.

    The development of Linux is one of the most prominent examples of free and open source

    software collaboration: the underlying source code may be used, modified, and distributed

    commercially or non-commerciallyby anyone under licenses such as theGNU General Public

    License.Typically Linux is packaged in a format known as aLinux distributionfor desktop and

    server use. Some popular mainstream Linux distributions includeDebi an (and its derivativessuch asUbuntu),Fedora andopenSUSE. Linux distributions include the Linux kernel,

    supportingutilities andlibraries and usually a large amount of application software to fulfill the

    distribution's intended use.

    A distribution oriented toward desktop use will typically include theX Window System and an

    accompanyingdesktop environment such asGNOME orKDE Plasma.Some such distributions

    may include a less resource intensive desktop such asLXDE orXfce for use on older or less

    powerful computers. A distribution intended to run as a server may omit all graphical

    environments from the standard install and instead include other software such as the Apache

    HTTP Server and anSSH server such asOpenSSH. Because Linux is freely redistributable,

    anyone may create a distribution for any intended use. Applications commonly used withdesktop Linux systems include theMozilla Firefox web browser, theLibreOffice office

    application suite, and theGIMP image editor.

    Since the main supportinguser space system tools and libraries originated in theGNU Project,

    initiated in 1983 byRichard Stallman, theFree Software Foundationprefers the

    nameGNU/Linux

    http://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/Intel_x86http://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Big_ironhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/TOP500http://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Tablet_computerhttp://en.wikipedia.org/wiki/Router_(computing)http://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Android_(operating_system)http://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Debian_(operating_system)http://en.wikipedia.org/wiki/Ubuntu_(operating_system)http://en.wikipedia.org/wiki/Fedora_(operating_system)http://en.wikipedia.org/wiki/OpenSUSEhttp://en.wikipedia.org/wiki/System_utilityhttp://en.wikipedia.org/wiki/Library_(computer_science)http://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/KDE_Plasma_Workspaceshttp://en.wikipedia.org/wiki/LXDEhttp://en.wikipedia.org/wiki/Xfcehttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/SSH_serverhttp://en.wikipedia.org/wiki/OpenSSHhttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/LibreOfficehttp://en.wikipedia.org/wiki/GIMPhttp://en.wikipedia.org/wiki/User_spacehttp://en.wikipedia.org/wiki/GNU_Projecthttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/GNU/Linux_naming_controversyhttp://en.wikipedia.org/wiki/GNU/Linux_naming_controversyhttp://en.wikipedia.org/wiki/GNU/Linux_naming_controversyhttp://en.wikipedia.org/wiki/GNU/Linux_naming_controversyhttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/GNU_Projecthttp://en.wikipedia.org/wiki/User_spacehttp://en.wikipedia.org/wiki/GIMPhttp://en.wikipedia.org/wiki/LibreOfficehttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/OpenSSHhttp://en.wikipedia.org/wiki/SSH_serverhttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/Xfcehttp://en.wikipedia.org/wiki/LXDEhttp://en.wikipedia.org/wiki/KDE_Plasma_Workspaceshttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Library_(computer_science)http://en.wikipedia.org/wiki/System_utilityhttp://en.wikipedia.org/wiki/OpenSUSEhttp://en.wikipedia.org/wiki/Fedora_(operating_system)http://en.wikipedia.org/wiki/Ubuntu_(operating_system)http://en.wikipedia.org/wiki/Debian_(operating_system)http://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Android_(operating_system)http://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Router_(computing)http://en.wikipedia.org/wiki/Tablet_computerhttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/TOP500http://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/Big_ironhttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Intel_x86http://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/Operating_system_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Free_and_open_source_softwarehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Unix-like
  • 8/12/2019 Harshit Os File

    19/31

    HARSHIT(10CS032)

    HISTORY

    Unix:-TheUnix operating system was conceived and implemented in 1969 at AT&T's Bell

    Laboratories in the United States byKen Thompson,Dennis Ritchie,Douglas McElroy,andJoeOssanna.It was first released in 1971 and was initially entirely written in assembly language,a

    common practice at the time. Later, in a key pioneering approach in 1973, Unix was re-written in

    the programming languageCbyDennis Ritchie (with exceptions to the kernel and I/O). The

    availability of an operating system written in a high-level language allowed easierportability to

    different computer platforms. With a legal glitch forcing AT&T to license the operating system's

    source code to anyone who asked, Unix quickly grew and became widely adopted by academic

    institutions and businesses. In 1984, AT&T divested itself of Bell Labs. Free of the legal glitch

    requiring free licensing, Bell Labs began selling Unix as aproprietaryproduct.

    GNU

    Richard Stallman,founder of theGNU project

    TheGNU Project, started in 1983 byRichard Stallman, had the goal of creating a "complete

    Unix-compatible software system" composed entirely offree software. Work began in

    1984.[24]Later, in 1985, Stallman started theFree Software Foundation and wrote theGNU

    General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required

    in an operating system (such as libraries,compilers,text editors,aUnix shell,and awindowing

    system) were completed, although low-level elements such asdevice drivers,daemons, and

    thekernelwere stalled and incomplete. Linus Torvalds has said that if theGNU kernel had beenavailable at the time (1991), he would not have decided to write his own.

    BSD:-Although not released until 1992 due tolegal complications, development of386BSD,

    from whichNetBSD andFreeBSD descended, predated that of Linux.Linus Torvalds has said

    that if 386BSD had been available at the time, he probably would not have created Linux.

    http://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/AT%26Thttp://en.wikipedia.org/wiki/Ken_Thompsonhttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Douglas_McIlroyhttp://en.wikipedia.org/wiki/Joe_Ossannahttp://en.wikipedia.org/wiki/Joe_Ossannahttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/GNU_projecthttp://en.wikipedia.org/wiki/GNU_Projecthttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Linux#cite_note-gnu_announce-23http://en.wikipedia.org/wiki/Linux#cite_note-gnu_announce-23http://en.wikipedia.org/wiki/Linux#cite_note-gnu_announce-23http://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Text_editorhttp://en.wikipedia.org/wiki/Unix_shellhttp://en.wikipedia.org/wiki/Windowing_systemhttp://en.wikipedia.org/wiki/Windowing_systemhttp://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Daemon_(computer_software)http://en.wikipedia.org/wiki/Kernel_(computer_science)http://en.wikipedia.org/wiki/GNU_kernelhttp://en.wikipedia.org/wiki/Berkeley_Software_Distribution#Net.2F2_and_legal_troubleshttp://en.wikipedia.org/wiki/386BSDhttp://en.wikipedia.org/wiki/NetBSDhttp://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/File:Richard_Matthew_Stallman_cropped.jpeghttp://en.wikipedia.org/wiki/Linus_Torvaldshttp://en.wikipedia.org/wiki/FreeBSDhttp://en.wikipedia.org/wiki/NetBSDhttp://en.wikipedia.org/wiki/386BSDhttp://en.wikipedia.org/wiki/Berkeley_Software_Distribution#Net.2F2_and_legal_troubleshttp://en.wikipedia.org/wiki/GNU_kernelhttp://en.wikipedia.org/wiki/Kernel_(computer_science)http://en.wikipedia.org/wiki/Daemon_(computer_software)http://en.wikipedia.org/wiki/Device_driverhttp://en.wikipedia.org/wiki/Windowing_systemhttp://en.wikipedia.org/wiki/Windowing_systemhttp://en.wikipedia.org/wiki/Unix_shellhttp://en.wikipedia.org/wiki/Text_editorhttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/GNU_General_Public_Licensehttp://en.wikipedia.org/wiki/Free_Software_Foundationhttp://en.wikipedia.org/wiki/Linux#cite_note-gnu_announce-23http://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/GNU_Projecthttp://en.wikipedia.org/wiki/GNU_projecthttp://en.wikipedia.org/wiki/Richard_Stallmanhttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Joe_Ossannahttp://en.wikipedia.org/wiki/Joe_Ossannahttp://en.wikipedia.org/wiki/Douglas_McIlroyhttp://en.wikipedia.org/wiki/Dennis_Ritchiehttp://en.wikipedia.org/wiki/Ken_Thompsonhttp://en.wikipedia.org/wiki/AT%26Thttp://en.wikipedia.org/wiki/Unix
  • 8/12/2019 Harshit Os File

    20/31

    HARSHIT(10CS032)

    MINIX:-MINIX is an inexpensive minimalUnix-like operating system, designed for education

    in computer science, written byAndrew S. Tanenbaum.Starting withversion 3 in 2005, MINIX

    has becomefree and redesigned for "serious" use.

    In 1991 while attending theUniversity of Helsinki, Torvalds became curious about operating

    systems and frustrated by the licensing of MINIX, which limited it to educational use only. He

    began to work on his own operating system which eventually became theLinux kernel.

    Torvalds began the development of the Linux kernel on MINIX, and applications written for

    MINIX were also used on Linux. Later Linux matured and further Linux development took place

    on Linux systems. GNU applications also replaced all MINIX components, because it was

    advantageous to use the freely available code from the GNU project with the fledgling operating

    system. (Code licensed under the GNU GPL can be reused in other projects as long as they also

    are released under the same or a compatible license.) Torvalds initiated a switch from his original

    license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to

    integrate GNU components with Linux to make a fully functional and free operating system.

    Commercial and popular uptake

    Ubuntu,a popular Linux distribution

    Today, Linux systems are used in every domain, fromembedded systems tosupercomputers,and

    have secured a place inserver installations often using the popularLAMP application stack. Use

    of Linux distributions in home and enterprise desktops has been growing. They have also gained

    popularity with various local and national governments. The federal government of Brazil is well

    known for its support for Linux. News of the Russian military creating its own Linux distribution

    has also surfaced, and has come to fruition as the G.H.ost Project. The Indian state ofKerala has

    gone to the extent of mandating that all state high schools run Linux on their

    computers.China uses Linux exclusively as the operating system for itsLoongsonprocessor

    family to achieve technology independence. In Spain some regions have developed their own

    Linux distributions, which are widely used in education and official institutions,

    likegnuLinEx in Extremadura andGuadalinex in Andalusia.Portugal is also using its own Linux

    http://en.wikipedia.org/wiki/MINIXhttp://en.wikipedia.org/wiki/MINIXhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Andrew_S._Tanenbaumhttp://en.wikipedia.org/wiki/MINIX_3http://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/University_of_Helsinkihttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Ubuntu_(operating_system)http://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/LAMP_(software_bundle)http://en.wikipedia.org/wiki/Keralahttp://en.wikipedia.org/wiki/People%27s_Republic_of_Chinahttp://en.wikipedia.org/wiki/Loongsonhttp://en.wikipedia.org/wiki/GnuLinExhttp://en.wikipedia.org/wiki/Guadalinexhttp://en.wikipedia.org/wiki/Portugalhttp://en.wikipedia.org/wiki/File:Ubuntu_11.10_Final.pnghttp://en.wikipedia.org/wiki/Portugalhttp://en.wikipedia.org/wiki/Guadalinexhttp://en.wikipedia.org/wiki/GnuLinExhttp://en.wikipedia.org/wiki/Loongsonhttp://en.wikipedia.org/wiki/People%27s_Republic_of_Chinahttp://en.wikipedia.org/wiki/Keralahttp://en.wikipedia.org/wiki/LAMP_(software_bundle)http://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Ubuntu_(operating_system)http://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/University_of_Helsinkihttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/MINIX_3http://en.wikipedia.org/wiki/Andrew_S._Tanenbaumhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/MINIX
  • 8/12/2019 Harshit Os File

    21/31

    HARSHIT(10CS032)

    distributionCaixaMgica, used in the Magalhes netbook and the e-escola government

    program. France and Germany have also taken steps toward the adoption of Linux.

    Linux distributions have also become popular in thenetbook market, with many devices such as

    theASUS Eee PC andAcer Aspire Oneshipping with customized Linux distributions installed.

    Current development:-Torvalds continues to direct the development of the kernel.Stallman

    heads the Free Software Foundation, which in turn supports the GNU components. Finally,

    individuals and corporations develop third-party non-GNU components. These third-party

    components comprise a vast body of work and may include both kernel modules and user

    applications and libraries. Linux vendors and communities combine and distribute the kernel,

    GNU components, and non-GNU components, with additionalpackage management software in

    the form ofLinux distributions.

    DESIGN:-A Linux-based system is a modularUnix-like operating system. It derives much of its

    basic design from principles established in UNIX during the 1970s and 1980s. Such a system

    uses amonolithic kernel, theLinux kernel, which handles process control, networking,

    andperipheral andfile system access.Device drivers are either integrated directly with the

    kernel or added as modules loaded while the system is running.

    Separate projects that interface with the kernel provide much of the system's higher-level

    functionality. The GNUuserland is an important part of most Linux-based systems, providing

    the most common implementation of theC library, a popularshell, and many of the

    commonUnix tools which carry out many basic operating system tasks. Thegraphical user

    interface (or GUI) used by most Linux systems is built on top of an implementation of the X

    Window System.

    USER INTERFACE:-Users operate a Linux-based system through acommand line

    interface (CLI), agraphical user interface (GUI), or through controls attached to the associated

    hardware, which is common for embedded systems. For desktop systems, the default mode is

    usually a graphical user interface, by which the CLI is available throughterminal

    emulator windows or on a separatevirtual console.Most low-level Linux components, including

    the GNUuserland, use the CLI exclusively. The CLI is particularly suited for automation of

    repetitive or delayed tasks, and provides very simpleinter-process communication. A

    graphicalterminal emulatorprogram is often used to access the CLI from a Linux desktop. A

    Linux system typically implements a CLI by ashell, which is also the traditional way of

    interacting with a UNIX system. A Linux distribution specialized for servers may use the CLI as

    its only interface.

    On desktop systems, the most popular user interfaces are the extensive desktop

    environments KDE Plasma Desktop,GNOME, andXfce,though a variety of additional user

    interfaces exist. Most popular user interfaces are based on the X Window System,often simply

    http://en.wikipedia.org/wiki/Caixa_M%C3%A1gicahttp://en.wikipedia.org/wiki/Netbookhttp://en.wikipedia.org/wiki/Eee_pchttp://en.wikipedia.org/wiki/Aspire_Onehttp://en.wikipedia.org/wiki/Package_managementhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Monolithic_kernelhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Peripheralhttp://en.wikipedia.org/wiki/File_systemhttp://en.wikipedia.org/wiki/Device_drivershttp://en.wikipedia.org/wiki/Userland_(computing)http://en.wikipedia.org/wiki/C_standard_libraryhttp://en.wikipedia.org/wiki/Shell_(computing)http://en.wikipedia.org/wiki/Unix_toolhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Command_line_interfacehttp://en.wikipedia.org/wiki/Command_line_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Virtual_console_(PC)http://en.wikipedia.org/wiki/Userland_(computing)http://en.wikipedia.org/wiki/Inter-process_communicationhttp://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Shell_(computing)http://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/KDE_Plasma_Desktophttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/Xfcehttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Xfcehttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/KDE_Plasma_Desktophttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/Shell_(computing)http://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Inter-process_communicationhttp://en.wikipedia.org/wiki/Userland_(computing)http://en.wikipedia.org/wiki/Virtual_console_(PC)http://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Terminal_emulatorhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Command_line_interfacehttp://en.wikipedia.org/wiki/Command_line_interfacehttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/X_Window_Systemhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Unix_toolhttp://en.wikipedia.org/wiki/Shell_(computing)http://en.wikipedia.org/wiki/C_standard_libraryhttp://en.wikipedia.org/wiki/Userland_(computing)http://en.wikipedia.org/wiki/Device_drivershttp://en.wikipedia.org/wiki/File_systemhttp://en.wikipedia.org/wiki/Peripheralhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Monolithic_kernelhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Package_managementhttp://en.wikipedia.org/wiki/Aspire_Onehttp://en.wikipedia.org/wiki/Eee_pchttp://en.wikipedia.org/wiki/Netbookhttp://en.wikipedia.org/wiki/Caixa_M%C3%A1gica
  • 8/12/2019 Harshit Os File

    22/31

    HARSHIT(10CS032)

    called "X". It providesnetwork transparency and permits a graphical application running on one

    system to be displayed on another where a user may interact with the application.

    Other GUIs may be classified as simpleX window managers, such asFVWM,Enlightenment,

    andWindow Maker, which provide aminimalist functionality with respect to the desktop

    environments. A window manager provides a means to control the placement and appearance of

    individual application windows, and interacts with the X Window System. The desktop

    environments include window managers as part of their standard installations (Mutter for

    GNOME,KWin for KDE,Xfwm for Xfce as of January 2012) although users may choose to use

    a different window manager if preferred.

    DEVLOPMENT:-The primary difference between Linux and many other popular contemporary

    operating systems is that theLinux kerneland other components arefree andopen source

    software. Linux is not the only such operating system, although it is by far the most widely

    used.Somefree andopen source software licenses are based on the principle ofcopyleft,a kind

    of reciprocity: any work derived from acopyleftpiece of software must also be copyleft itself.The most common free software license, theGNU GPL,is a form ofcopyleft,and is used for the

    Linux kernel and many of the components from theGNU project.

    Linux based distributions are intended by developers forinteroperability with other operating

    systems and established computing standards. Linux systems adhere toPOSIX,SUS,ISO,

    andANSI standards where possible, although to date only one Linux distribution has been

    POSIX.1 certified, Linux-FT.

    Free software projects, although developed in acollaborative fashion, are often produced

    independently of each other. The fact that the software licenses explicitly permit redistribution,

    however, provides a basis for larger scale projects that collect the software produced by stand-

    alone projects and make it available all at once in the form of aLinux distribution.

    ALinux distribution,commonly called a "distro", is a project that manages a remote collection

    of system software and application software packages available for download and installation

    through a network connection. This allows users to adapt the operating system to their specific

    needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations,

    and commercial entities. A distribution is responsible for the default configuration of the

    installed Linux kernel, general system security, and more generally integration of the different

    software packages into a coherent whole. Distributions typically use apackage manager such

    asdpkg,Synaptic,YAST, orPortage to install, remove and update all of a system's software

    from one central location.

    Programming on Linux:-Most Linux distributions support dozens ofprogramming languages.

    The original development tools used for building both Linux applications and operating system

    programs are found within theGNU tool chain, which includes theGNU Compiler

    Collection (GCC) and theGNU build system. Amongst others, GCC provides compilers

    forAda,C,C++,Java, andFortran. First released in 2003, theLow Level Virtual

    Machineproject provides an alternative open-source compiler for many

    languages.Proprietary compilers for Linux include the Intel C++ Compiler,Sun Studio, and

    http://en.wikipedia.org/wiki/Network_transparencyhttp://en.wikipedia.org/wiki/X_window_managerhttp://en.wikipedia.org/wiki/FVWMhttp://en.wikipedia.org/wiki/Enlightenment_(window_manager)http://en.wikipedia.org/wiki/Window_Makerhttp://en.wikipedia.org/wiki/Minimalism_(computing)http://en.wikipedia.org/wiki/GNOME_Shellhttp://en.wikipedia.org/wiki/KWinhttp://en.wikipedia.org/wiki/Xfwmhttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Free_software_licensehttp://en.wikipedia.org/wiki/Open_source_licensehttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/GNU_GPLhttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/GNU_projecthttp://en.wikipedia.org/wiki/Interoperabilityhttp://en.wikipedia.org/wiki/POSIXhttp://en.wikipedia.org/wiki/Single_UNIX_Specificationhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/Collaborationhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Package_managerhttp://en.wikipedia.org/wiki/Dpkghttp://en.wikipedia.org/wiki/Synaptic_(software)http://en.wikipedia.org/wiki/YASThttp://en.wikipedia.org/wiki/Portage_(software)http://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/GNU_toolchainhttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/GNU_build_systemhttp://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Low_Level_Virtual_Machinehttp://en.wikipedia.org/wiki/Low_Level_Virtual_Machinehttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Intel_C%2B%2B_Compilerhttp://en.wikipedia.org/wiki/Sun_Studio_(software)http://en.wikipedia.org/wiki/Sun_Studio_(software)http://en.wikipedia.org/wiki/Intel_C%2B%2B_Compilerhttp://en.wikipedia.org/wiki/Proprietary_softwarehttp://en.wikipedia.org/wiki/Low_Level_Virtual_Machinehttp://en.wikipedia.org/wiki/Low_Level_Virtual_Machinehttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Ada_(programming_language)http://en.wikipedia.org/wiki/GNU_build_systemhttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/GNU_Compiler_Collectionhttp://en.wikipedia.org/wiki/GNU_toolchainhttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Portage_(software)http://en.wikipedia.org/wiki/YASThttp://en.wikipedia.org/wiki/Synaptic_(software)http://en.wikipedia.org/wiki/Dpkghttp://en.wikipedia.org/wiki/Package_managerhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Linux_distributionhttp://en.wikipedia.org/wiki/Collaborationhttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Single_UNIX_Specificationhttp://en.wikipedia.org/wiki/POSIXhttp://en.wikipedia.org/wiki/Interoperabilityhttp://en.wikipedia.org/wiki/GNU_projecthttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/GNU_GPLhttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/Copylefthttp://en.wikipedia.org/wiki/Open_source_licensehttp://en.wikipedia.org/wiki/Free_software_licensehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Linux_kernelhttp://en.wikipedia.org/wiki/Xfwmhttp://en.wikipedia.org/wiki/KWinhttp://en.wikipedia.org/wiki/GNOME_Shellhttp://en.wikipedia.org/wiki/Minimalism_(computing)http://en.wikipedia.org/wiki/Window_Makerhttp://en.wikipedia.org/wiki/Enlightenment_(window_manager)http://en.wikipedia.org/wiki/FVWMhttp://en.wikipedia.org/wiki/X_window_managerhttp://en.wikipedia.org/wiki/Network_transparency
  • 8/12/2019 Harshit Os File

    23/31

    HARSHIT(10CS032)

    IBM XLC/C++ Compiler.BASIC in the form ofVisual Basic is supported in such forms

    asGambas,FreeBASIC, andXBasic, and in terms of terminal programming

    orQuickBASIC orTurbo BASICprogramming in the form ofQB64.

    Most distributions also include support forPHP,Perl,Ruby,Python and otherdynamic

    languages. While not as common, Linux also supportsC# (viaMono),Vala, andScheme. A

    number ofJava Virtual Machines and development kits run on Linux, including the original SunMicrosystems JVM (Hot Spot), and IBM's J2SE RE, as well as many open-source projects

    likeKaffe andJikesRVM.

    GNOME andKDE are populardesktop environments and provide a framework for developing

    applications. These projects are based on theGTK+ andQtwidget toolkits,respectively, which

    can also be used independently of the larger framework. Both support a wide variety of

    languages. There are a number of environments available

    includingAnjuta,Code::Blocks,CodeLite,Eclipse,Geany,ActiveStateKomodo,KDevelop,Laz

    arus,MonoDevelop,NetBeans,Qt Creator andOmnis Studio, while the long-established

    editorsVim andEmacs remain popular

    USES:-As well as those designed for general purpose use on desktops and servers, distributions

    may be specialized for different purposes including:computer architecture support, embedded,

    stability, security, localization to a specific region or language, targeting of specific user groups,

    support forreal-time applications, or commitment to a given desktop environment. Furthermore,

    some distributions deliberately include onlyfree software. Currently, over three hundred

    distributions are actively developed, with about a dozen distributions being most popular for

    general-purpose use.

    Linux is a widelyported operating system kernel. The Linux kernel runs on a highly diverse

    range ofcomputer architectures: in the hand-heldARM-basediPAQ and

    themainframeIBMSystem z9, System z10; in devices ranging from mobile phones

    tosupercomputers.[65]Specialized distributions exist for less mainstream architectures.

    TheELKS kernelforkcan run onIntel 8086 orIntel 8028616-bit microprocessors, while

    theClinux kernel fork may run on systems without amemory management unit. The kernel

    also runs on architectures that were only ever intended to use a manufacturer-created operating

    system, such asMacintosh computers (with bothPowerPC andIntelprocessors),PDAs,video

    game consoles,portable music players,and mobile phones.

    There are several industry associations and hardwareconferences devoted to maintaining andimproving support for diverse hardware under Linux, such asFreedomHEC.

    http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/BASIChttp://en.wikipedia.org/wiki/Visual_Basichttp://en.wikipedia.org/wiki/Gambashttp://en.wikipedia.org/wiki/FreeBASIChttp://en.wikipedia.org/wiki/XBasichttp://en.wikipedia.org/wiki/QuickBASIChttp://en.wikipedia.org/wiki/Turbo_BASIChttp://en.wikipedia.org/wiki/QB64http://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Ruby_programming_languagehttp://en.wikipedia.org/wiki/Python_programming_languagehttp://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Vala_(programming_language)http://en.wikipedia.org/wiki/Scheme_programming_languagehttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Kaffehttp://en.wikipedia.org/wiki/JikesRVMhttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/KDEhttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/GTK%2Bhttp://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/Widget_toolkithttp://en.wikipedia.org/wiki/Anjutahttp://en.wikipedia.org/wiki/Code::Blockshttp://en.wikipedia.org/wiki/CodeLitehttp://en.wikipedia.org/wiki/Eclipse_(computing)http://en.wikipedia.org/wiki/Geanyhttp://en.wikipedia.org/wiki/ActiveState_Komodohttp://en.wikipedia.org/wiki/KDevelophttp://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/MonoDevelophttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/Qt_Creatorhttp://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/Vim_(text_editor)http://en.wikipedia.org/wiki/Emacshttp://en.wikipedia.org/wiki/Computer_architecturehttp://en.wikipedia.org/wiki/Real-time_computinghttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Computer_architecturehttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/IPAQhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/IBM_System_z9http://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Linux#cite_note-64http://en.wikipedia.org/wiki/Linux#cite_note-64http://en.wikipedia.org/wiki/Linux#cite_note-64http://en.wikipedia.org/wiki/ELKShttp://en.wikipedia.org/wiki/Fork_(software_development)http://en.wikipedia.org/wiki/Intel_8086http://en.wikipedia.org/wiki/Intel_80286http://en.wikipedia.org/wiki/16-bithttp://en.wikipedia.org/wiki/%CE%9CClinuxhttp://en.wikipedia.org/wiki/Memory_management_unithttp://en.wikipedia.org/wiki/Macintoshhttp://en.wikipedia.org/wiki/PowerPChttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/Personal_digital_assistanthttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Digital_audio_playerhttp://en.wikipedia.org/wiki/Business_conferencehttp://en.wikipedia.org/wiki/FreedomHEChttp://en.wikipedia.org/wiki/FreedomHEChttp://en.wikipedia.org/wiki/Business_conferencehttp://en.wikipedia.org/wiki/Digital_audio_playerhttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Video_game_consolehttp://en.wikipedia.org/wiki/Personal_digital_assistanthttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/PowerPChttp://en.wikipedia.org/wiki/Macintoshhttp://en.wikipedia.org/wiki/Memory_management_unithttp://en.wikipedia.org/wiki/%CE%9CClinuxhttp://en.wikipedia.org/wiki/16-bithttp://en.wikipedia.org/wiki/Intel_80286http://en.wikipedia.org/wiki/Intel_8086http://en.wikipedia.org/wiki/Fork_(software_development)http://en.wikipedia.org/wiki/ELKShttp://en.wikipedia.org/wiki/Linux#cite_note-64http://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/IBM_System_z9http://en.wikipedia.org/wiki/IBM_System_z9http://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/Mainframe_computerhttp://en.wikipedia.org/wiki/IPAQhttp://en.wikipedia.org/wiki/ARM_architecturehttp://en.wikipedia.org/wiki/Computer_architecturehttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Real-time_computinghttp://en.wikipedia.org/wiki/Computer_architecturehttp://en.wikipedia.org/wiki/Emacshttp://en.wikipedia.org/wiki/Vim_(text_editor)http://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/Qt_Creatorhttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/MonoDevelophttp://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/KDevelophttp://en.wikipedia.org/wiki/ActiveState_Komodohttp://en.wikipedia.org/wiki/Geanyhttp://en.wikipedia.org/wiki/Eclipse_(computing)http://en.wikipedia.org/wiki/CodeLitehttp://en.wikipedia.org/wiki/Code::Blockshttp://en.wikipedia.org/wiki/Anjutahttp://en.wikipedia.org/wiki/Widget_toolkithttp://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/GTK%2Bhttp://en.wikipedia.org/wiki/Desktop_environmenthttp://en.wikipedia.org/wiki/KDEhttp://en.wikipedia.org/wiki/GNOMEhttp://en.wikipedia.org/wiki/JikesRVMhttp://en.wikipedia.org/wiki/Kaffehttp://en.wikipedia.org/wiki/Java_Virtual_Machinehttp://en.wikipedia.org/wiki/Scheme_programming_languagehttp://en.wikipedia.org/wiki/Vala_(programming_language)http://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/Python_programming_languagehttp://en.wikipedia.org/wiki/Ruby_programming_languagehttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/QB64http://en.wikipedia.org/wiki/Turbo_BASIChttp://en.wikipedia.org/wiki/QuickBASIChttp://en.wikipedia.org/wiki/XBasichttp://en.wikipedia.org/wiki/FreeBASIChttp://en.wikipedia.org/wiki/Gambashttp://en.wikipedia.org/wiki/Visual_Basichttp://en.wikipedia.org/wiki/BASIChttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/C_(programming_language)
  • 8/12/2019 Harshit Os File

    24/31

    HARSHIT(10CS032)

    LINUX ARCHITECTURE

    Introduction to LINUX OS:-Linux is open source free software which is based on UNIX. It is a

    difficult and complicated OS. Therefore on the other hand it puts its entire control on the

    shoulders of the end user to rectify its code accordingly. The basic architecture of Linux is based

    on kernel. The first Linux kernel was developed in 1991. It is ported to many PC architectures.All the Linux code can be modified free of cost and the redistribution is done on the commercial

    and non-commercial ways by securing a license form GNU.

    Components of LINUX kernel:-Linux is based on monolithic kernel. It is able to perform

    monolithic multitasking in user as well as kernel mode. It is also able to support visual memory.

    It also provides the facility of shared libraries. It is capable of providing on demand loading. It is

    also able to do better memory management and threading. It supports shared copy on write

    executable and inter process communication. It is the architecture of Linux that users have

    adopted it successfully. Linux is able to perform multi-tasking in a way that it is translucent for

    the user processes. It seems at times that it is the only process running on the system memory byusing main memory and some other useful hardware resources. There are five basic subsystems

    of Kernel which are process scheduler, memory manager, virtual file system, network interface

    and Inter process communication. The process scheduler allows and controls the process access

    to the central processing unit. Memory manager is there to guide the multi processes to make use

    of main memory in a secure manner. Virtual file system is responsible in making an abridgement

    of the details of the various hardware devices by in order to present the common file interface to

    possibly every device. Network interface is the one responsible for providing access to

    networking protocols and hardware. Inter process communication is complex task. As it is the

    process of handling variable mechanisms in order to support process to process communication

    on a one Linux system.

    The Kernel Software of LINUX OS:-The Linux kernel is efficient software. It is capable of

    performing multitasking. It contains virtual memory, shared libraries, demand loading and

    memory manager. It can also share copies on write executable. It is also able to do proper

    memory management and TCP/IP networking. Linux has a monolithic kernel. The kernel

    extensions and device drivers typically operate in a ring0. This helps in the full access to the

    hardware, though some run into user space. Unlike standard monolithic kernels, it is easy to

    configure as modules loaded and unloaded while the system is running. The monolithic kernel

    also allows the preemption of drivers. Preemption is also considered for resolving latency,

    improving the responsiveness of the system and makes the Linux operating system more suitable

    for the real time applications.

    File System of LINUX :-The file system of Linux is based on single root directory or sub

    directories. Sub directories are usually used as mount points, where it is possible to combine

    various network files. The hardware commands are also incorporated into the file hierarchy.

    Device driver interface to the end user is also a part of this device driver.

  • 8/12/2019 Harshit Os File

    25/31

    HARSHIT(10CS032)

    EXPERIMENT 4

    AIM : introduction to basic commands oflinux

    mkdir - make directories

    Usage

    mkdir [OPTION] DIRECTORY

    Options

    Create the DIRECTORY(ies), if they do not already exist.

    Mandatory arguments to long options are mandatory for short optionstoo.

    -m, mode=MODEset permissionmode (as in chmod), not rwxrwxrwx -umask

    -p, parents no error if existing, make parent directories as needed

    -v, verbose print a message for each created directory

    -help display this help and exit-version output version information and exit

    cd - change directories

    Use cd to change directories. Type cd followed by the name of adirectory to access that directory.Keep in mind that you are always in adirectory and can navigate to directories hierarchically above or below.

    mv- change the name of a directory

    Type mv followed by the current name of a directory and the new name

    of the directory.Ex: mv testdirnewnamedir

    pwd - print working directory

    will show you the full path to the directory you are currently in. This isvery handy to use, especially when performing some of the othercommands on this page

    http://www.debianhelp.co.uk/commands.htmhttp://www.debianhelp.co.uk/commands.htmhttp://www.debianhelp.co.uk/commands.htmhttp://www.debianhelp.co.uk/commands.htm
  • 8/12/2019 Harshit Os File

    26/31

    HARSHIT(10CS032)

    rmdir - Remove an existing directory

    rm -r

    Removes directories and files within the directories recursively.

    chown - change file owner and group

    Usage

    chown [OPTION] OWNER[:[GROUP]] FILE

    chown [OPTION] :GROUP FILE

    chown [OPTION] --reference=RFILE FILE

    Options

    Change the owner and/or group of each FILE to OWNER and/or GROUP.With --reference, change the owner and group of each FILE to those of

    RFILE.-c, changes like verbose but report only when a change is made

    -dereference affect the referent of each symbolic link, rather than thesymbolic link itself

    -h, no-dereference affect each symbolic link instead of any referencedfile (useful only on systems that can change the ownership of a symlink)

    -from=CURRENT_OWNER:CURRENT_GROUP

    change the owner and/or group of each file only if its current owner

    and/or group match those specified here. Either may be omitted, inwhich case a match is not required for the omitted attribute.

    -no-preserve-root do not treat `/' specially (the default)

    -preserve-root fail to operate recursively on `/'

    -f, -s