Applied Operating System
MODULE 1 – IT0035
      WHAT IS AN OPERATING SYSTEM?                              ▪ Batch based interface
                                                                ▪ Graphical User interface
An Operating System (OS) is a program or
                                                      2.   Program Execution – The OS must have the
system software that acts as an interface between
                                                           capability to load a program into memory and
the user and the computer hardware and controls
                                                           execute that program.
the execution of all kinds of programs.
                                                      3.   File System Manipulation – Programs need
It is not possible for the user to use any computer        has to be read and then write them as files and
or mobile device without having an operating               directories. File handling portion of OS also
system.                                                    allows users to create and delete files by
Goals of Operating System                                  specific name along with extension, search for
                                                           a given file and / or list file information.
1. Execute user programs and make solving user
                                                      4.   Input / Output Operations – A program
   problems easier.
                                                           which is currently executing may require I/O,
2. Make the computer system convenient to use.
                                                           which may involve file or other I/O device. The
3. Use the computer hardware in an efficient
                                                           OS is responsible for reading and/or writing
   manner.
                                                           data from I/O devices such as disks, tapes,
Components of a Computer System                            printers, keyboards, etc.
                                                      5.   Communication – Process needs to swap
× Computer hardware
                                                           over information with other process.
   → CPU, memory and I/O devices, provides
                                                           Processes executing on same computer
       the basic computing resources.
                                                           system or on different computer systems can
× Application programs
                                                           communicate using operating system
   → are used to solve the computing
                                                           support.
       problems of the users such as word
                                                      6.   Resource Allocation – The OS manages the
       processors, games and business
                                                           different computer resources such as CPU
       programs.
                                                           time, memory space, file storage space, I/O
× Users                                                    devices, etc. and allocates them to different
   → who utilize a computer or network                     application programs and users.
       service trying to solve different              7.   Error Detection – The operating system
       problems.                                           should be able to detect errors within the
× Operating Systems                                        computer system (CPU, memory, I/O, or user
   → controls and coordinates the use of the               program) and take the appropriate action.
       hardware among the various application         8.   Job Accounting – OS keeps track of time and
       programs for the various users.                     resources used by various tasks and users, this
                                                           information can be used to track resource
COMMON SERVICES OFFERED BY ALMOST ALL
                                                           usage for a particular user or group of user.
OPERATING SYSTEMS:
                                                      9.   Security and Protection – Protection is any
1. User Interface (UI) – Refers to the part of an          mechanism for controlling access of
   OS, or device that allows a user to enter and           processes or users to resources defined by the
   receive information.                                    OS. Security is a defense of the system against
       Types of UI:                                        internal and external attacks (denial-of-
         ▪ Command Line Interface
Applied Operating System
MODULE 1 – IT0035
    service, worms, viruses, identity theft, theft of          occur so frequently. Thus, the user can
    service)                                                   receive an immediate response. Response
                                                               time should be < 1 second
What is a Kernel?                                          › Each user has at least one program
Kernel is the central part of an OS which manages              executing in memory
system resources and is always resident in                 › If several jobs ready to run at the same
memory. It also acts like a bridge between                     time -> CPU scheduling
application and hardware of the computer. It is            › If processes don’t fit in memory, swapping
also the first program that loads after the                    will take place
bootloader.                                                › Examples: Unix, Linux, Multics and
Bootloader is a program that loads and starts the              Windows
boot time tasks and processes of an OS. It also         3. Distributed operating system
places the OS of a computer into memory.                   › Distributed systems use multiple central
                                                               processors to serve multiple real-time
        TYPES OF OPERATING SYSTEM                              applications and multiple users. Data
Operating systems are there from the very first                processing jobs are distributed among
computer generation and they keep evolving with                the processors accordingly.
time.                                                      › The processors communicate with one
                                                               another through various communication
Types of operating systems which are most                      lines (such as high-speed buses or
commonly used:                                                 telephone lines). These are referred as
1. Batch operating system                                      loosely coupled systems or distributed
   › The user of a BOS never directly interacts                systems. Processors in a distributed
      with the computer.                                       system may vary in size and function.
   › Every user prepares his or her job on an                  These processors are referred as sites,
      offline device like a punch card and                     nodes, computers, and so on.
      submit it to the computer operator.                  › Examples: Telecom Network, WWW,
   › To speed up processing, jobs with similar                 Cloud Computing, etc.
      needs are batched together and run as a           4. Network operating system
      group.                                               › A NOS runs on a server and provides the
   › The programmers leave their programs                      server the capability to manage data,
      with the operator then operator sorts the                users, groups, security, applications, and
      programs with similar requirements into                  other networking functions.
      batches.                                             › The primary purpose of the network
2. Time-sharing operating systems                              operating system is to allow shared file
   › Time-sharing or multitasking is logical                   and printer access among multiple
      extension in which CPU switches jobs so                  computers in a network, typically a local
      frequently that users can interact with                  area network (LAN), a private network or
      each job while it is running, creating                   to other networks.
      interactive computing.                               › Examples: Microsoft Windows Server
   › Multiple jobs are executed by the CPU by                  2003, Microsoft Windows Server 2008,
      switching between them, but the switches                 UNIX, Linux, Mac OS X Server, Novell
Applied Operating System
MODULE 1 – IT0035
      NetWare, and BSD/OS (Berkeley Software          •   Each device controller has a local buffer.
      Design).                                        •   CPU moves data from/to main memory
5. Real-time operating system                             to/from local buffers.
   › RTOS is an operating system intended to          •   I/O is from the device to local buffer of
      serve real-time systems/applications that           controller.
      process data as it comes in, mostly             •   Device controller informs CPU that it has
      without buffer delay.                               finished its operation by causing an interrupt.
   › The time interval required to process and
      respond to inputs is very small. This time      What is an Interrupt?
      interval is called response time.               o Interrupt is a signal emitted by hardware or
   › Real-time systems are used when there              software when a process or an event needs
      are time requirements are very strict like        immediate attention.
      missile systems, air traffic control systems,   o It alerts the processor temporarily to a high
      robots, etc.                                      priority process requiring interruption of the
   › Examples: LynxOS, OSE, QNX, RTLinux,               current working process and then return to its
      VxWorks, Windows CE                               previous task.
6. Handheld operating system                          o Types of Interrupts:
   › It is also known as Mobile OS which is                ▪ Hardware interrupt
      built exclusively for a mobile device, such          ▪ Software interrupt
      as a smartphone, personal digital               o An operating system is interrupt driven.
      assistant (PDA), tablet, wearable devices
                                                      Hardware Interrupt
      or other embedded mobile OS.
   › Examples: Android, Symbian, iOS,                 •   a signal created and sent to the CPU that is
      BlackBerry OS and Windows Mobile.                   caused by some action taken by a hardware
                                                          device.
    COMPUTER SYSTEM ORGANIZATION                      •   Example: When a key is pressed or when the
                                                          mouse is moved.
                                                      Software Interrupt
                                                      • arises due to illegal and erroneous use of an
                                                          instruction or data. It often occurs when an
                                                          application software terminates or when it
                                                          requests the operating system for some
•   One or more CPUs, device controllers connect          service.
    through common bus providing access to            • Example: stack overflow, division by zero,
    shared memory.                                        invalid opcode, etc. These are also called
•   Concurrent execution of CPUs and devices              traps.
    completing for memory cycles.
•   I/O devices and the CPU can execute               Interrupt Handling
    concurrently.                                     × The operating system preserves the state of
•   Each device controller is in charge of a            the CPU by storing registers and the program
    particular device type.                             counter.
Applied Operating System
MODULE 1 – IT0035
× Determines which type of interrupt has                  COMPUTER SYSTEM ARCHITECTURE
  occurred:                                          × Most systems use a single general-purpose
    o Polling – operating system sends signal          processor (PDAs through mainframes)
        to each devices asking if they have a        × Most     systems    have     special-purpose
        request                                        processors as well
    o Vectored        interrupt    system      –     × Multiprocessors systems growing in use and
        requesting device sends interrupt to the       importance
        operating system.                                • Also known as parallel systems or
× Separate segments of code determine what                  tightly-coupled systems
  action should be taken for each type of                • Advantages include
  interrupt                                                   › Increased throughput
                                                              › Economy of scale
OPERATING SYSTEM OPERATORS
                                                              › Increased reliability – graceful
› Dual-mode operation allows OS to protect                        degradation or fault tolerance
  itself and other system components                     • Two types
› User mode and kernel mode                                   › Asymmetric Multiprocessing
› Mode bit provided by hardware                               › Symmetric Multiprocessing
     o Provides ability to distinguish when
         system is running user code (1) or kernel            MULTIPROCESSOR SYSTEMS
         code (0)
                                                     Advantages:
     o Some instructions designated as
                                                      1. Increased throughput. Increasing the
         privileged, only executable in kernel
                                                         number of processor, expect to get more
         mode
                                                         work done in less time.
     o System call changes mode to kernel,
                                                      2. Economy of scale. It can cost less than
         return from call resets it to user
                                                         equivalent      multiple   single-processor
     o A system call is a way for programs to
                                                         systems because they can share peripherals,
         interact with the OS. A computer
                                                         mass storage and power supplies.
         program makes a system call when it
                                                      3. Increased reliability. Functions can be
         makes a request to the OS‘s kernel.
                                                         distributed    properly   among       several
             PROCESSOR SYSTEM                            processors. If one processor fails, the other
                                                         processor can pick-up the task.
Single-Processor System
  › There is one main CPU capable of executing       The multiprocessor systems in use today are of
     a general-purpose instruction set, including    two types
     instructions from user processes.                1. Asymmetric        multiprocessing.       Each
Multiprocessor System                                    processor is assigned a specific task. A boss
 › Also known as parallel-system or                      processor controls the system and the other
    multicore.                                           processors either look to the boss for
 › First appeared in servers and now in                  instructions or have predefined tasks. Boss-
    smartphones and tablet computers.                    worker relationship.
Applied Operating System
MODULE 1 – IT0035
    2. Symmetric multiprocessing (SMP). The                     ▪ Now portals allowing networked
       most commonly used. In which each                          and remote systems access to
       processor performs all tasks within the                    same resources
       operating system. All processors are peers         o Home networks
       and no boss-worker relationship.                        ▪ Used to be single system, then
The difference between symmetric and                              modems
asymmetric may result from either hardware or                  ▪ Now firewalled, networked
software.                                                 o Mobile computing
                                                               ▪ Refers to computing on handheld
× A recent trend in CPU design is to include
                                                                  smartphones           and       tablet
  multiple computing cores on a single chip.
                                                                  computers.
  Such multiprocessor systems are termed
                                                          o Distributed system
  multicore. They can be more efficient than
                                                               ▪ It is a collection of physically
  multiple chips with single core.
                                                                  separate, possibly heterogeneous
× A dual-core design with two cores on the                        computer systems that are
  same chip. Each core has its own register set                   networked to provide users with
  as well as its own local cache.                                 access to the various resources that
              CLUSTERED SYSTEMS                                   the system maintains.
                                                               ▪ Network operating system is an
•    Like multiprocessor systems, but multiple
                                                                  operating system that provides
     systems working together.
                                                                  services across the network.
•    Usually sharing storage via a storage-area
                                                          o Client-Server Computing
     network (SAN)
                                                               ▪ Dumb terminals succeeded by smart
•    Provides a high-availability service which
                                                                 PCs
     survives failures
                                                               ▪ Many       systems     now     servers,
        o Asymmetric clustering has one
                                                                 responding to requests generated
            machine in hot-standby mode
                                                                 by clients
        o Symmetric clustering has multiple
                                                                    • Compute-server provides an
            nodes       running     applications,
                                                                       interface to client to request
            monitoring each other
                                                                       services (i.e. database)
•    Some clusters are for high-performance
                                                                    • File-server provides interface
     computing (HPC)
                                                                       for clients to store and retrieve
COMPUTING ENVIRONMENT                                                  files
                                                     •   Another model of distributed system
•    Traditional computer - blurring over time
                                                     •   P2P does not distinguish clients and servers
       o Office environment
                                                          o Instead all nodes are considered peers
             ▪ PCs connected to a network,
                                                          o May each act as client, server or both
                terminals attached to mainframe or
                                                          o Node must join P2P network
                minicomputers providing batch
                                                               ▪ Registers its service with central
                and timesharing
                                                                  lookup service on network, or
Applied Operating System
MODULE 1 – IT0035
           ▪   Broadcast request for service and       •   Cloud Computing Service Models
               respond to requests for service via           o Software as a service (SaaS) – one or
               discovery protocol                              more applications available via the
      o Examples: Napster and BitTorrent                       Internet
•   Virtualization                                           o Platform as a service (PaaS) – software
      o It is a technology that allows operating               stack ready for application use via the
         systems to run as applications within                 Internet
         other operating system.                             o Infrastructure as a service (IaaS) –
      o It is one member of the class software                 servers or storage available over the
         that also includes emulation. Emulation               Internet
         is used when the source CPU type is
         different from the target CPU type.
      o Example:            virtual        machine,
         OracleVirtualBox
•   Cloud Computing
      o It is a type of computing that delivers
         computing,        storage     and      even
         applications as a service across a
         network.
      o It is a logical extension of virtualization
           ▪ Public cloud – cloud available via
               the Internet                                 OPEN-SOURCE OPERATING SYSTEM
           ▪ Private cloud – cloud run by a            › Open Source operating systems are
               company for that company’s own            released under a license where the copyright
               use                                       holder allows others to study, change as well
           ▪ Hybrid cloud – cloud that includes          as distribute the software to other people.
               both public and private                 › Counter to the copy protection and Digital
                                                         Rights Management (DRM) movement
                                                       › Started by Free Software Foundation (FSF),
                                                         which has “copyleft” GNU Public License
                                                         (GPL)
                                                       › Examples: GNU(GNU’s Not Unix)/Linux, BSD
                                                         UNIX (including core of Mac OS X), and Sun
                                                         Solaris