Download 1.1 What is an Operating System? - Department of Electronic and

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

Management features new to Windows Vista wikipedia , lookup

Human–computer interaction wikipedia , lookup

Security and safety features new to Windows Vista wikipedia , lookup

History of IBM mainframe operating systems wikipedia , lookup

Computer program wikipedia , lookup

Transcript
Dr. E.C. Kulasekere
Computer Systems
CHAPTER 1: Operating Systems Introduction
1.1 What is an Operating System?
An operating system (OS) is a collection of system programs that together control the operation
of a computer system. Typical operating systems are Windows 9x and Linux. Operating system
generally only runs on a specific hardware platform. For instance, Windows 9x, 2K only runs on
computer systems based on Intel Pentium processors. You can learn more about Windows OSs at
the Microsoft Web Site
Figure 1
1.2 What does an Operating System do?
An operating system controls the way in which the computer system functions. In order to do
this, the operating system includes programs that




Initialize the hardware of the computer system
provide basic routines for device control
provide for the management, scheduling and interaction of tasks
maintain system integrity and handle errors
1.3 Where are operating systems found?
There are many types of operating systems, the complexity of which varies depending upon what
type of functions are provided, and what the system is being used for. Some systems are
responsible for managing many users on a network.
IEE Sri Lanka - Short Course 2003
Page 1
Dr. E.C. Kulasekere
Computer Systems
Other operating systems do not manage user programs at all. These
are typically found in hardware devices like petrol pumps,
airplanes, video recorders, washing machines and car engines.
These are often referred to as dedicated operating systems.
1.4 What is a general purpose OS?
Windows NT Workstation is known as a general-purpose
operating system. This is because it provides the ability to run a
number of different programs, such as games, word processing,
business applications and program development tools. Operating
systems that are either found in embedded systems or in firmware
embedded in hardware are considered to be special purpose
operating systems. Both these types are capable of managing the
system it is installed in.
1.5
Some Available operating systems
An operating system (OS) is a collection of system programs that together control the operation
of a computer system. Operating system initializes the hardware of the computer, provides
routines for device control, schedules tasks and handles errors. In addition, the OS manages the
flow, entry, and display of software and data to and from each part of your computer system.
Operating systems may be classified by number of tasks they can perform simultaneously or they
can also be classified by the number of users using it simultaneously. These are single-user or
multi-user and single-task or multi-tasking.
A single-user operating system provides access to the computer system by a single user at a time.
If another user needs access to the computer system, they need to wait till the current user
finishes. Operating systems such as Windows 95, Windows NT and Windows 2000 are single
user operating systems.
A multi-user operating system allows more than one user access the computer system
simultaneously. Access to the computer system is normally provided via a network, so that users
access the computer remotely using a terminal or other computer. Examples of multi-user
operating systems are UNIX and Linux.
IEE Sri Lanka - Short Course 2003
Page 2
Dr. E.C. Kulasekere
Computer Systems
A multi-tasking operating system provides the ability to run more than one program at once
Some common Operating Systems include:
Microsoft Disk Operating System (MS-DOS): Commonly used in earlier computers,
this operating system is still built into Windows 98. Essentially, they are one collective
operating system, although you will not be using DOS commands very often.
Microsoft Windows 95: This operating system is designed for use as a workstation
client or desktop system. This multitasking operating system Windows95 offered an
improved user interface called the "desktop". This simplified the user interface from the
previous versions of windows.
Microsoft Windows 98: This OS upgraded Windows 95 in many ways. Windows 98®
integrated Microsoft's Internet Explorer web browser into the operating system, thereby
creating a simple interface for both browsing the PC and the Web. It also provided
enhanced support for DVD.
Microsoft Windows 2000: This new multitasking operating system combines the best
features of Windows 98 with the security, of Windows NT®. MS 2000 eliminates the
need to reboot the computer after software installation, run more tasks simultaneously
than Windows 95, and 98. This operating system now comes with almost all the new
computers.
Macintosh OS: This operating system is found on most Macintosh machines. The
current version is 8.0
Microsoft Windows NT: This multitasking system is designed for networks and is used
in the ICL. This operating system is considered a mature operating system and it has a
built in crash protection scheme that usually prevents one software application from
crashing everything else. The interface is essentially the same as in Windows 95/98.
Note: DOS commands are used in the command line interface for Windows NT.
Microsoft Windows XP: Windows XP is the next version of Microsoft Windows beyond
Windows 2000 and Windows Millennium. Windows XP brings the convergence of
Windows operating systems by integrating the strengths of Windows 2000—standardsbased security, manageability and reliability with the best features of Windows 98 and
Windows Me—Plug and Play, easy-to-use user interface, and innovative support
services.
UNIX: This system has numerous versions. It is much faster than Windows and good for
multitasking and networking. Unix is a multi-user (more than one user can use the
machine at a time) and a multi-tasking (more than a program can run at a time) operating
system and it also includes tools for program development such as debuggers and
compilers.
IEE Sri Lanka - Short Course 2003
Page 3
Dr. E.C. Kulasekere
Computer Systems
Linux: This OS is derived from the Unix Operating system and it is also multi-user
multi-tasking operating system.
1.6 What is a program?
A program is a set of instructions that performs a task. When we talk about programming a
computer or writing a computer program, we mean writing a set of instructions that the computer
can execute. Developers (people who write programs) need to use special software to write
programs, often called compilers.
1.7 What are dedicated operating systems?
An operating system designed for a single purpose is often called a dedicated operating system.
It performs a specific purpose, such as controlling the environment in a building, controlling a
petrol pump, or opening and closing an automatic door. Dedicated operating systems cannot be
used to run other types of programs such as games or business software.
1.8 A simple operating system for a security control system
An operating system for a security control system (such as a home alarm system) would consist
of a number of programs. One of these programs would gain control of the computer system
when it is powered on, and initialize the system.
The first task of this initialize
program would be to reset (and
probably test) the hardware
sensors and alarms. Once the
hardware
initialization
is
complete, the operating system
would
enter
a
continual
monitoring routine of all the
input sensors. If the state of any
input sensor changed, it would
branch to an alarm generation
routine. The windows polling
system is similar to this routine.
Here the operating system
manages the rest of the
hardware as mentioned before.
IEE Sri Lanka - Short Course 2003
Page 4
Dr. E.C. Kulasekere
Computer Systems
1.9 What are input and output devices?
Input and output devices are components that form part of the computer system. These devices
are controlled by the operating system.
Input devices provide input signals such as commands to the operating
system. These commands received from input devices instruct the
operating system to perform some task or control its behavior. Typical
input devices are a keyboard, mouse, temperature sensor, and airflow valve
or door switch. In the previous example of our simple security control
system, the input devices could be door switches, alarm keypad panel and
smoke detector units.
Output devices are instruments that receive commands or information from
the operating system. Typical output devices are monitor screens, printers,
speakers, alarm bells, fans, pumps, control valves, light bulbs and sirens.
1.10 What is a single-user operating system?
We are all familiar with the concept of sitting down at a computer system and writing documents
or performing some task such as writing a letter. In this instance there is one keyboard and one
monitor that you interact with.
Operating systems such as Windows 95, Windows NT Workstation and
Windows 2000 professional are essentially single user operating systems.
They provide you the capability to perform tasks on the computer system
such as writing programs and documents, printing and accessing files. Even
servers fall into this category in windows since it does not allow complete
sharing of the computer system resources between two users.
Consider a typical home computer. There is a single keyboard and mouse that accept input
commands, and a single monitor to display information output. There may also be a printer for
the printing of documents and images.
In essence, a single-user operating system provides access to the computer system by a single
user at a time. If another user needs access to the computer system, they must wait till the current
user finishes what they are doing and leaves.
IEE Sri Lanka - Short Course 2003
Page 5
Dr. E.C. Kulasekere
Computer Systems
Students in computer labs at colleges or University often experience this. You might also have
experienced this at home, where you want to use the computer but someone else is currently
using it. You have to wait for them to finish before you can use the computer system.
1.11 What is a multi-user operating system?
A multi-user operating system lets more than one user access the computer system at one time.
Access to the computer system is normally provided via a network, so that users access the
computer remotely using a terminal or other computer.
In the early days of large multi-user computers, multiple terminals
(keyboards and associated monitors) were provided. These terminals sent
their commands to the main multi-user computer for processing, and the
results were then displayed on the associated terminal monitor screen.
Terminals were hard-wired directly to the multi-user computer system. In
recent computer systems, this is again incorporated since now many
electronic technologies are used to receive the output generated by the
computer.
Today, these terminals are generally personal computers and use a network to send and receive
information to the multi-user computer system. Examples of multi-user operating systems are
UNIX, Linux (a UNIX clone) and mainframes such as the IBM AS400.
The operating system for a large multi-user computer system with many terminals is much more
complex than a single-user operating system. It must manage and run all user requests, ensuring
they do not interfere with each other. Devices that are serial in nature (devices which can only be
used by one user at a time, like printers and disks) must be shared amongst all those requesting
them (so that all the output documents are not jumbled up). If each user tried to send their
document to the printer at the same time, the end result would be garbage. Instead, documents
are sent to a queue, and each document is printed in its entirety before the next document to be
printed is retrieved from the queue. When you wait inline at the cafeteria to be served you are in
IEE Sri Lanka - Short Course 2003
Page 6
Dr. E.C. Kulasekere
Computer Systems
a queue. Imagine that all the people in the queue are documents waiting to be printed and the
cashier at the end of the queue is the printer.
1.12 Operating system utilities
The operating system consists of hundreds of thousands of lines of program instructions and
these are stored on hard disk of the computer. Portions of the operating system are loaded into
computer system memory (RAM) when needed. To manage the computer system, users, printers,
and files and write programs, the operating system is generally provided with a number of utility
programs. The utilities are used for




Managing Files and Documents
Development of Programs and Software
Communicating between people and with other computer systems
Managing user requirements for programs, storage space and priority
1.13 Operating system interfaces
In addition, the operating system provides each user with an interface that accepts, interprets and
executes user commands or programs. This interface is commonly called a SHELL or command
line interpreter (CLI). In some systems this might be a simple text mode line-by-line entry using
keywords (such as MSDOS or UNIX), in other systems it might be highly graphical using
windows and a pointing device such as a mouse (such as X-Windows).
1.14 Advantages and problems of multi-user operating systems
The advantage of having a multi-user operating system is that normally the hardware is very
expensive, and it lets a number of users share this expensive resource. This means the cost is
divided amongst the users. It also makes better use of the resources. Since the resources are
shared, they are more likely to be in use than sitting idle being unproductive.
One problem with multi-user computer systems is that as more users access it, the performance
becomes slower and slower. Another disadvantage is the cost of hardware, as a multi-user
operating system requires a lot of disk space and memory. In addition, the actual software for
multi-user operating systems tends to cost more than single-user operating systems. The reason
for this is that the additional coordination required for multi-user systems can be very
complicated when built into software.
IEE Sri Lanka - Short Course 2003
Page 7
Dr. E.C. Kulasekere
Computer Systems
1.15 What is a multi-tasking operating system?
A multi-tasking operating system provides the ability to run more than one program at once. For
example, a user could be running a word processing package, printing a document, copying files
to the floppy disk and backing up selected files to a tape unit. Each of these tasks the user is
doing appears to be running at the same time.
A multi-tasking operating system has the advantage of letting the user run more than one task at
once, so this leads to increased productivity. The disadvantage is that more programs that are run
by the user, the more memory that is required.
1.16 What is software and what is application software?
Software is just another name for program. We often use the term to refer to a group of
programs. For example, you might get asked the question "what sort of software do you have?”
In this case, the person is asking you what types of software do you have, and how many
different software programs do you have. I guess you could think of someone asking a snake
collector the question "What sort of snakes do you have?” For the snake collector, they
obviously have many different types and sometimes several of the same species. Software is
similar. So you might respond to such a question by answering that you have some word
processing software such as Microsoft Word and some games such as Quake and Sim City.
Application software excludes the operating system and those programs that are part of the
operating system. In general, you buy application software for your computer. An example might
be a word processor or a reference atlas.
In general, software is divided into a number of general categories.
Business software allows users to perform
Business
tasks related to running a business, such as
paying accounts, keeping track of goods and
items for sale, inventory software and writing
reports.
Education
Examples of business software are Microsoft
Works and Lotus Notes.
Education software is designed to teach or
educate users. These include encyclopedias,
reference books and instructional programs.
Examples of education software are
Encyclopedia Britannica and Microsoft
Magic School Bus.
IEE Sri Lanka - Short Course 2003
Page 8
Dr. E.C. Kulasekere
Computer Systems
Entertainment/Games Entertainment software is designed for you to
have fun with! Its purpose is to keep you
entertained! This includes games software.
Examples of entertainment software are
Microsoft Age of Empires and Sim City
2000.
Utility
Utility software is designed for you to
perform routine tasks associated with the
storage and manipulation of your information.
This includes software such as schedulers,
clocks, media players and communication
tools.
Examples of utility software: virus scan, disk
utilities etc.
CHAPTER 2: Operating System Internals
2.1 What are the various parts of an operating system?
In this section we look at that part of the operating system that is responsible for running
programs, called the real-time executive or kernel.
An operating system for a large-scale computer that is used by many people at once is a very
complex system. It contains many millions of lines of instructions (commands that the computer
executes) written by programmers. To make operating systems easier to write, they are
constructed as a series of modules (programs), each module responsible for one function. Typical
modules in a larger multi-user operating system could be,




Kernel (also known as the real-time executive)
Process manager
Scheduler
File manager
2.2 What is a real time executive?
The core or central part of all operating systems is called a REAL TIME EXECUTIVE (also
known as the kernel). Some of the functions that the kernel performs are

Switching between programs
IEE Sri Lanka - Short Course 2003
Page 9
Dr. E.C. Kulasekere






Computer Systems
Hardware device control and programming
Memory management
Process management
Scheduling
Inter-process communication
Processing of exceptions and interrupts
Our simple security monitoring system would not have all of the above, as it would probably be
a single task system, running only one program. As such, it would not need to perform
scheduling of more than one program or allow communication to take place between programs
(called inter-process communication). Memory management would be unnecessary, as the
program would easily fit into the available memory of the computer.
An operating system designed to handle a large number of people would need a real-time
executive that performs all of the above. User programs are generally stored on disk, thus need to
be loaded into memory before being executed. This presents the need for memory management,
as the memory of the computer would need to be searched for a free area in which to load a
persons program into. When the user was finished running the program, the memory consumed
by it would need to be freed up and made available for another user when required.
Process scheduling and management is also necessary, so that all programs would be executed
and run fairly. There is no point if a program by a specific user runs to such an extent that it
denies the running of any other programs, making every other user wait. In addition, some
programs might need to be executed more frequently than others, for example, checking network
communications or printing. Some programs may need to be temporarily halted, then restarted
again later, so this introduces the need for inter-program communication.
2.3 What is a computer program?
Programs are a series of instructions to the computer. When a software programmer (a person
who writes programs to run on a computer system) develops a program, it is converted into a
long list of instructions that is executed by the computer system.
In operating systems we talk more of a process (part of a program that is in some stage of
execution) than a program. This is because in modern operating systems, only a portion of a
program is loaded at any one time. The rest of the program sits waiting on a disk unit till it is
needed. This saves memory space.
IEE Sri Lanka - Short Course 2003
Page 10
Dr. E.C. Kulasekere
Computer Systems
2.4 What is a processor?
Processors execute computer programs. A processor is a chip in the
computer that executes program instructions. Processors execute
millions of instructions per second.
2.4 How do operating systems run more than one program at a time?
Some systems run only a single process at a time, other systems run multiple processes at once.
Most computer systems are single processor based, and a processor can only execute one
instruction at a time, so how is it possible for such a single processor system run multiple
processes? The simple answer is that it doesn’t. The processor of the computer runs one process
for a short period of time, then is switched to the next process and so on. As the processor
executes millions of instructions per second, this gives the appearance of many processes
running at once.
2.5
What is co-operative and preemptive switching?
In a computer system that supports more than one process at once, some mechanism must be
used to switch from one task to another. There are two main methods used to perform this
switching.


Co-operative switching means that a task that is currently running will voluntarily give
up the processor at some time, allowing other processes to run.
Preemptive switching means that a running task will be interrupted (forced to give up)
and the processor given to another waiting process.
The problem with co-operative switching is one process could hang and thus deny execution of
other processes, resulting in no work being done. An example of a co-operative system was
Windows 3.1
Pre-emptive scheduling is better. It gives more response to all processes and helps prevent (or
reduce the number of occurrences of) the dreaded machine lockup. Windows NT workstation is
an example of such as operating system.
Note: Only 32-bit programs in Windows 95 are pre-emptive switched. 16-bit programs are still
co-operatively switched, which means it is still easy for a 16-bit program to lock up a Windows
95 computer.
IEE Sri Lanka - Short Course 2003
Page 11
Dr. E.C. Kulasekere
Computer Systems
A multi-user operating system allows more than one user to
share the same computer system at the same time. It does this
by time-slicing the computer processor at regular intervals
between the various programs run by each user.
In this example, there are five people that share the processor
hardware and main memory on a time basis. Consider a 486
Intel processor running at 50MHz. This processor is capable
of about 6 million instructions per second.
If we decided that we would share the hardware by letting
each user run for 1/5th of a second, this would mean each
user could execute about 1.2 million instructions each time
they have the processor.
We start off by giving the first user (which we will call Bart) the processor hardware, and run
Barts program for 1/5th of a second. When the time is up, we intervene; save Barts program state
(program code and data) and then start running the second user program (for 1/5th of a second).
This process continues till we eventually get back to user Bart. To continue running Bart's
program, we restore the programs code and data and then run for 1/5th of a second.
CHAPTER 3: Operations of an Operating System
3.1 How does an Operating System load itself?
In this section we look at how the operating system loads when the computer is first turned on.
The operating system may be loaded into the computers memory in two ways.


It is already present in ROM (so is permanent, immediately accessible and difficult to
update)
It is loaded from disk when the computer is turned on.
If the operating system is already present in ROM (for systems like industrial controllers, petrol
pumps etc), it will gain control immediately the processor is powered on. This method is best
suited for small appliances and hand held devices where the operating system is relatively simple
and small.
For more complex systems, the operating system is usually stored on secondary media (such as
disk), and is loaded into the computer memory (RAM) when the computer is powered on.
Advantages of this type of system are that changes to the operating system are easier to make
and implement.
IEE Sri Lanka - Short Course 2003
Page 12
Dr. E.C. Kulasekere
Computer Systems
3.2 What is the BOOTSTRAP PROCESS?
The bootstrap process describes the task of initially loading the operating system from disk into
RAM. A small routine stored in ROM, called the BOOTSTRAP LOADER or IPL (Initial
Program Loader), reads a special load routine from the diskette.
In floppy based system, this routine is
normally located on Track 00, sector 00
(or 01), and is called the boot sector.
The code contained in the sector is
transferred into RAM, and then executed.
It has the sole responsibility for loading the
rest of the operating system into memory.
3.2 What are the different types of Operating Systems?
Operating systems are divided into categories that define their characteristics. Modern systems
may use combinations of those described below.
BATCH
The earliest type, allowed only one
program to run at a time. The
program was entered into the
computer, then run till completed.
The data used by the program could
not be modified whilst the program
was running. Any errors in the
program or data mean starting all over
again.
INTER-ACTIVE
These allow the modification and
entry of data whilst the program is
running. Typical systems are airline
reservations and languages such as
BASIC.
TIME-SHARING/MULTI-USER
These share the computer system
amongst more than one user, and
employ pre-emptive scheduling
techniques.
IEE Sri Lanka - Short Course 2003
Page 13
Dr. E.C. Kulasekere
Computer Systems
MULTI-TASKING
More than one process may be
executed at once. The processor is
switched rapidly between the
processes. A user may run more than
one process at a time.
REAL-TIME
Primarily used in process control,
telecommunications, etc. The OS
monitors various inputs which affect
the execution of processes, changing
the computers model of the
environment, thus affecting the
outputs, within a guaranteed time
period (usually < 1 second).
MULTI-PROCESSOR
A computer that has more than one
processor dedicated to running
processes.
EMBEDDED
An embedded operating system
means the operating system is selfcontained in the device and resident
in ROM. Typical systems that use
embedded operating systems are
household appliances, car
management systems, traffic control
systems and energy management
systems.
These are examples of embedded systems.
Embedded systems are also known as dedicated systems. This is because they only perform a
specific task, and cannot run a wide variety of programs like a home computer (which we
previously identified as a general purpose system).
Windows NT workstation is an interactive, multitasking multiprocessor operating system.
Windows 98 is an interactive, multitasking operating system.
Linux is an interactive, multitasking, multiprocessor, multi-user operating system.
IEE Sri Lanka - Short Course 2003
Page 14
Dr. E.C. Kulasekere
Computer Systems
3.3 What is a shell?
A shell is a program that handles user input and output. It provides routines for handling user
input from a keyboard or mouse, as well as routines for displaying information on the terminal
screen.
A shell also provides a mechanism to interpret user commands and run additional programs that
users request.
In program called command.com was the shell in MS-DOS. In Windows 98 and NT workstation
this shell is still present (it is called the command prompt and you run it by accessing the
command prompt icon).
The UNIX shell is called the bourne shell, and is a program called sh. There are other UNIX
shell programs, notably the kourne shell and the c shell.
CHAPTER 4 File System
4.1 All about file management
In this section we take a brief look at how the operating system deals with files.
What is a file?
A file of a collection of data that normally is stored on a secondary storage device such as a hard
disk or floppy diskette.
What are the typical operations performed on files?
An operating system must provide a number of operations associated with files so that users can
safely store and retrieve data.
Typical operations are
Open
Close
Create
Copy
Rename
List
In addition, operations on single data elements within a file are supported by
IEE Sri Lanka - Short Course 2003
Page 15
Dr. E.C. Kulasekere
Computer Systems
Read
Write
Seek
4.2 What are File Control Blocks?
File control blocks (FCB), sometimes referred to as file descriptors, are data structures that hold
information about a file. When an operating system needs to access a file, it creates an associated
file control block to manage the file.
The structure of the file control block differs between operating systems, but most file control
blocks include the following parts
Filename
Location of file on secondary storage
Length of file
Date and time or creation or last access
4.3 What about how we name files?
Each operating system uses a specific convention or practice for naming files.
MS-DOS Uses eight character file names, a dot, then a three-character extension that denotes the
type of file. Filenames are not case-sensitive.
UNIX Filenames can be up to 254 characters long and are case-sensitive.
Windows Filenames can be up to 255 characters long and are not case-sensitive.
4.4 How does an operating system keep track of files?
The hard disk is comprised of a large number of sequentially numbered sectors. As files are
created, free sectors are allocated to hold the file contents and marked as allocated.
To keep track of the sectors and whether they are allocated or free, and to which file they belong,
the operating system maintains a number of tables.
4.5 What is a root file system?
When the operating system is first installed, it creates a root file system on the disk that specifies
how many sectors are available and how they will be allocated.
The root file system is a table of entries like a directory. In general, this is a fixed size, and once
full, no more entries can be added.
IEE Sri Lanka - Short Course 2003
Page 16
Dr. E.C. Kulasekere
Computer Systems
Each entry can be either a file or another directory table. The following table depicts this
structure.
4.6 What does a root file system entry look like?
This is highly operating system specific, but an entry might look like,
Name of file
Beginning cluster number
Length of file in bytes
Type of file
Creation date and last modified right
File permissions (an access control list)
4.7 What is a cluster?
To make things a little simpler than managing a large number of sectors, the operating system
groups sectors together into a minimum allocation unit called a cluster. When a request to create
a file occurs, the operating system allocates a cluster at a time until the all the data is stored. This
raises a question.
How are all the clusters of a file linked together?
The previous diagram also illustrates the linking of the file clusters in a chain, with the last
cluster signifying that there are no more clusters allocated to the file.
One of the problems of using clusters as a minimum storage allocation unit is the wastage of
space. Consider a cluster allocate of two sectors, each sector storing 1024 bytes (or characters).
This means a minimum storage allocation of 2048 bytes. If you stored a file containing the
phrase “Hello”, then this would result in 2043 unused bytes in the cluster (most operating
IEE Sri Lanka - Short Course 2003
Page 17
Dr. E.C. Kulasekere
Computer Systems
systems store the length of the file, so there is no need to use an end of file marker, which would
occupy an additional byte).
You might consider that a smaller allocation size based on the size of a sector would be more
efficient. However, it becomes more complex to manage smaller cluster sizes and they take up
more space (the table becomes larger and it takes more time to go through all the entries).
4.8 How is free space managed?
The operating system can maintain a table of cluster entries, and mark each cluster as either free
or allocated. This was a technique used in the MS-DOS operating system.
Other operating systems maintain a linked list of free clusters, each free cluster pointing to the
next free cluster. As clusters are allocated, they are removed from the free cluster list. When a
file is deleted, the clusters that were allocated to it are added back to the free cluster list.
4.9 What file systems are supported by Windows operating systems?
The Windows operating system supports the following file systems.
FAT
The MS-DOS operating system introduced the
File Allocation Table system of keeping track
of file entries and free clusters. Filenames
where restricted to eight characters with an
addition three characters signifying the file
type. The FAT tables were stored at the
beginning of the storage space.
FAT32
An updated version of the FAT system
designed for Windows 98. It supports file
compression and long filenames.
NTFS
Windows NT introduced the NT File System,
designed to be more efficient at handling files
than the FAT system. It spreads file tables
throughout the disk, beginning at the center of
the storage space. It supports file compression
and long filenames.
4.10 What is access-control lists and file permissions?
In multi-user operating systems, multiple users may access files. Permission rights associated
with folders (directories) and files are used to protect or restrict access to files. In UNIX these
IEE Sri Lanka - Short Course 2003
Page 18
Dr. E.C. Kulasekere
Computer Systems
rights are known as Read, Write and Execute. In Windows NT and Windows 2000 (using the
NTFS file-system only as permissions are not supported with FAT), additional file permissions
are available.
In UNIX, three groups of permissions apply to every file. The first group of permissions defines
those of the owner of the file, and is a combination of the read, write and execute permissions.
The second group of permissions defines those permissions for a group of users. The third group
of permissions defines the permissions for everyone else except the owner and group members.
4.11 What is a symbolic link or shortcut?
A symbol link is a filename that links to another file. Consider the case on a UNIX box where
three different mail packages are available. The administrator only wants to reference the mail
using the command “mail”, so the filename is made to point to (or reference) the desired mail
package.
When the administrator runs the command “mail”, the appropriate mail package that is
referenced by the symbolic link runs. In Windows, a similar capability is known as a shortcut.
4.12 What is file-system integrity?
File-system integrity refers to whether the file-system contains errors. Sometimes this is caused
by a user turning off the computer system without first shutting the computer down properly.
During the shutdown process, a flag can be written to the file-system. At startup, this flag can be
detected, and if not present, means the computer system was not shut down correctly.
UNIX provides the fsck program to check the file-system. The Windows operating systems
provide Scandisk or Chkdsk (checkdisk).
4.13 What is fragmentation and what does defragging a drive do?
When files are created and data written to the file, the operating system allocates space for the
file from the free cluster list. Over a period of time, the clusters that are allocated to a file may no
longer be sequential (contiguous or one after the after) but scattered over the disk.
IEE Sri Lanka - Short Course 2003
Page 19
Dr. E.C. Kulasekere
Computer Systems
Why is this a problem? An operating system reads data from secondary storage in contiguous
clusters more efficiently and faster than from non-contiguous clusters.
Windows operating systems such as Windows 95/98 provide a defragmentation utility that scans
the file system for fragmented files and moves them to a contiguous space. This results in faster
loading and accessing of files.
CHAPTER 5 Operating System Requirements
5.1 What are the hardware requirements of Windows operating
systems?
This section outlines the typical hardware requirements for the Windows operating systems. You
should be aware that these are recommended figures, and in actual practice more memory and
disk space is recommended if you intend to run applications and programs in addition to the base
Windows operating system.
System requirements for Windows 95
386DX or higher
4MB memory or higher [8MB recommended]
35-40MB disk space
3.5" floppy drive or CD-ROM
VGA or higher resolution graphics card
System requirements for Windows 98
486DX/66MHz or higher
16MB memory or higher
195MB disk space
CD-ROM
VGA or higher resolution graphics card
System requirements for Windows NT Workstation 4.0
IEE Sri Lanka - Short Course 2003
Page 20
Dr. E.C. Kulasekere
Computer Systems
16 MB RAM Recommended
486/25MHz or higher processor
110 MB available hard-disk space
VGA, Super VGA, or video graphics adapter
CD-ROM drive.
System requirements for Windows 2000 Professional
133MHz Pentium compatible processor
64MB RAM
2GB Hard disk with 650MB available free space
Single or dual processor systems
5.2 What are the general features of Windows operating systems?
This section outlines some of the more general features found in the Windows 95/98 and
Windows NT Workstation 4.0 operating systems.
Ease of installation
Graphical interface
Plug and play support
Add/Remove programs
Networking Support
5.3 Easy installation
Windows can be installed from floppy disk, CDROM, or via a network. Windows uses an
installation wizard, a graphical program designed to make installation of the operating system
simpler and friendlier.
Previously, when installing MSDOS or Windows 3.1 operating systems, additional programs
need to be run after installation to add support for devices like CD-ROM's or sound cards. The
Windows wizard takes care of this, automatically searching the computer for hardware devices
like printers, network cards, CD-ROM drives, sound cards and modems then installs the software
for these at installation time. This means Windows is easier to install and configure than previous
operating systems.
As the Windows installation wizard detects what the computer hardware is, it modifies the
display screens accordingly. Using a set of easy to follow menus and dialog boxes, it guides the
installer through the installation process. When the installation wizard is finished, it prompts the
installer to reboot the computer. At this stage, the computer has been fully installed with the
IEE Sri Lanka - Short Course 2003
Page 21
Dr. E.C. Kulasekere
Computer Systems
operating system and will be ready to use after the reboot. It takes approximately 20-30 minutes
to install Windows from CD-ROM.
5.4 Graphical Interface
Windows offers an improved user interface called the desktop. The desktop consists of a screen
area, and a taskbar, which is by default at the bottom of the screen.
The taskbar is used for starting programs, or switching between programs. As the user starts each
program, the name of the program is displayed on the taskbar. Clicking on the name of the
program on the taskbar will display the window associated with that program on the desktop.
The far right end of the task bar also displays the current time and other controls.
The Start button on the taskbar displays a cascading menu of program choices. When a user
clicks on the Start button, a pop up menu appears. This provides easy access to installed
applications.
The My Computer Icon on the desktop is a shortcut to viewing what is on your computer.
Double-clicking an icon on the desktop displays the information within a window.
The Recycle Bin Icon on the desktop is used to hold recently deleted files. When you delete a
program or file, it is saved in the recycle bin just in case you deleted it by accident. This allows
you to recover from mistakes when you delete something you should not have.
The Network Neighborhood Icon on the desktop is used to display the various resources like
servers and applications available on the network (assuming the computer is network enabled).
5.5 Plug and Play Support
Windows makes it much easier to add new hardware. It supports Plug and Play technology,
which means new hardware can be added to the computer and Windows will automatically
detect the new hardware and install software support for it when rebooted. Please note that
adding new hardware first requires the computer to be turned off before the hardware is added.
Acknowledgement: The lecture note is based on Prof. Brains’ note on Introduction to
Operating Systems, 1995.
IEE Sri Lanka - Short Course 2003
Page 22