Dr. E.C. Kulasekere                                                          Computer Systems

                  CHAPTER ...
Dr. E.C. Kulasekere                                                          Computer Systems

Other operating systems do...
Dr. E.C. Kulasekere                                                            Computer Systems

Some common Operating S...
Dr. E.C. Kulasekere                                                          Computer Systems

1.6 What is a program?

Dr. E.C. Kulasekere                                                             Computer Systems

Input and output devic...
Dr. E.C. Kulasekere                                                            Computer Systems

1.11 What is a multi-u...
Dr. E.C. Kulasekere                                                            Computer Systems

1.12 Operating system ut...
Dr. E.C. Kulasekere                                                               Computer Systems

to the floppy disk an...
Dr. E.C. Kulasekere                                                             Computer Systems

Dr. E.C. Kulasekere                                                              Computer Systems

   •   Hardware device...
Dr. E.C. Kulasekere                                                              Computer Systems

2.4 What is a processo...
Dr. E.C. Kulasekere                                                           Computer Systems

A multi-user operating sy...
Dr. E.C. Kulasekere                                                            Computer Systems

3.2 What is the BOOTSTRA...
Dr. E.C. Kulasekere                                                           Computer Systems

Dr. E.C. Kulasekere                                                              Computer Systems

A shell is a program t...
Dr. E.C. Kulasekere                                                               Computer Systems

Dr. E.C. Kulasekere                                                                Computer Systems

Each entry can be ei...
Dr. E.C. Kulasekere                                                            Computer Systems

systems store the length...
Dr. E.C. Kulasekere                                                                Computer Systems

rights are known as ...
Dr. E.C. Kulasekere                                                          Computer Systems

Why is this a problem? A...
Dr. E.C. Kulasekere                                                            Computer Systems

       16 MB RAM Recomme...
Dr. E.C. Kulasekere                                                             Computer Systems

operating system and wi...
Upcoming SlideShare
Loading in …5

Lecture material.doc


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lecture material.doc

  1. 1. 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
  2. 2. 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.5Some 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. A multi-tasking operating system provides the ability to run more than one program at once IEE Sri Lanka - Short Course 2003 Page 2
  3. 3. Dr. E.C. Kulasekere Computer Systems 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—standards- based 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. Linux: This OS is derived from the Unix Operating system and it is also multi-user multi-tasking operating system. IEE Sri Lanka - Short Course 2003 Page 3
  4. 4. Dr. E.C. Kulasekere Computer Systems 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. 1.9 What are input and output devices? IEE Sri Lanka - Short Course 2003 Page 4
  5. 5. Dr. E.C. Kulasekere Computer Systems 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. 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. IEE Sri Lanka - Short Course 2003 Page 5
  6. 6. Dr. E.C. Kulasekere Computer Systems 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 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. IEE Sri Lanka - Short Course 2003 Page 6
  7. 7. Dr. E.C. Kulasekere Computer Systems 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. 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 IEE Sri Lanka - Short Course 2003 Page 7
  8. 8. Dr. E.C. Kulasekere Computer Systems 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 Business software allows users to perform tasks related to running a business, such as paying accounts, keeping track of goods and items for sale, inventory software and writing reports. Examples of business software are Microsoft Works and Lotus Notes. Education 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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. MULTI-TASKING More than one process may be executed at once. The processor is IEE Sri Lanka - Short Course 2003 Page 13
  14. 14. Dr. E.C. Kulasekere Computer Systems 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 self-contained 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. 3.3 What is a shell? IEE Sri Lanka - Short Course 2003 Page 14
  15. 15. Dr. E.C. Kulasekere Computer Systems 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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