• Unit 15:INTRODUCTION TO OPERATING SYSTEMS

    Key Competency
    By the end of this unit, you should be able to use operating systems.

    Unit Outline
    • Definition of operating system.
    • Functions of operating systems.
    • Desirable characteristics of operating systems.
    • Components of operating system.
    • Common operating systems
    • Smart phone operating systems
    • History of operating systems
    • Types of operating systems
    • Basic MS-DOS commands and its main features

    Introduction
    This unit gives a broader view of the operating system by defining what it is, giving its functions in the computer and its characteristics. The components of the operating system and some of the common operating systems are explained. Finally, the unit gives you the history of computer operating systems.

    15.1 Definition of operating system
    Activity 15.1:Research work

    Group work:
    Consider the following scenarios and answer the questions that follow:
    1. On a busy construction site, many activities need to be accomplished. For example, we need workers and machines who will dig trenches, those who dress the stones, others who bend and position steel rods, concrete mixers etc.
    (a) What will happen if all these activities are not properly planned and controlled?
    (b) Who normally makes sure that the work is going on according to plan?
    2. Imagine a football match or any other ball game. What would happen if:
    (a) There is no referee?
    (b) The referee is biased?
    3. What role does the referee play in such games?
    Now after the above discussions, access the internet and do some research about the operating system. Make brief notes about its definition, its importance etc. and select one of you to give a presentation to the class. An operating system consists of a set of complex programs that work together to control the operation of a computer by managing computer hardware and software
    resources. It controls execution of user programs called applications and provides
    an interface between the applications and the computer hardware.
    Without the operating system, user applications would find it difficult to run on
    the computer because they would need to have lower level programming to access
    the hardware resources of the computer. However, the operating system masks this
    complexity and enables user applications to easily access computing resources. Figure
    15.1 below shows the role that the operating system plays in a computer.

    In essence, computers have two modes of operation: the user mode and the kernel mode. The operating system is the most important software that runs on the computer. It runs in what we call the kernel mode as a supervisor of all other programs (user applications) on the computer.

    Activity 15.2: Operating system components

    Pair Work:
    In light of the knowledge that you already have, study Figure 15.2 below and describe the various components that are represented in the computing machine. How do the components interact with each other?


    The hardware of the computer consists of the hardware logic e.g. circuit chips that can be manipulated using special manufacturer low level software routines. The hardware is made up of the system unit, mouse, screen, keyboard etc. After the hardware, we have the kernel mode of the operating system.
    The operating system runs in kernel mode. The part of the operating system that runs in this mode is called the kernel, which has routines that respond to user requests. When a user places a request (issues a command) through the shell, eg. a read/write request, the relevant routine in the kernel passes the request to the firmware which in turn instructs the hardware to perform the task.
    The part of the operating system that displays an interface to the user is called the operating system shell. Together with user applications, it runs in user mode, on top of the kernel. The user applications or the users interact with the shell which in turn talks to the kernel. Users run applications to accomplish various tasks.

    15.2 Functions of operating systems
    The operating system is a resource manager. All the functions it performs are aimed at efficiently and effectively managing the resources of the computing machine. Let us look at some of the functions of an operating systems.

    15.2.1 Job scheduling
    The operating system kernel schedules the use of resources. Scheduling determines which task will use what resource in the computer a particular time. Some tasks will be given priority over others due to the nature of request. Scheduling is achieved through a process called interrupt handling i.e. a program that requires to use a resource sends a special request called an interrupt to the operating system. After examining the interrupts received, the operating system decides which task would be given priority. Therefore an interrupt is a special request made by running tasks or processes to the operating system requesting for a particular needed resource.

    15.2.2 Resource control and allocation
    The operating system maintains a set of queues made up of the processes waiting for a particular resource. Using the round robin technique or any other criteria, each process on the queue is given access to a resource in turns. A round robin technique is whereby each running task is allocated a particular resource for use in equal time intervals following a particular order. When the interval expires, the task releases the resource and waits behind the queue again for its chance to come round again.

    15.2.3 Input/output management:
    The operating system uses special software called device drivers to manage and communicate with input/output devices such as keyboard, mouse, display, sound output devices, printers and scanners. It controls how the computer receives input from the user and how it gives output to the user.

    15.2.4 Memory management
    The operating system divides the main memory into partitions. Each partition is allocated to a task or process that is running in memory. For example, if you are running a word processor application, it will be allocated memory by the operating system (O/S). The O/S then protects that allocated memory from other applications to avoid conflicts that can arise if two or more processes lay claim to the same.

    15.2.5 Error handling
    The operating system performs error checking on hardware, software and data. It will always display error or exception messages in case they happen. It may suggest solutions to problems that are identified.

    15.2.6 Job sequencing/process management
    The operating system arranges tasks to be processed in a particular order and clocks them in and out of the processor. A task is also called a process in the operating system. When a user for example, starts a word processor, it becomes a running process.

    15.2.7 Security
    Modern operating systems implement security policies such that unauthorised users cannot get access to a computer or network resource easily. The most basic security mechanism is the user name and password required during system log on.

    15.2.8 File management
    The operating system organises how files and folders are stored and accessed on the storage media. It creates a file system i.e. a root directory which contains all files and folders. Each folder or file created can be accessed through a direct path from the root directory to its location in the file system. The file system format is also created by the operating system e.g. Windows has the File Allocation Tables (FAT), New Technology File System (NTFS) etc. UNIX has the Unix File System (UFS).

    15.3 Desirable characteristics of operating systems
    Activity 15.3: Research work

    Groupwork:
    Read the magazines/articles provided by the teacher covering the characteristics of an operating system. Access the website suggested by the teacher and do some research.
    Note down the characteristics that seem to be key i.e. those that many authors seem to agree on. Use a search engine to search for more information on the same.  Compile a two page report in readiness for a class discussion that will be facilitated
    by the teacher.
    The operating system of any computer has to have certain key characteristics in order
    for it to function properly and satisfy the requirements of the users and application
    programs. These characteristics include but are not limited to the following:

    15.3.1 Efficiency
    An efficient operating system achieves high throughput and low average turnaround time. An efficient operating system ensures equitable management of resources, conflict resolution (to avoid deadlocks), quick response time etc.
    Throughput means the ability to schedule and manage user requests as fast as possible in terms of resource allocation and task accomplishment. The operating system being the supervisor and manager of all the computing resources has to make sure that the scarce resources of the computer like processor time, memory and input/output devices are used efficiently.

    15.3.2 Robustness
    A robust operating system is fault tolerant and reliable —the system will not fail due to isolated application or hardware errors, and if it fails, it does so safely. During exceptions, the operating system must minimise loss of data and prevent damage to system hardware. Such an operating system will provide services to each application unless the hardware it relies on fails.

    15.3.3 Scalability
    A scalable operating system is able to support addition of more resources. If an operating system is not scalable, then it will quickly reach a point where additional resources will not be fully utilized. A scalable operating system can readily adjust its degree of handling resources e.g. if more memory, input/output devices or processor speed is added, it should scale to accommodate the new capabilities. In multi-processor systems, addition of more processors and hard disks should not cause the operating system to crash.

    15.3.4 Extensibility
    An extensible operating system will adapt well to new technologies and provide capabilities to extend the operating system to perform tasks beyond its original design. This means that the architecture of the operating system need to be open to future improvement or enhancement.

    15.3.5 Portability
    A portable operating system is designed such that it can operate on many hardware platforms and configurations. Application portability is also important, because it is costly to develop applications, so the same application should run on a variety of hardware configurations to reduce development costs. The operating system is crucial to achieving this kind of portability.

    15.3.6 Security
    A secure operating system prevents users and software from accessing services and resources without authorization. Protection refers to the mechanisms that implement
    the system’s security policy.

    15.3.7 Usability and Interactivity
    An interactive operating system allows applications to respond quickly to user actions,
    or events. Users find it intuitive to use through good user friendly interfaces.

    15.4 Components of operating systems
    Activity 15.4: Research work on operating system
    Using a search engine, find out the meaning of organization chart. How is it structured?
    Using the knowledge you have acquired, analyse the organizational chart of your
    school. In case there is none, you will have to create one. Answer the following
    questions:
    1. What structure does the chart take e.g. hierarchical, flat etc.
    2. Why is it important for some elements to be at a higher level than others?
    3. What do you think is meant by “line of control” or “line of command?”
    4. In terms of authority, which level has the most power?
    5. In terms of day to day running of the organization which level does the most
    work?
    An operating system is made up of several components. Each component has a specific
    function or role that it should plays. The main components of an operating system are:

    15.4.1 Kernel
    This is the central part of the operating system which consists of the core routines that manage input/output requests from user applications, the central processing unit and memory. It receives the instructions and converts them into data processing instructions for the central processing unit to execute. Figure 15.3 below depicts how a kernel interacts with various components of the computer.


    15.4.2 Shell
    An operating system shell is a user interface that enables the user to interact with and access the services offered by the operating system. The user gives commands to the operating system through its shell. There are various types of shells:
    (a) Command line shells: the user types commands at the prompt.
    (b) Menu driven shells: the user selects commands from menus.
    (c) Graphical user interface shells: the user selects graphical menus and icons.
    Examples of command line operating systems are UNIX and Disk Operating System (DOS). Examples of menu driven operating systems are the DOS shell. Finally, examples of graphical user interface (GUI) operating system are Linux and Microsoft Windows.

    15.4.3 File system
    The file system refers to the way that data is organised and accessed by the operating system. The operating system hides all the complexities of various devices to the user and presents a simple interface for accessing and utilising resources (a file system).
    The most common way of organising data is setting up a directory structure on any accessible resource be it a hard disk, network drive or removable media in a hierarchical manner (Figure 15.4). The hierarchy starts with a root object then moving down to the branches. The data is usually organised into three levels:
    (a) Drive: a drive is a logical storage location for files and folders. It is usually associated to a physical storage device or location e.g. drive C: for the hard disk drive. The root directory is created in a drive and is denoted by a backslash (\).
    (b) Folders: a folder is a storage location of related files. Folders are created in the main directory forming a hierarchical tree structure.
    (c) Files: a file is a storage location of related records.
    A computer tree is usually an up-side-down one with the root being at the top and the folders and files branching off below the root (Figure 15.4).


    The tree structure makes sure that there is a clear path from the root to any of the folders or files in the file system.
    Each operating system has its own signature file system data format. For example, Windows has file systems like File Allocation Tables (FAT32), Extended FAT (FAT64) and New Technology File System (NTFS). Unix on the other hand has what we call the Unix File System (UFS) also called the Berkeley Fast File System (FFS). Each file system has its own way of coding and decoding its data when writing or reading to a storage device.

    15.4.4 System resources
    The operating system supervises the use of scarce system resources. Scarce because every application on the computer competes to use these resources. The O/S being the supervisor brings sanity in an environment that can easily degenerate into conflicts and deadlocks as various applications compete for the scarce resources. A deadlock is a situation where two or more processes needing the same resources each happen to hold onto one of the resources as they wait for each other to release the other resource. Such processes would freeze in waiting mode and non would proceed with the processing. These resources are:
    1. The processor: processor time is one of the most sought after resources in the computer. Each executing task needs the attention of the processor in order for its requests to be executed. Scheduling makes sure that CPU time is equitably and efficiently distributed to various tasks.
    2. Memory: this is also a scarce resource. each executing task requires memory. There is never enough memory especially in todays computing machines that run heavy multimedia applications. The memory must be properly managed to enforce mutual exclusion hence avoiding two or more tasks interfering with each other. each task should be allocated a protected memory address that cannot be used by any other task at the time of running.
    3. Input/Output devices (I/O): these are critical to the smooth running of the computer. All running tasks require input of data or output of processed data. The I/O devices are therefore very important system resources. Efficient management of I/O improves the performance of the computer e.g. do not allocate I/O devices to idle tasks, give them to running tasks instead.

    15.5 Common operating systems
    15.5.1 MS-DOS

    MS-DOS stands for Microsoft Disk operating System. It was first developed by Microsoft Corporation, USA. Although virtually obsolete today, MS-DOS is a command line operating system that was developed to manage disks on a personal computer. The user issues commands at the shell prompt and the operating system reads and executes them. MS-DOS formed the foundation of today’s Microsoft Windows.
    You can use some MS-DOS commands by opening the command prompt in windows i.e. On the Start menu, All Programs menu, point to Accessories then click Command Prompt
    The command prompt window will pops up (Figure 15.5) in which you can type DOS commands like:


    Activity 15.5: Dos commands
    Individual Work: Use the following commands. After typing each command at the
    prompt (C:/>) press the enter key. What do you observe?
    1. Dir                        : the Dir command displays the contents of the current folder
    2. cls                        : the cls command clears the screen
    3. cd..                       : move one directory lower in the directory tree
    4. md Life                  : make a directory called Life
    5. cd Life                    : move one directory higher to the directory called Life
    6. cd\                          : move to the root directory
    Search for other DOS commands on the website suggested by the teacher and use them.

    15.5.2 UNIX
    It was first developed at the Bell Labs research center in the USA in the 1970s by Ken Thompson. UNIX is a multitasking operating system which can support many users simultaneously. It is ideal in environments where service providers maintain centralised resources e.g. servers, internet connections, file servers etc. for access by many users. UNIX can run on servers, desktops and even laptops.
    Because of its open source nature, many different groups have made contributions to improve it resulting in many versions of UNIX e.g. Sun Solaris UNIX and MacOS X. Because of its high security architecture, it has been the operating system of choice for many internet servers and servers for big organisations.

    15.5.3 LINUX
    Activity 15.6: Linux shell commands
    Start the computer running Linux. Read the manual / handout provided to you by the teacher to help you navigate the Linux environment. What version of Linux are you using? Open the shell and then do the following:
    Follow the teachers instructions to use the following Linux commands in the Linux shell. Linux and unix share commands.
    1. ls : What happens? This command should list the files in the current directory.
    2. ls –l: What happens? You should see your files listed in the long format.
    3. emacs Life: What happens? This command should create a file named Life and
    enable you to edit it in a text editor.
    4. cp Life Life1: copies the file Life and saves the copy as Life 1
    5. rm Life: remove the file named Life from this directory
    6. wc Life1: tell you how many words and characters are in the file Life1
    Access the website suggested to you by the teacher to find out more about UNIX commands and use them to perform tasks.
    Linux is a UNIX compatible operating system. It was developed by Linus Tovalds at the University of Helsinki, Finland. It has a graphical user interface (GUI) hence has become very popular among both individual and corporate users. You can use UNIX commands on Linux if you open the command shell. Linux has spread its wings for use not only on servers, and personal computers but also on portable devices like mobile phones, tablets etc. Figure 15.6 below shows a Linux desktop.


    There are many versions of Linux including Ubuntu, SUSE and Red Hat Linux. Linux is structured into two major sections: the user mode and the kernel mode. each of these modes has various modules which perform specific tasks e.g. the user mode has the windowing system, graphics module etc. while the kernel has memory management, processing schedule etc.

    15.5.4 MAC OS
    Mac OS or Macintosh Operating system is a series of graphical user interface–based operating systems developed by Apple Inc. for their Macintosh line of computer systems. It is Mac OS which popularized the concept of graphical user interface on computers. Indeed, Mac OS to date even with all its variants on mobile devices leads in graphical user interface technology. That is why most publishing and multimedia firms prefer working in the Mac OS environment. The last Mac OS was Version 9. In 2012, Macintosh developed Mac Operating System X (Mac OS X) where X is the latest version build number. OS X is different from earlier versions of Mac OS because it is based on UNIX platform. One of the latest OS X is OS 10 (simply referred to as System 10 among users). Figure 15.7 below shows an Mac OS 10 desktop.


    15.5.5 Microsoft windows
    The Microsoft Windows family of operating systems originated as a graphical layer shell on top of the older MS-DOS environment for the IBM PC. Modern versions are divided into three main families: Windows NT, Windows Embedded and Windows Phone. Each family targets a certain market segment. The market segments targeted are:
    1. Windows NT: servers, personal computers and laptops.
    2. Windows Embedded: for devices that have limited computing resources e.g. mobile phones, motor vehicle controllers etc.
    3. Windows Phone: for smartphones.

    The latest Microsoft Windows platforms are Windows 7, 8 and Windows 10. Windows 10 seeks to provide a unified operating system architecture for all devices be they mobile phones, computers, tablets etc. for easy interoperability. Figure 15.8 shows a picture of Microsoft Windows 10 desktop.


    15.6 Smartphone operating systems
    Activity 15.7: Working with smart phone
    Groupwork:
    Take the mobile phone provided to you by the teacher. Investigate its specifications as directed by the teacher e.g.
    1. Find out the operating system it uses and the version.
    2. Investigate the applications that it has.
    3. How different is this phone from the normal phones?
    4. What are the specifications for:
    (a) RAM and internal memory size
    (b) Processor type and speed
    (c) Camera resolution in pixels
    (d) Screen resolution and size
    (e) Internet access rate i.e. Edge, 1G, 2G, 3G, LTE etc.
    (f) Applications it can support e.g. mobile office, games, social media etc.
    Draw a specifications table capturing all these information and present it in a class
    discussion hosted by the teacher.
    A smartphone or smart phone is an advanced mobile phone which has characteristics of a powerful computer. A typical smartphone has a powerful processor, large memory, powerful camera, touch large screen, fast internet access, many applications, an operating system etc. They typically combine the features of a mobile phone with a computer. Most smart phones were initially designed for high end or power users

    whose needs go beyond simple calling, texting and low quality pictures. Such users require powerful phones in order to capture high resolution images, take minutes in meetings, link to work emails etc:
    Therefore, due to the complexity of tasks that smartphones need to handle, they require an operating system. The key leading operating systems for smartphones in the world today are Android, Apple’s iOS and Windows Phone. We are going to look at these and a few others.

    15.6.1 Android operating system
    Activity 15.8: Working with android phone
    Groupwork: Take the Android phone provided to you by the teacher. Learn how to
    do the following as instructed by the teacher:
    1. Unlock the screen
    2. To check the android version running on the phone
    3. To download applications from the app store.
    4. To view the phones specifications.
    5. To access the messages, contacts and call activity log.
    6. To play movies and view pictures.
    7. To capture pictures and movies.
    8. To send and receive messages, pictures and movies on social networks.
    9. To access Mobile Office if it is present.
    Android is developed by Google in collaboration with Open Handset Alliance (OHA)
    to run on Linux kernel and provide an open platform for all types of mobile phone
    architectures. Since its inception in 2005, android has taken the mobile device platform
    by storm. Many phone and tablet manufacturers around the world today produce
    Android compatible devices.
    Due to its open nature, Android has attracted many mobile app developers who access the mobile hardware and develop intuitive applications, interfaces etc. Because of this, Android users have access to millions of free applications and resources. Although we are not discussing the architecture, it is worthwhile to note the three tier arrangement of application framework, libraries and the kernel. Apart from running on Linux, it has a GUI, web browser, and millions of applications developed by an ever growing forum of developers worldwide. Figure 15.9 shows an Android phone.


    15.6.2 Apple operating systems
    Activity 15.9 : Working with apple phone
    Groupwork:
    Take the Apple phone provided to you by the teacher. If the phone is not physically
    present, search for iPhone on the internet to view the pictures and specifications.
    Learn how to do the following instructed by the teacher:
    1. Unlock the screen
    2. To check the iOS version running on the phone
    3. To download applications from the Apple app store.
    4. To view the phones specifications.
    5. To access the messages, contacts and call activity log.
    6. To play movies and view pictures.
    7. To capture pictures and movies.
    8. To send and receive messages, pictures and movies on social networks.
    9. To access Mobile Office if it is present.
    Apple’s iOS is proprietary and runs on Apple iPhones, iPads, and iPods only. A special version of iOS powers the Apple smart watch too. It is a multi-touch and multi-tasking operating system for mobile devices. It enables the user to tap and touch the screen as a means of communicating with the device. Figure 15.10 below shows the picture of an iPhone.


    15.6.3 Windows phone operating system
    Activity 15.10 : Working with Windows phone
    Groupwork:
    Take the windows phone provided to you by the teacher. If the phone is not physically present, search for windows phone on the internet to view the pictures and specifications. Learn how to do the following instructed by the teacher:
    1. Unlock the screen
    2. To check the Windows version running on the phone
    3. To download applications from the Microsoft app store.
    4. To view the phones specifications.
    5. To access the messages, contacts and call activity log.
    6. To play movies and view pictures.
    7. To capture pictures and movies.
    8. To send and receive messages, pictures and movies on social networks.
    9. To access Mobile Office if it is present.
    The Windows Phone operating system was designed to run on smart phones. It came after windows mobile. The latest is Windows 10 which was released early 2015. With this operating system, the phone can interoperate with all other Windows 10 devices like tablets, laptops and computers on the universal Windows 10 platform. Figure 15.11 shows a Windows phone. It can support windows based applications like Mobile Office.


    15.6.4 BADA operating system
    Bada is a mobile phone operating system and a smartphone platform that was developed by Samsung Electronics. Bada supports wide range of devices, but it gained more popularity with high end devices such as Wave II and Wave. Samsung stopped supporting Bada in 2013. Figure 15.12 shows a Samsung Wave phone.


    15.6.5 Palm Operating systems
    Activity 15.11 : Working with Palm Operating Systems
    Group work:
    Take the PDA provided to you by the teacher. If the phone is not physically present,
    search for windows phone on the internet to view the pictures and specifications.
    Learn how to do the following instructed by the teacher:
    1. Unlock the screen
    2. To check the POS version running on the phone
    3. To download applications from the Microsoft app store.
    4. To view the phones specifications.
    5. To access the messages, contacts and call activity log.

    6. To play movies and view pictures.
    7. To capture pictures and movies.
    8. To send and receive messages, pictures and movies on social networks.
    9. To access Mobile Office if it is present.
    Palm operating system also called Garnet OS was developed by Palm, Inc. It has a touch screen oriented graphical user interface and specifically targeted Palm personal digital assistants (PDA’s). Figure 15.13 shows a PDA running Palm OS.


    15.6.6 Blackberry operating systems
    BlackBerry operating system was developed by Blackberry Limited, a Canadian company for its Blackberry line of mobile phones. Blackberry targeted corporate customers and could support many corporate applications like corporate email, remote data entry and other applications. Currently, Blackberries market share has greatly declined due to competition from other smart phones.

    15.6.7 Difference between computer operating systems, firmware, mobile phone operating system.
    There are a lot of details involved in computer OS design, but one prominent fact is that computer operating systems were not really designed for mobile devices that have limited hardware and processing facilities. Instead, they evolved, and were understood, as part of a wired system, most commonly, as parts of a single physical machine. As such, developers and engineers focused a lot on of technical specifics related to items like boot protocols, program threads, multiple process handling, CPU operation, and other elements of the traditional OS.
    The mobile operating system is a newer concept. In many ways, the mobile OS has built on what the computer OS has accomplished but with resource constraints in mind. In fact, many modern developers working with mobile operating systems tend to borrow much from computer OS but find themselves in the following dilemma:
    1. The screen of the mobile phone is smaller by far to that of the computer.

    2. The processor of the mobile phone is far much less powerful than that of the
    computer though this gap is being bridged rapidly.
    3. The I/O devices on mobile phones are greatly limited unlike those on the
    computer.
    It is evident from the point above that the design and development of mobile phone
    operating systems will be different and geared towards the following:
    1. Support for touch screens or limited keypads instead of keyboards.
    2. Support for small size screens instead of large ones.
    3. Support for lower memories.
    4. Support for lower processing speeds.

    15.7 History of computer operating systems
    Activity 15.12:Research on historical development of operating systems
    Groupwork:
    Access the website suggested to you by the teacher and do research on the historical
    development of operating systems.
    The historical development of computer operating systems can be divided into
    generations. As computing technology evolved so did the operating systems.

    15.7.1 The 1940’s to 1955: First Generations
    The earliest electronic digital computers had no operating systems. A human operator
    would enter instructions mechanically, one bit at time using rows of mechanical switches. It means the computer program was purely in machine language. The computers themselves we made of vacuum tubes and or relays. Programming languages were unknown therefore there was no operating system or let us say a mechanical human operated system was in force.

    15.7.2 The 1955 – 65: Second Generation
    Transistors were introduced in early 1950’s to become a game changer. This saw the age of the first mainframe computers. A computer program could be written on paper (using FORTRAN or an assembler language) then it could be punched into cards. The cards could then run batch processes on the mainframes. General Motors Research Laboratories implemented the first operating systems in early 1950’s for their IBM 701 computer. The system ran one job at a time i.e. batch processing was common since tasks were piled and submitted in groups or batches. Figure 15.14 below shows how punched cards looked like:


    15.7.3 The 1965 – 80: Third Generation
    Computing technology evolved into two different branches in the 60’s:
    1. Powerful word-oriented scientific supercomputers designed for science and mathematics.
    2. Character computers for use in commercial environments e.g. banking sector.
    IBM combined the two concepts as integrated circuits started to take root. Operating systems became a bit more complex with spooling (which stands for Simultaneous Peripheral Operation On Line) i.e. jobs were copied onto the hard disk and the computer could now read the next job from there instead of from a tape drive or punched card.
    MIT developed the first Compatible Time Sharing System (CTSS) in the 60s. The success of CTSS encouraged Bell labs and General electric to develop MULTICS (MULTiplexed Information and Computing Service) which could support many tasks simultaneously.

    15.7.4 Fourth Generation
    With the development of large scale integrated (LSI) circuit chips, computer memory and processor chips that could be programmed became a possibility. Microprocessor technology evolved to the point that it became possible to build desktop computers as powerful as the mainframes of the 1970s.
    The fourth generation operating systems of today are so advanced that they can support automation, multiprogramming, artificial intelligence etc. Modern operating systems run on all forms of platforms and can support many types of applications and processes.

    15.8 Types of operating systems
    Activity 15.13: Types of operating systems
    Study the magazines/books/handouts provided by the teacher. Note down the types
    of operating systems and their characteristics.
    Operating systems can be categorized as follows:

    15.8.1 Batch
    Batch processing mode involves collecting data over a period of time. Processing of that data is carried out from the beginning to the end without user intervention. Once the processing begins, the user cannot interact with the running process. However, in case a process stalls, it is possible to switch to the next available batch job.

    Advantages
    (a) Simple to run and operate.
    (b) The CPU is not overloaded.

    Disadvantages
    (a) There is lack of interaction between the user and job during the job processing
    cycle.
    (b) Low efficiency i.e. the CPU mostly idle due to the low input/output speed.
    (c) Prioritisation of tasks within a batch is impossible.
    (d) A big task holds onto resource for long denying other tasks until it processes.

    15.8.2 Network operating systems
    A network operating system runs on a centralised computer called a server. A server
    listens to user requests on the network in order to respond service them. It offers
    services such as shared file resources and printers. The server manages important
    functions like data, users and their network privileges, security, applications and
    printer usage etc.

    Advantages
    (a) Centralized focal point of network administration services reduces effort and
    makes the server highly reliable.
    (b) Network security is managed from the server hence policies are easily enforced.
    (c) Easy upgrades to new hardware and software technologies.
    (d) Remote administration of the server is possible.

    Disadvantages
    (a) Server provides a single point of failure. Redundancy required to avoid this
    weakness.

    (b) The server’s initial and running costs are high.
    (c) Regular maintenance and updates are required.

    15.8.3 Multiuser or Time Sharing operating system
    A multi-user operating system allows many different tasks to appear as if they are running at the same time. Each task is allocated a slice of the CPU time in a round robin manner. This type of processing is good because the CPU capacity is utilised efficiently and the user experiences better response time from the system.

    Advantages
    (a) Quick response time.
    (b) Reduces CPU’s idle time.
    Disadvantages
    (a) Complex implementation algorithms are need.
    (b) The security and integrity of tasks running simultaneously in memory is difficult to implement i.e. tasks can interfere with each others resources.

    15.8.4 Distributed operating systems
    A distributed operating system is a single operating system that manages resources on more than one computer system. Computers are linked together and communicate with one another using high speed media make them behave like a single computer Distributed systems provide the illusion that multiple computers are a single powerful computer, so that a process can access all of the system’s resources regardless of their location.

    Advantages
    (a) Sharing of resources across the distributed system.
    (b) Elimination of the single point of failure problem i.e. if one computer fails, a user can access resources through another working one.
    (c) Load balancing across the distributed system means faster processing.

    Disadvantages
    (a) Complex to set up and maintain.
    (b) Keeping global synchronised time across the distributed system is not an easy time.

    15.8.5 Real time systems
    In real time systems, user requests are received, processed and a response sent to the user within a specified time interval. Processing in real time systems happens online without unnecessary delays.
    The time taken by the system to respond to an input request is called the response time. The response time should be small i.e. between 10 to 100 ms in order for the user to keep track of the current session.

    Advantages
    (a) Immediate response to user requests.
    (b) Direct interaction between the user and the system.
    (c) Delivers critical services to the user.
    Disadvantages
    (a) Expensive to set up, monitor and maintain.
    (b) Complex to set up and run.
    15.9 Basic MS DOS commands and its main features
    Below is a listing of each of the MS-DOS commands currently listed on Computer
    Hope and a brief explanation about each command. This list contains every command
    ever made available, which means not all the commands are going to work with your
    version of MS-DOS.

    15.9.1 Starting DOS
    Activity 15.14: How to learn and use MS-DOS
    Follow the instructions detailed below to learn and use MS-DOS:
    You can start DOS program as mentioned earlier. The symbol C:\> with a blinking
    cursor after it is called the command prompt or DOS prompt. The flashing underscore
    next to the command prompt is called the cursor.
    The cursor shows where the command you type will appear. The DOS commands are
    usually typed after this prompt. In DOS a filename consist of a filename an extension,
    the filename should not exceed eight characters and the extension must not exceed
    three characters.

    15.9.2 How are files named?
    While newer versions of DOS support longer filenames, the standard DOS filename
    format remains: 1-8 letter name, period, 3 letter extension eg:
    PROGRAM.EXE
    DATA.DAT
    LETTER.DOC
    The extension to a file’s name is there to allow files of a similar type to be grouped together. i.e. all word processor files might have the extension .DOC, while all picture files might have the extension. PIC While these extensions can be specified by the user, many programs have used them to differentiate between formats, and so they have gradually become standardized. For example you would expect a “.TXT” file to be a file containing unformatted text, or a “.BMP” file to be in a bit mapped graphics file format.

    To completely specify a file on your computer you must specify its drive and directory path, and its filename. However a file does not always have to be specified in this complete form: If it is in the current directory, then you can just enter its filename.
    If your command prompt does not look like the example above, type the following at the command prompt, and then press ENTER:


    DIR - Displays directory of files and directories stored on disk. In addition to files and directories, DIR also displays both the volume name and amount of free storage space on the disk (if there are files stored in the current directory). Note that both of these are for the entire DISK, not just for the path you specified.
    The DIR command is also useful if you want to know what directories have been created on the specified disk. The directories will be displayed along with the files on the disk. They can be identified by the DIR label that follows the directory name.
    Wildcard characters (? and *) can be used to specify groups of files.
    To list files in C:


    DIR has two options; /W or /P. /W (wide) causes the directory to be displayed horizontally across the screen. /P pauses the directory listing once the screen is filled. To view the contents of a directory in wide format


    To view the contents of a directory one screen at a time


    To display only files with the. TXT filename extension on the current drive that begin with the letters FIL, enter


    To display only files on drive C that have no filename extension, enter


    This form of the DIR command will also display directories. They can be identified by the DIR label that follows the directory name.

    15.9.3 Creating a directory

    To create and named FRUIT


    To change to the new FRUIT directory, type the following at the command prompt:


    The command prompt should now look like the following:


    To create and work with a directory named ORANGES
    Type the following at the command prompt:
                                 MD ORANGES
    To confirm that you successfully created the ORANGES directory, type the following at the command prompt:
                                      DIR
    The ORANGES directory is a subdirectory of the FRUIT directory. A subdirectory is a directory within another directory. Subdirectories are useful if you want to further subdivide information.
    1. To change to the ORANGES directory, type the following at the command prompt:
                                   cd ORANGES
    The command prompt should now look like the following:
                             C:\FRUIT\ ORANGES >
    2. To switch back to the FRUIT directory, type the following:
                              cd ..
    The command prompt should now look like the following:
                          C:\FRUIT>
    To Copy the file “letter.txt” to a file called “letter.bak”. (Creates “letter.bak” if it does not exist, and overwrites it if it does).
                    COPY letter.txt letter.bak [
    To Copy any file with an extension PIC, in the PICTURES directory on the flash disk of drive E: to the root directory of the hard disk.
                           COPY E:\pictures\*.pic C:\

    15.9.4 Creating files
    Use the copy con command e.g. to create a file called colors with red, green, blue and orange as the data items;
    Copy con color.txt
    Red
    Green
    Blue
    Orange

    Then press ctrl+z to terminate
    DOS gives you a message that 1 File(s) has been copied

    15.9.4.1 Copying files
    To copy one file to another use the COPY command type the following

    Copy color.txtcolor2.txt and press enter

    15.9.4.2 Type a File with DOS
    If you need to check the contents of a particular file or any DOS file, you will need to use the TYPE command.
    Type color2.txt and press return.
    DOS prints the contents of the file.

    15.9.4.3 Rename a File
    To rename color2.txt to sales.txt
    rencolor2.txt sales.txt and press return.

    15.9.4.4 Rename a Group of Files
    With the wildcard character *, you can also use the RENAME command to change a group of files.
    To rename all files with a .txt to have a .bob type
    Ren *.txt *.bob and press return.

    15.9.4.5 Format a Flash Disk
    Usually a flash disk comes blank. Before using it you may need to format it. Formatting can be used to check for bad area on the disk and remove all the data on the disk. Formatting destroys all information on a drive and thus you should never format C: unless under instructions.
    At the C:\> prompt type: format e: if e is the flash disk drive letter.

    15.9.4.6 Diskcopy Command
    The Diskcopy command was designed to help a person to make an exact copy of a floppy disk. However, floppy disks have become obsolete. The command cannot be used on hard disk drives. It was designed for removable disks only.
    To make an exact copy of a disk in drive E: on a disk in drive F:, the two disks need to be of the same size and have the same file system. The command is issued as followed:
    Diskcopy E: F: <press enter key>
    At the end of the Diskcopy operation, an exit code of 0 may be displayed to show that the operation was successful.

    15.9.4.7 CHKDSK
    Checks a disk and provides a file and memory status report. Provides information on the space used, space available, bad sectors if any etc. to fix errors using CHKDSK type CHKDSK/F.

    15.9.4.8 Scandisk
    Start the Microsoft ScanDisk program which is a disk analysis and repair tool used to check a drive for errors and correct any problems that it finds. Is a preferred method for fixing drive problems.

    15.9.4.9 Copying a File from the Hard Drive to a Flash Disk
    C:/> Copy <insert filename here> E: and press return.

    Unit Test 15
    1. What is the major difference between an application software and the operating system.
    2. Draw a diagram representing the role of the operating system in the computer.
    3. The_____ is the user level component of the operating system and it displays the _____ to the user where______ can be given.
    4. The operating system runs in ______ mode.
    5. Describe five functions of the operating system.
    6. Explain five characteristics of a good operating system.
    7. Write brief statements about the following:
    (a) Command line shells.
    (b) Menu driven shells.
    (c) GUI shells.
    8. Draw the structure of a file system and describe it.
    9. Define the following: File, Folder, Drive, Directory.
    10. How important are the following to the computer:
    (a) Processor                      (b) Memory                  (c) I/O devices
    11. Write brief notes about the following:
    (a) UNIX operating system.                     (b) Linux operating system.
    (c) Windows operating system.                (d) Mac OS X operating system.
    12. Describe a smartphone.
    13. Justify the reason why smartphones need an operating system.
    14. Compare and contrast a computer operating system and that of a mobile phone.
    15. Briefly describe the following:
    (a) Android.                   (b) iOS.

    Unit 14:ARRAYS IN C++ PROGRAMMINGUnit 16: HTML-BASED WEB DEVELOPMENT