Download Course\FOS\FOS Unit-1 2014

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Library (computing) wikipedia , lookup

Copland (operating system) wikipedia , lookup

Commodore DOS wikipedia , lookup

MTS system architecture wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

RSTS/E wikipedia , lookup

Spring (operating system) wikipedia , lookup

OS 2200 wikipedia , lookup

Batch file wikipedia , lookup

Computer file wikipedia , lookup

Burroughs MCP wikipedia , lookup

Unix security wikipedia , lookup

CP/M wikipedia , lookup

VS/9 wikipedia , lookup

Transcript
UNIT-1:
The Operating System & User Interface
25%
Role of Software – Types of Software – Introduction to Operating Systems – Functions of
Operating Systems – Types of Operating Systems – User Interface: Command Line &
Graphical – Running Programs – Organizing Files & Folders – Managing Hardware
COMPUTER SYSTEM
The Computer System consists of major two parts: Hardware and Software.
Some adds additional two parts: Data and User.
Hence, Computer System include
1.
2.
3.
4.
Hardware
Software
Data
User/People
1. Hardware
The electro-mechanical devices that make up the computer are called
Hardware.
Hardware is any part of the computer that you can touch.
For Example:
• Processor
• Memory
• I/O (Input/Output) Devices
• Storage
(e.g.,
(e.g.,
(e.g.,
(e.g.,
CPU)
RAM)
Keyboard, Mouse, Monitor)
Hard Disk)
2. Software
Software is a set of instruction that makes the computer perform tasks. In
other words, software tells the computer what to do. Virtually, everything
you do on computer system is through software.
• For example, user uses
• Windows software to manage their files and folders,
• MS-Office for creation and modification of different types of
documents,
• Game for playing,
•
•
•
Programming Languages to write programs,
Browser to connect with Internet,
Website such as Google to search information & Yahoo to write e1
•
mails,
Media Player to listen music or to watch movie, etc.
The term program refers to any piece of software.
The process is a running program (or part of program in execution) along
with its data.
Software is a set of instructions describing how to perform certain job/task
on computer.
Software is any set of machine-readable (directly or indirectly after
processing such as compilation) instructions that directs a computer's
processor to perform specific operations.
Some programs exist primarily for computer’s use to help it perform tasks
and manage its own resources (e.g., OS).
Other types of programs exist for the user, enabling him or her to perform
tasks such as creating documents (e.g., MS-Word).
3. Data
• Data consists of individual raw facts, which may not be much useful
without further processing.
• A computer’s primary job is to process these data in various ways,
converting them into useful information.
•
Data  Information (required for Decision Making)
• Information is processed data.
4. User/People
• User is anybody who uses computer for
• Internet Browsing
• Listening Audio, Watching Movie, Playing Game
• Creating or Manipulating Documents
• Using some specific software such as Accounting Package
•
•
Writing Computer Programs
Managing Computer and Network
2
ROLE OF SOFTWARE
The software brings the machine to life. The ingredient that enables a
computer to perform a specific task is software, which consists of
instructions.
A set of instructions that drive a computer to perform specific task is called
a program.
These instructions tell the machine’s physical components what to do;
without the instructions, a computer could not do anything at all. When a
computer uses a particular program, it is said to be running or executing
the program.
TYPES OF SOFTWARE
Most software falls into two major categories: System Software and
Application Software.
• The major categories and sub-categories of software:
•
•
System Software
• Core System Software
(e.g.,
• Utility System Software
(e.g.,
Application Software
• General Purpose Application Software
• Specific Purpose Application Software
Operating System)
Disk Manager)
(e.g., MS-Word)
(e.g., Tally)
System Software
System Software is any program that controls the computer’s hardware or
that can be used to maintain the computer in some way so that it runs more
efficiently.
There are three basic types of System Software:
• Operating System (Core System Software)
• Network Operating System (Core Software System)
• Utility System Software
Operating System
•
An Operating System tells the computer how to use its own components.
3
•
•
Examples of OSs include Windows, the Macintosh OS, and Linux.
Windows is the most popular of all PC Oss, running on about 90 percent
of all Personal Computers.
An OS is essential for any computer, because it acts as an interpreter
between the hardware, application programs, and the user.
When a program wants the hardware to do something, it communicates
through the OS. Similarly, when you want the hardware to do something
(such as copying or printing a file), your request is handled by the OS.
Network Operating System (NOS)
A NOS allows computers to communicate and share data across a network
while controlling network operations and overseeing the network security.
Utility
Utility is a program that makes the computer system easier to use or
performs highly specialized functions.
4
Utilities are used to manage disks, troubleshoot hardware problems, and
perform other tasks that the OS itself may not be able to do. See Figure
above.
Application Software
Application Software tells the computer how to accomplish specific tasks,
such as word processing or drawing, for the user.
Some of
•
•
•
•
•
•
•
the Major categories of Application Software include:
Word Processing Software
Spreadsheets Software
DBMS (Database Management Software)
Presentation Software
Graphics Programs
Multimedia Authoring Applications
Entertainment and Education Software
Word Processing Software for creating text-based documents such as
newsletters or brochures (e.g., MS-Word, See Figure 1B.17).
5
Spreadsheets for creating numeric-based documents such as budgets or
balance sheets. (e.g., MS-Excel)
Database Management (DBMS) Software for building and manipulating large
set of data, such as the names, addresses, and phone numbers in a
telephone directory.
Presentation programs for creating and presenting electronic slide shows
(e.g., MS Power Point Presentation).
6
Graphics programs for designing illustrations or manipulating photographs,
movies, or animation.
Multimedia authoring applications for building digital movies that incorporate
sound, video, animation, and interactive features.
Entertainment and education software, many of which are interactive
multimedia events.
Web related tools: Web design tools and Web browsers, and other Internet
applications such as newsletters and e-mail programs.
Games Software: Games, some of which are for a single player and many of
which can be played by several people over a network or the Internet.
All these previously discussed software are General Pupose Application
Software
The example of Specific Purpose Application Software include
• Tally Accounting Package
• Finacle – Infosys’s Banking Software
• Student Attendance System developed for a specific college
• Payroll System of specific organization/company
• Etc.
INTRODUCTION TO OS/OVERVIEW OF OS
An Operating System (OS) is an example of System Software – software that
controls the system’s hardware and that interacts with the User and
Application Software. In short, the operating system is the computer’s
master control program. The OS provides you with the tools (commands)
that enable you to interact with the PC. When you issue a command, the OS
translates it into code that the machine can use. The OS ensures that the
results of your actions are displayed on screen, printed, and so on. The
operating system also acts as the primary controlling mechanism for the
computer’s hardware.
An OS is a program that acts an intermediary between a user (of computer)
and the computer hardware.
The purpose of the OS is to provide an environment in which a user can
7
execute programs. The primary goal of an OS is thus to make the computer
system convenient to use. A secondary goal is to use computer hardware in
an efficient manner.
An OS is an important part of almost every computer system. From the OS
Course's perspective, an OS can be divided roughly into four components:
the hardware, the OS, the application programs, and the users (Next
Figure).
Figure: Abstract view of the components of a computer system
The hardware – the CPU (Central Processing Unit), the memory, and the
input/output (I/O) devices – provides the basic computing resources.
The application programs – such as compilers, database systems, games,
and business programs – define the ways in which these resources are used
to solve the computing problems of the users.
There may be many different users (people, machines, other computers)
trying to solve different problems.
Accordingly, there may be many different application programs.
The OS controls and coordinates the use of the hardware among the various
applications programs for the various users.
8
An OS is similar to a government. The components (resources) of a computer
are its hardware, software, and data. The OS provides the means for the
proper use of these resources in the operation of the computer system. Like
a government, the OS performs no useful function by itself. It simply
provides an environment within which other programs can do useful work.
We can view an OS as a resource allocator. A computer system has many
resources (hardware & software) that may be required to solve a problem
such as: CPU time, memory space, file storage space, I/O devices and so on.
The OS acts as the manager of these resources and allocates them to
specific programs and users as necessary for tasks. Since there may be
many – possibly conflicting – requests for resources, the OS must decide
which requests are allocated resources to operate the computer system
efficiently and fairly.
A slightly different view of an OS focuses on the need to control the various
I/O devices and user programs. An OS is a control program. A control
program controls the execution of user programs to prevent errors and
improper use of the computer. It is especially concerned with the operation
and control of I/O devices.
The fundamental goal of computer system is to execute user programs and
to make solving user problems easier. Toward this goal, computer hardware
is constructed. Since bare hardware alone is not particularly easy to use,
application programs are developed. These various programs require certain
common operations, such as those controlling the I/O devices. The common
functions of controlling and allocating resources are then brought together
into one piece of software: the OS.
There is no universally accepted definition of what is part of the OS and
what is not. A simple view point is that everything a vendor ships when you
order "the OS" should be considered. The memory requirements and
features included, however, vary (differs) greatly across different OSs.
A more common definition is that the OS is the one program running at all
times on the computer (usually called the kernel), with all else being
application programs (or system software).
The primary goal of an OS is convenience for the user. OSs exists because
they are supposed to make it easier to compute with them than without
9
them.
A secondary goal is efficient operation of the computer system. This goal is
particularly important for large, shared multiuser systems. These systems
are typically expensive, so it is desirable to make them as efficient as
possible.
These two goals – convenience and efficiency – are sometimes contradictory.
In the past, efficiency considerations were often more important than
convenience. Thus, much of the OS theory concentrates on optimal use of
computing resources.
OSs and computer architecture have had a great deal of influence on each
other. To facilitate the use of the hardware, OSs were developed. As OSs
were designed and used, it became obvious that changes in the design of the
hardware could simplify them.
OS FUNCTIONS
The operating system performs the following functions:
 Displays the on-screen elements with which you interact – the user
interface.
 Loads programs (such as word processing and spreadsheet programs)
into the computer’s memory so that you can use them.
 Coordinates how programs work with the computer’s hardware and other
software.
 Manages the way information is stored on and retrieved from disks.
Additional OS Functions are
 Security (protection of data and programs from unauthorized user)
 Safety (providing Backup and Restore facility to avoid accidental loss
of data)
 Network Connectivity (to connect the machine with network)
 Providing support for Device Drivers to connect different hardware
(devices) such as printer, scanner, cell phone, etc. with computer
system in a plug-and-play manner.
TYPES OF OPERATING SYSTEMS
Operating systems can be categorized into four major types:
1. Real-time,
10
2. Single-user/single-tasking,
3. Single-user/multitasking, and
4. Multi-user /Multitasking.
1. Real-Time Operating Systems
A real-time operating system is a very fast, relatively small OS. Real-time
OSs are often also Embedded Oss, when they are built into the circuitry of a
device and are not loaded from a disk drive.
A real-time operating system is needed to run real-time applications; it may
support multiple simultaneous tasks, or it may only support single-tasking.
That is, if a real-time application is not supported by real-time OS and if it is
running on normal OS; it may not give quick response to user in timecritical applications.
A real-time application is an application that responds to certain inputs
extremely quickly – thousandths or millionths of a second (milliseconds or
microseconds, respectively). Real-time applications are needed to run
medical diagnostics equipment, life-support systems, and scientific &
industrial instruments/machinery.
A common example of an RTOS is an HDTV (High-definition
television) receiver and display. It needs to read a digital signal, decode it
and display it as the data comes in. Any delay would be noticeable as jerky
or pixelated video and/or garbled audio.
Some of the best known, most widely deployed, real-time operating systems
are: LynxOS, OSE, QNX, RTLinux, VxWorks, Windows CE, and FreeRTOS.
2. Single-User/Single-Tasking Operating Systems
An operating system that allows a single user to perform just one task at a
time is called single-user/single-tasking operating system.
To a user, a “task” is a function such as printing a document, writing a file
to disk, editing a file, or downloading a file from a network server.
To the operating system, a task is a process.
A small and simple OS can only manage a single task at a time. The
examples of single-tasking OS are MS-DOS (used in PC) and Palm OS (used
11
in Palm handheld computers). See Figure – 6A.1.
Although such operating systems are limited by this characteristic, there is
still a use for them, because they take up very little space on disk or in
memory when they are running and do not require a powerful and expensive
computer.
Advantages of SU-ST-OS: Simple, need little space and processing power
Disadvantage of SU-ST-OS: Limited capacity, only one task can be
performed at a time.
3. Single-User/Multitasking Operating Systems
A single-user/multitasking operating system is one that allows a single
user to perform two or more functions at once.
The most commonly used personal computers usually run such OSs,
including Microsoft Windows and the Macintosh Operating System (see
Figure – 6A.2).
The multitasking features of these OSs have greatly increased the
productivity of people in a large variety of jobs because they can accomplish
more in a shorter period of time. For instance, to an office worker, it is
important to be able to send a large document to a printer and be able to do
other work on his or her computer while it is being printed. It is also helpful
for many types of workers to be able to have two or more programs open, to
share the data between the two programs, and to be able to instantly switch
between the two programs.
12
A disadvantage of a single-user/multitasking operating system is the
increased size and complexity it needs to support multitasking and the
related features such as a graphical user interface, and the ability to share
data between two or more open programs.
Advantage: Increased Productivity
Disadvantage: Increased Space and Processing Requirement, Complexity
4. Multi-User/Multitasking Operating Systems
A multi-user/multitasking operating system is an operating system that
allows multiple users to use programs that are simultaneously running on a
single network server, called a terminal server.
This is not at all the same as connecting to a network server for the sake of
accessing files and printers. In case of Network Server, when a computer is
connected to a server to access document files to edit, the client computer
performs the processing work locally. Not so with a multi-user OS, which
gives each user a complete environment, called a user session, on the
server. Each user’s applications run within their user session on the server
separate from all other user sessions. The software that makes this possible
is called a terminal client.
In a multi-user/multitasking operating system environment, all or most of
the computing occurs at the server (see Figure – 6A.3). Examples of multiuser OSs include UNIX, VMS (Virtual Memory Storage), and mainframe
operating systems such as MVS (Multiple Virtual Storage).
13
The advantage of these operating systems is that they can be managed by
simply making changes to one server, rather than to many desktop
computers. They also allow the user to work with applications that require a
more powerful computer than the user needs on the desktop to run the
client. A disadvantage is that if the network connection to the server is
broken, the user cannot do any work in the applications on the server.
USER INTERFACE
When you work on a computer, you see and use a set of items on the screen.
Taken together, these items are called the user interface.
The two most common types of user interfaces are graphical and command
line. That is:
1. Graphical User Interface (GUI) and
2. Command Line Interface (CLI)
1. Graphical User Interfaces
Most current operating systems, including all versions of Windows, the
14
Macintosh operating system, OS/2, and some versions of UNIX and Linux,
provide a graphical user interface (GUI). Graphical user interfaces are so
called because you use a mouse (or some other pointing device) to work with
graphical objects such as windows, menus, icons, buttons, and other tools.
These graphical tools represent different types of commands; the GUI
enables you to issue commands to the computer by using visual objects
instead of typing commands. This is one of the key advantages of a graphical
user interface; it frees you from memorizing and typing text commands.
Windows is one of several GUIs that use the desktop metaphor in which the
background of the GUI is said to be a desktop on which you have your
graphical tools and within which you can store your work. Figure 6A.4
shows the Windows XP desktop. The small pictures on the desktop – called
shortcuts – represent links to resources on the PC or network. Although
shortcuts are often called icons, an icon actually is only the tiny graphic
that represents an object, such as programs, folders, files, printers, and
shortcuts. Using your mouse or other pointing device, you can move the
pointer (a small graphic that moves in reaction to mouse movements) and
choose (or activate) a shortcut, telling Windows you want to use the
resource that the shortcut represents. For example, you can choose the
Microsoft Word shortcut to launch that program. The items that appear on
the desktop depend on the contents of the computer’s disks, the resources it
can access, and the user’s preferences; therefore, any two windows desktops
can look different.
Certain elements always appear on the Windows desktop. As shown in
Figure 6A.4, the taskbar appears at the bottom of the Windows desktop; it
is used to launch and manage programs. The Start button is a permanent
feature of the taskbar; click it to open the Start menu. The Start menu
15
contains shortcuts for launching programs and opening folders on a
computer (see Figure 6A.5). Shortcuts can be added to the desktop, the
Start menu, and other areas. When you start a program in Windows, a
button representing it appears on the taskbar.
You also can launch programs by clicking icons on the Quick Launch bar, a
special section at the left end of the taskbar where you can add icons for the
purpose of quickly starting programs. Once you start a program, a button
appears on the taskbar. When you have several programs on the desktop,
one way in which you can switch between them is to click the program’s
button on the taskbar.
When you right-click an object in Windows, a small menu usually appears
containing the most common commands associated with that object.
Depending on the version of Windows you are using, and whether you are
using a specific application, this type of menu may be called a shortcut
menu or a context menu. Either way, its function is the same: to provide
quick access to commonly used commands related to the item you have
right-clicked. Figure 6A.6 shows the shortcut menu that appears when you
right-click the desktop in Windows XP Professional.
16
When you launch a program, it is loaded into memory and begins to run. A
running program may take up the whole screen, it may appear in a
rectangular frame called a windows, or it may appear only as a shortcut on
the taskbar.
You access all the resources on your computer through windows. For
example, you can view the contents of a disk in a window, run a program
and edit a document in a window, view a Web page in a window, or change
system settings in a window. A different window appears for each resource
you want to use. Figure 6A.7 shows Microsoft Visio running in a window.
Some menus and buttons, such as the ones shown here, appear in nearly
every window you open. In the Windows GUI, programs share many of the
same features, so you see a familiar interface no matter what program you
are using. Among the common GUI features are the title bar, menu bar,
toolbars, scroll bars, and various buttons. The title bar identifies the
windows’ contents and it also contains the Minimize, Restore, and Close
buttons, which let you hide the window, resize it, or close it altogether. The
menu bar provides lists of commands and options for this specific program.
Toolbars contain buttons that let you issue commands quickly. Scroll bars
let you view parts of the program or file that do not fit in the window.
17
A graphical operating system lets you have multiple programs and resources
running at the same time, but you can work in only one window at a time.
The window that is currently in use is called the active window; its title bar
(or Application Icon) appears in a deeper color shade than that of other
visible open windows, and its taskbar button appears highlighted or
“pressed in.” Unless all open windows are arranged side by side, the active
window will appear on top of any inactive windows. You must select the
window you want to use before you can access its contents. The process of
moving from one open window to another is called task switching. You can
either click an open window to activate it or click an open program’s taskbar
button to activate its window. In Figure 6A.8, Microsoft Word is the active
program and Microsoft Visio is in the background. Its title bar is lighter in
color, and its taskbar button is not highlighted or pressed in.
18
You initiate many tasks by clicking icons and toolbar buttons, but you also
can perform tasks by choosing commands from lists called menus. In most
program windows, you open menus from a horizontal list called the menu
bar. As shown in Figure 6A.9, many programs feature a File menu, which
typically contains commands for opening, closing, saving, and printing files.
To execute or run one of the menu commands, you click it. In many cases,
you can issue menu commands by using keyboard shortcuts instead of the
mouse.
Dialog boxes are special-purpose windows that appear when the OS or
application needs to give you some status and possible choice of actions or
you need to tell a program (or the operating system) what to do next. A
19
dialog box is so named because it conducts a “dialog” with you as it seeks
the information it needs to perform a task. A dialog box can even have more
than one page, in which case the pages are made available through tabs and
look like a stack of tabbed pages. Figure 6A.10 shows a dialog box from
Microsoft Word and describes some of the most common dialog box features.
2. Command-Line Interfaces
Some older operating systems (such as MS-DOS) and some current versions
of UNIX and Linux feature a command-line interface, which uses typewritten
commands – rather than graphical objects – to execute tasks.
A command-line interface displays in character mode – using only equalsized alphanumeric and other simple symbols.
Users interact with a command-line interface by typing strings of characters
at a prompt on the screen.
In DOS, the prompt usually includes the identification for the active disk
drive (a letter followed by a colon), a backslash (\), and a greater-than
symbol (>), as in C:\>.
As much as people prefer to work in a GUI, a command-line interface gives
you a quick way to enter commands, and even now Windows has an
optional command-line interface, called the Command Prompt (see Figure
6A.11). This command prompt, however, is not DOS, and is most often used
20
by administrators to run non-GUI programs for managing and
troubleshooting Windows. In fact, any program that can be run in Windows
can be launched from here, opening its own GUI window, if necessary.
RUNNING PROGRAMS
The operating system provides a consistent interface between application
programs and the user. It is also the interface between those programs and
other computer resources such as memory, a printer, or another program.
Programmers write computer programs with built-in instructions – called
system calls – that request services from the operating system. They are
known as “calls” because the program has to call on the operating system to
provide some information or service.
For example, when you want your word processing program to retrieve a file,
you use the Open dialog box to list the files in the folder that you specify
(see Figure 6A.12). To provide the list, the program calls on the operating
system. The OS goes through the same process to build a list of files
whether it receives its instructions from you (via the desktop) or from an
application. The difference is that when the request comes from an
application, the operating system sends the results of its work back to the
application rather than to the desktop.
21
Some other services that an operating system provides to programs, in
addition to listing files, include:
 Saving the contents of files to a disk.
 Reading the contents of a file from disk into memory.
 Sending a document to the printer and activating the printer.
 Providing resources that let you copy or move data from one document to
another, or from one program to another.
 Allocating RAM among the running programs.
 Recognizing keystrokes or mouse clicks and displaying characters or
graphics on the screen.
MANAGING HARDWARE
When programs run, they need to use the computer’s memory, monitor, disk
drives, and other devices, such as a printer. The operating system is the
intermediary between programs and hardware. In a computer network, the
operating system also mediates between your computer and other devices on
the network.
Processing Interrupts
The operating system responds to requests to use memory and other
devices, keeps track of which programs have access to which devices, and
coordinates everything the hardware does so that various activities do not
overlap causing the computer to become confused and stop working. The
operating system uses interrupt requests (IRQs) to help the CPU coordinate
processes. For example, Figure 6A.14 shows what happens if you tell the
operating system to list the files in a folder.
22
Working with Device Drivers
In addition to using interrupts, the operating system often provides
programs for working with special devices such as printers. These programs
are called drivers because they allow the operating system and other
programs to activate and use – that is, “drive” – the hardware device. Most
new software you buy will work with your printer, monitor, and other
equipment without requiring you to install any special drivers.
ORGANIZING FILES & FOLDERS (File System of OS)
File System
The File System provides the mechanism for on-line storage of and access to
both data and programs.
The File System is consists of two parts: a collection of files, each storing
related data, and a directory structure, which organizes and provides
information about all the files in the system.
Computer can store information on different types of storage media, such as
magnetic disks, magnetic tapes, and optical disks. For the convenience of user,
the OS provides a uniform logical view of information storage with the help of
logical storage unit file. The user need not have to deal with different types of
23
storage devices. Files are mapped, by the OS, onto physical devices.
File
A file is a named collection of related information that is recorded on secondary
storage.
In general, a file is a sequence of bits, bytes, lines or records whose meaning is
defined by the files creator and user.
File can contain one or more of different types of data such as free form textual
data, structured data using some record structure, graphics, images, sound
recording, audio and video. The file may consist of a program (set of
instructions) in the source form, object form, or binary (executable) form.
File Attributes
The file is named for the convenience of user. A file-name is a string of
characters. Which characters can be used and how many characters can be used
to name a file depends on OS. The file-name usually contains two parts
separated by decimal point: the name of file and three (usually) letter extension,
e.g., Example.cpp.
The three (may be less or more) letter extension specifies the type of the file.
That is, it shows file’s association with application program that can encode and
decode the file to process it meaningfully. For example, example.c indicates that
it is a C Program File. The example.Doc specifies that it is a MS-Word
document file, and so on. An application program can support one or more types
of files. The OS supports and can distinguish different types of file based on its
structure such as:



Ordinary files: These are the files that contain user information. These
may have text, databases or executable program. The user can apply
various operations on such files like add, modify, delete or even remove
the entire file.
Directory Files: These files contain list of file names and other
information related to these files.
Special Files: These files are also known as device files. These files
represent physical device like disks, terminals, printers, networks, tape
drive etc.
The OS associates several additional attributes in addition to Name with each
File which are listed below.
24
The symbolic name given to file for user’s convenience
Type is needed for those system that support different types
Location is a pointer to a device and to the location of the
file on that device
Size
The current size of the file (in bytes, words, or blocks), and
possibly it include the maximum size allowed.
Protection
Access control information such as who can do reading,
writing, executing, and so on.
Time, Date, and The information may be kept for creation, last
User Identification modification, last use/access, etc. It is useful for protection,
security, and usage monitoring.
Name
Type
Location
The information about all files is kept in the directory structure.
File Access Mechanisms
File access mechanism refers to the manner in which the records/contents of a
file may be accessed. There are several ways to access files such as

Sequential access: A sequential access is that in which the records are accessed
in some sequence, i.e., the information in the file is processed in order, one
record after the other.

Direct/Random access: Random access file organization provides, accessing the
records directly. Each record has its own address on the file with by the help of
which it can be directly accessed for reading or writing. The records need not be
in any sequence within the file and they need not be in adjacent locations on the
storage medium.
Space Allocation
Files are allocated disk spaces by operating system.
File Operations
The most common basic/primitive file operations are:
Creating a file
Writing a file
: OS finds the space on file system and allocates to file. An
entry for the new file is made in the directory
: Given a name of file and information to be written, the
OS searches its entry in directory to find the location of
file. It maintains write-pointer which points to the
25
Reading a file
:
Repositioning
within a file
:
Deleting a file
:
Truncating
file
:
a
location in the file where next write is to take place.
Write-pointer is updated whenever a write occurs.
To read from a file two things need to be specified: name
of the file and where (in memory) the next block of the
file should be put. The OS searches file’s entry in
directory to find the location of file. It maintains readpointer which points to the location in the file where next
read is to take place. Read- pointer is updated whenever a
read has taken place.
This file operation is also known as Seek. The directory
is searched for the appropriate entry, and the current-filepointer is set to a given value. It does not involve any
actual I/O on file.
To delete a file, directory entry is searched for named
file. The space used by (allocated to) file is marked as
released (so that it can be used by other files) and
directory entry is erased.
This operation deletes the content of the file, but retains
all file attributes as it is except length/size, which is reset
to zero.
The other operations that can be performed on file include:
 Appending new information to file
 Renaming an existing file
 Creating a copy of file (on a same or other device)
 Reading or changing the file attributes such as size, last modified time,
and file owner.
Directory Structure
The File System may contain/store millions of files. To manage all these data,
we need to organize them. It is done in two parts. The file system is broken into
partitions (also known as minidisks or volumes), and each partition contains
information about files within it. Typically, each disk contains at least one
partition, which is a low-level structure in which files and directory reside. The
figure shows typical file-system organization.
26
Sometimes, Partitions are used to provide several separate areas within one disk,
each treated as a separate storage device. On the other hand, some systems
allow partitions to be larger than a disk to group disks into one logical structure.
Hence, partition can be thought as virtual disk. User is concerned with only
logical structure of file and directory.
The directory can be viewed as a symbol table that translates file names into
their directory entries. Hence, directory itself is one type of file having specific
data structure. The operations that are to be performed on a directory are:
Search for a
file
Create a file
Delete a file
List
a
directory
Rename a file
Traverse the
file system
: Search directory structure to find entry for a particular file
or entries for all files whose names match a particular
pattern (e.g., T*.exe).
: New files need to be created and added to the directory.
: When a file is no longer needed, we want to remove it
from the directory.
: List the files in the directory, and the contents of the
directory entry for each file in the list.
: Renaming means changing the name of the file or
changing the position of file within the directory structure
(i.e., moving a file from one directory to another).
: To access every directory, and every file within a
directory structure.
Single-Level Directory
27
It is the simplest directory structure. All files are contained in the same
directory, which is easy to support and understand.
Limitations:
 Each file must have unique name. This creates a problem when the
number of files increases or when two or more users would like to use
same file name for their data or program file.
 Also, some system has limits on filename length (e.g., MS-DOS allows
only 11-characters file name.
 Even for a single user it becomes difficult to remember the names of all
the files, when number of files increases.
Two-Level Directory
The major disadvantage in single-level directory is the confusion of file names
between different users. The standard solution is to create a separate directory
for each user.
In the two-level directory structure, each user has his/her own User File
Directory (UFD). Each UFD has similar structure, but lists only the files of a
single user. When a user job starts, the system’s Master File Directory (MFD) is
searched. The MFD is indexed by user name (or account number), and each
entry points to the UFD for specific user. When user refers to particular file,
only his UFD is searched.
28
Thus, different users may have files with the same name. Hence, it solves file
naming problem (name-conflict problem) among users. But, in this
configuration, if any user wish to work in cooperation with other user and
would like to access/use other user’s file; then he must use, fully qualified name
to use file which involves file name as well as file owner’s (user’s) name. (e.g.,
/Scott/Test.c). This specification is called path name for a file. Some systems
need to specify the partition of a file. For example, in MS-DOS a partition is
specified by letter followed by colon. Thus, a file specification might be
“C:/user_name/file_name”.
The two-level directory structure still has a problem that it does not allow the
user to group similar files for easy searching. Hence, this idea is generalized
(extended) to N-level directory structure, called Tree-Structured Directories.
Tree-Structured Directory (Multi-Level Directory)
The tree-structured directories allow the users to create their own subdirectories and to organize their files. For example, user can put his all java
programs in one sub-directory and his all documents in another sub-directory.
Hence, a directory (or sub-directory) contains set of files or sub-directories.
29
File Path
As with two-level directory, a full path needs to be mentioned to use a specific
file. Few examples are:
C:/Scott/Java Programs/MyProgram1.java
C:/Scott/DBMS/Basic/ERD/Symbols.Doc
D:/King/Programs/C/Test.c
Absolute Path
Normally, at a given time, user is interested to specific group of files and
accordingly he works on that specific directory. This directory is known as his
Present working Directory (PWD) or Current Directory.
When user refers any file by simply using bare file-name, the current directory
is searched. If file is not present in current directory, user has to specify full path
name to locate file or he must change his current directory to one that contains a
file.
The path names can be of two types: Absolute path names or Relative Path
names.
30
The path name specified starting with partition letter (root), following each path
down to specified file, and ends with the file name is called absolute path
name.
Relative Path
The user may refer file by specifying file path in relation to his currnt working
directory. For example, he may refer any file simply by file-name if the file
resides in a same directory. Following examples shows how each relative path
will be mapped to appropriate absolute path if the current working directory of
the user is “C:/Scott/Programs”. Most system provides special symbol to specify
current directory (say, decimal point “.”) and parent directory – a directory one
level up than current directory (say, two decimal points “..”), which may be
used in relative path.
Relative Path
Java/first.java
C/Array/sort.c
./print.txt
../Documents/design.xls
../main.doc
Absolute Path
C:/Scott/Programs/Java/first.java
C:/Scott/Programs/C/Array/sort.c
C:/Scott/Programs/print.c
C:/Scott/Documents/design.xls
C:/Scott/main.doc
The user can perform some operations on the file (or directory) either by
specifying its full path (absolute or relative) or by changing first his current
working directory to the parent directory that contains that file (directory) and
then issuing the command with simply file-name.
SUMMARY




It is Software that makes Hardware to do some job.
The major categories of Software are: System Software and Application
Software.
An operating system is system software that acts as a master control
program, controlling the hardware and interacting with the user and
application software.
An operating system performs the following functions:

Displays the on-screen elements with which you interact-the
user interface.

Loads programs into the computer’s memory so that you can
use them.

Coordinates how programs work with the computer’s hardware
31









and other software.

Manages the way information is stored on and retrieved from
disks.
The four major types of operating systems are real-time operating
systems, single-user/single-tasking operating systems, singleuser/multitasking operating systems, and multi-user/multitasking
operating systems.
Most modern operating systems feature a graphical user interface
(GUI). You control a GUI-based system by clicking graphical objects on
the screen. In a typical GUI, all objects and resources appear on a
background called the desktop.
In a GUI, you access programs and other resources in rectangular
frames called windows. Applications running under the same
operating system use many of the same graphical elements, so you see
a familiar interface no matter what program you are using.
Some older operating systems use a command-line interface, which
the user controls by typing commands at a prompt.
The operating system manages all the other programs that run on the
PC, and it provides services such as file management, memory
management, and printing to those programs.
Some operating systems enable programs to share information using a
feature known as the Clipboard. This lets you create data in one
program and use it again in other programs.
The OS uses interrupt requests (IRQs) to maintain organized
communication with the CPU and other hardware.
Each hardware device is controlled by another piece of software, called
a driver that allows the OS to activate and use the device.
A utility is a program that extends or enhances the operating system’s
capability. It may add a new capability to the operating system.
REVIEW QUESTIONS
•
•
•
•
•
•
•
What are the four primary functions that an operating system performs?
Explain different types of operating system.
What is role of software in computer? Write a short note on different
types of Software.
Explain different components of GUI.
What is the function of windows in a GUI?
Why is task-switching a necessary feature of a multitasking operating
system?
What is a dialog box?
32
•
•
•
•
•
•
•
•
•
•
•
•
•
Explain in brief Command Line Interface.
What do you mean by Running Software? List services provided by OS to
running program.
Write a note on managing hardware by OS.
Write a short note on Interrupt processing by OS.
Explain common elements of Taskbar.
What is Context Menu?
What is Multi-user/multitasking operating system?
Write a short note on Operating System.
Explain common operations performed on files and directories (folders).
What is file? What are the types of files recognized by OS?
Explain organization of files using directory concept.
What is path? What do you mean by absolute path and relative path?
What is file? Explain different attributes associated with file in brief.
33