Vous êtes sur la page 1sur 8

1

History and Goals of Operating System


What is Operating System?

Software designed to control the hardware of a specific data-processing system in


order to allow users and application programs to make use of it.

History of Operating System

The first computers did not have operating systems. However, software tools for
managing the system and simplifying the use of hardware appeared very quickly
afterwards, and gradually expanded in scope. By the early 1960s, commercial
computer vendors were supplying quite extensive tools for streamlining the
development, scheduling, and execution of jobs on batch processing systems.
Examples were produced by UNIVAC and Control Data Corporation, amongst
others.

Through the 1960s, several major concepts were developed, driving the development
of operating systems. The development of the IBM System/360 produced a family of
mainframe computers available in widely differing capacities and price points, for
which a single operating system OS/360 was planned (rather than developing ad-hoc
programs for every individual model). This concept of a single OS spanning an
entire product line was crucial for the success of System/360 and, in fact, IBM's
current mainframe operating systems are distant descendants of this original
system; applications written for the OS/360 can still be run on modern machines.
OS/360 also contained another important advance: the development of the hard disk
permanent storage device (which IBM called DASD). Another key development was
the concept of time-sharing: the idea of sharing the resources of expensive
computers amongst multiple computer users interacting in real time with the
system. Time-sharing allowed all of the users to have the illusion of having exclusive
access to the machine; the Multics timesharing system was the most famous of a
number of new operating systems developed to take advantage of the concept.

The first microcomputers did not have the capacity or need for the elaborate
operating systems that had been developed for mainframes and minis; minimalistic
operating systems were developed. One notable early operating system was CP/M,
which was supported on many early microcomputers and was largely cloned in
creating MS-DOS, which became wildly popular as the operating system chosen
Multics, particularly, was an inspiration to a number of operating systems
developed in the 1970s, notably Unix. Another commercially popular minicomputer
operating system was VMS.

For the IBM PC (IBM's version of it was called IBM-DOS or PC-DOS), its
successors making Microsoft one of the world's most profitable companies. The
major alternative throughout the 1980s in the microcomputer market was Mac OS,
tied intimately to the Apple Macintosh computer.
2

By the 1990s, the microcomputer had evolved to the point where, as well as extensive
GUI facilities, the robustness and flexibility of operating systems of larger
computers became increasingly desirable. Microsoft's response to this change was
the development of Windows NT, which served as the basis for Microsoft's entire
operating system line starting in 1999. Apple rebuilt their operating system on top of
a Unix core as Mac OS X, released in 2001. Hobbyist-developed reimplementations
of Unix, assembled with the tools from the GNU Project, also became popular;
versions based on the Linux kernel are by far the most popular, with the BSD
derived UNIXes holding a small portion of the server market.

The growing complexity of embedded devices has led to increasing use of embedded
operating systems.

Today

Modern operating systems have a Graphical user interface, which uses a pointing
device such as a mouse or stylus for input in addition to the keyboard. Older models
and Operating Systems not designed for direct-human interaction (such as web-
servers) typically use a Command line interface (or CLI) typically with only the
keyboard for input. Both models are centered around a "shell" which accepts and
processes commands from the user (e.g. clicking on a button, or a typed command at
a prompt). The choice of OS may depend on the hardware architecture, specifically
the CPU, with only Linux and BSD running on almost any CPU. Windows NT has
been ported to a few other CPUs (DEC Alpha and MIPS Magnum). Since the early
1990s the choice for personal computers has largely been limited to the Microsoft
Windows family and the Unix-like family, of which Linux and Mac OS X are
becoming the major alternatives. Mainframe computers and embedded systems use
a variety of different operating systems, many with no direct connection to Windows
or Unix, but typically more similar to Unix than window User Interface
All graphics based today, the user interface includes the windows, menus and
method of interaction between you and the computer. Prior to the Mac, Windows
and Motif (Unix) interfaces, all interaction was based on commands entered by the
user. Operating systems may support optional interfaces (different shells) for
different functionality and appearance.

Goals of Operating System

 Job Management

Job management controls the order and time in which programs are run and
is more sophisticated in the mainframe environment where scheduling the
daily work has always been routine. IBM's job control language (JCL) was
developed decades ago. In a desktop environment, batch files can be written
to perform a sequence of operations which can be scheduled to start at a
given time.
3

 Task Management

Multitasking, which is the ability to simultaneously execute multiple


programs, is available in all operating systems today. Critical in the
mainframe and large server environment, applications can be prioritized to
run faster or slower depending on their purpose. In the desktop world,
multitasking is necessary just for keeping several applications open at the
same time so you can bounce back and forth among them. See multitasking.
 Data Management

Data management keeps track of the data on disk, tape and optical storage
devices. The application program deals with data by file name and a
particular location within the file. The operating system's file system knows
where that data are physically stored (which sectors on disk) and interaction
between the application and operating system is through the programming
interface. Whenever an application needs to read or write data, it makes a
call to the operating system.
 Device Management

Device management controls peripheral devices by sending them commands


in their own proprietary language. The software routine that knows how to
deal with each device is called a "driver." The operating system contains all
the drivers for the peripherals attached to the computer. When a new
peripheral is added, that device's driver is installed into the operating
system.
 Security

Multiuser operating systems provide password protection to keep


unauthorized users out of the system. Large operating systems also maintain
activity logs and accounting of the user's time for billing purposes. They also
provide backup and recovery routines for starting over in the event of a
system fail.

Linux
What is Linux?

Linux is a computer operating system and its kernel. It is one of the most famous
examples of free software and of open-source development: unlike other major
operating systems (such as Windows or MacOS), its underlying source code is
available to the public and anyone can freely use, modify, and redistribute it. 

Linux's directory structure 
4

As it may have noticed, Linux organizes its files differently from Windows. First
the directory structure may seem unlogical and strange and you have no idea
where all the programs, icons, config files, and others are.

< / >

The root directory. The starting point directory structure. This is where the Linux
system begins. Every other file and directory on system is under the root
directory. Usually the root directory contains only subdirectories, so it's a bad
idea to store single files directly under root.

Don't confuse the root directory with the root user account, root password (which
obviously is the root user's password) or root user's home directory.

< /boot >

As the name suggests, this is the place where Linux keeps information that it
needs when booting up. For example, this is where the Linux kernel is kept. If we
list the contents of /boot, we'll see a file called vmlinuz - that's the kernel.

< /etc >

The configuration files for the Linux system. Most of these files are text files and
can be edited by hand. Some interesting stuff in this directory:

/etc/inittab
A text file that describes what processes are started at system bootup and during
normal operation. For example, here we can determine if we want the X Window
System to start automatically at bootup, and configure what happens when a user
presses Ctrl+Alt+Del.

/etc/feta
This file contains descriptive information about the various file systems and their
mount points, like floppies, cdroms, and so on.

/etc/passwd
A file that contains various pieces of information for each user account. This is
where the users are defined.

< /bin, /usr/bin >

These two directories contain a lot of programs (binaries, hence the directory's
name) for the system. The /bin directory contains the most important programs
5

that the system needs to operate, such as the shells, ls, grep, and other essential
things. /usr/bin in turn contains applications for the system's users. However,
in some cases it really doesn't make much difference if we put the program in
/bin or /usr/bin.

< /sbin, /usr/sbin >

Most system administration programs are stored in these directories. In many


cases we must run these programs as the root user.

< /usr >

This directory contains user applications and a variety of other things for them,
like their source codes, and pictures, docs, or config files they use. /usr is the
largest directory on a Linux system, and some people like to have it on a separate
partition. Some interesting stuff in /usr:

/usr/doc
Documentation for the user apps, in many file formats.

/usr/share
Config files and graphics for many user apps.

/usr/src
Source code files for the system's software, including the Linux kernel.

/usr/include
Header files for the C compiler. The header files define structures and constants
that are needed for building most standard programs. A subdirectory under
/usr/include contains headers for the C++ compiler.

/usr/X11R6
The X Window System and things for it. The subdirectories under /usr/X11R6 
may contain some X binaries themselves, as well as documentation, header files,
config files, icons, sounds, and other things related to the graphical programs.

< /usr/local >

This is where we install apps and other files for use on the local machine. If our
machine is a part of a network, the /usr directory may physically be on another
machine and can be shared by many networked Linux workstations. On this kind
of a network, the /usr/local directory contains only stuff that is not supposed
to be used on many machines and is intended for use at the local machine only.
6

Most likely your machine isn't a part of a network like this, but it doesn't mean
that /usr/local is useless. If we find interesting apps that aren't officially a
part of distro, we should install them in /usr/local. For example, if the app
would normally go to /usr/bin but it isn't a part of our distro, you should
install it in /usr/local/bin instead. When we keep our own programs away
from the programs that are included in our distro, we'll avoid confusion and keep
things nice and clean.

< /lib >

The shared libraries for programs that are dynamically linked. The shared
libraries are similar to DLL's on Winblows.

< /home >

This is where users keep their personal files. Every user has their own directory
under /home, and usually it's the only place where normal users are allowed to
write files. You can configure a Linux system so that normal users can't even list
the contents of other users' home directories. This means that if your family
members have their own user accounts on your Linux system, they won't see all
the w4r3z we keep in our home directory. ;-)

< /root >

The superuser's (root's) home directory. Don't confuse this with the root directory
(/) of a Linux system.

< /var >

This directory contains variable data that changes constantly when the system is
running. Some interesting subdirectories:

/var/log
A directory that contains system log files. They're updated when the system runs,
and checking them out can give us valuable info about the health of our system. If
something in our system suddenly goes wrong, the log files may contain some info
about the situation.

/var/mail
Incoming and outgoing mail is stored in this directory.

/var/spool
This directory holds files that are queued for some process, like printing.
7

< /tmp >

Programs can write their temporary files here.

< /dev >

The devices those are available to a Linux system. Remember that in Linux,
devices are treated like files and we can read and write devices like they were files.
For example, /dev/fd0 is your first floppy drive, /dev/cdrom is your CD
drive, /dev/hda is the first IDE hard drive, and so on. All the devices that a
Linux kernel can understand are located under /dev, and that's why it contains
hundreds of entries.

< /mnt >

This directory is used for mount points. The different physical storage devices
(like the hard disk drives, floppies, CD-ROM's) must be attached to some
directory in the file system tree before they can be accessed. This attaching is
called mounting, and the directory where the device is attached is called the
mount point.

The /mnt directory contains mount points for different devices, like
/mnt/floppy for the floppy drive, /mnt/cdrom for the CD-ROM, and so on.
However, we're not forced to use the /mnt directory for this purpose, we can use
whatever directory we wish. Actually in some distros, like Debian and SuSE, the
default is to use /floppy and /cdrom as mount points instead of directories
under /mnt.

< /proc >

This is a special directory. Well, actually /proc is just a virtual directory, because
it doesn't exist at all! It contains some info about the kernel itself. There's a bunch
of numbered entries that correspond to all processes running on the system, and
there are also named entries that permit access to the current configuration of the
system. Many of these entries can be viewed.

< /lost+found >

Here Linux keeps the files that it restores after a system crash or when a partition
hasn't been unmounted before a system shutdown. This way you can recover files
that would otherwise have been loss.
8

References:

Consulted Books

1. Operating System Concepts

By

Deitel, Harvey M., Paul, David

2. Operating System (Design and Implementation)

By

Tanenbaum, Andrew s, wood hull

3. Operating System Concepts

By

Silberschatz, Galvin, Gagne

Consulted Website

1. www.wikipedia.com

2. www.tuxfiles.com

3.www.answers.com

4. www.wordnet.com

Vous aimerez peut-être aussi