0% found this document useful (0 votes)
9 views41 pages

Operating Systems - Part 1

The document provides an overview of operating systems, detailing their functions, history, and various types including UNIX, Linux, Windows, and macOS. It explains the role of operating systems in managing hardware resources, providing APIs for applications, and facilitating multitasking and process scheduling. Additionally, it discusses special-purpose operating systems and the fundamental building blocks that constitute an operating system.

Uploaded by

samir.elsagheer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views41 pages

Operating Systems - Part 1

The document provides an overview of operating systems, detailing their functions, history, and various types including UNIX, Linux, Windows, and macOS. It explains the role of operating systems in managing hardware resources, providing APIs for applications, and facilitating multitasking and process scheduling. Additionally, it discusses special-purpose operating systems and the fundamental building blocks that constitute an operating system.

Uploaded by

samir.elsagheer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 41

IT Infrastructure

Architecture
Infrastructure Building Blocks
and Concepts

Operating Systems – Part 1


(chapter 12)
Introduction

• An operating system is the set of


programs that, after being
initially loaded into a computer
by a boot program, controls all
the other programs in a
computer
Introduction

• Operating systems manage a computer’s internal workings


 Memory
 Processors
 Internal and peripheral devices
 File system

• Operating systems are used on for instance::


 PCs and laptops
 Virtual machines
 Servers
 Tablets and mobile phones
 Network routers
 Storage arrays
 Cars
 Televisions
Introduction

• Operating systems provide an abstraction layer between (virtualized or


physical) hardware and software applications
• As a service to applications, low level hardware management is handled
by the operating system
 Process management
 Memory management
 Interrupt handling
 Multi user management
 File locking and file sharing
Introduction

• Operating systems provide services to applications in the form of


Application Programming Interfaces (APIs)
• For example for:
 File management
 I/O interfaces (like video and keyboard)
 Hardware drivers (like printer drivers)
History

• Early operating systems could execute one program at a time


• At any given time, one user had sole use of the computer
• Through the 1950s, many major features were pioneered in the field of
operating systems, including multitasking
• During the 1960s, IBM introduced a single operating system (OS/360) for
all of its mainframes
• In 1969, UNIX was created
 UNIX used a file system with directories
 Standard POSIX system calls
History

• An early operating systems for personal computers was CP/M


 CP/M introduced drive letters (c:), but no directories

• Parts of CP/M and UNIX were imitated in MS-DOS


 Drive letters and directory structures
 System calls
 MS-DOS became extremely popular when chosen as the default operating system for
the IBM PC

• The most popular operating systems running on servers today are


Microsoft Windows, Linux, and UNIX
Popular operating systems
IBM z/OS

• The most used mainframe operating system


• Extreme backward compatibility is one of z/OS's main design philosophies
 Programs written for MVS in 1974 can still run on today's z/OS without modification

• Typical use of z/OS:


 Batch processing: reading and writing large amounts of data and performing relatively
simple calculations on it
 Interactive users: supports thousands of interactive users
IBM i (OS/400)

• IBM i is an operating system only used on IBM's Power Systems midrange


systems
 The operating system was previously known as OS/400
 The midrange system was previously known as AS/400

• One of the biggest advantages of IBM i is its completeness, it includes:


 Communications
 Transaction processing
 Relational database manager
 Features for the implementation and maintenance of data security

• The latest version is "IBM i 7.2“, released in 2014


UNIX - History

• UNIX is a multitasking, multi-user operating system


• Created by Bell Labs (now AT&T) in 1969
• In 1973, UNIX was rewritten in the new C programming language
 C was created by the same people that created UNIX
 This made UNIX portable to multiple types of computer hardware

• In 1982, UNIX was licensed to a number of computer manufacturers


 Most marketed their own UNIX versions based on the original UNIX source code
 They adapted the code to meet their own hardware and software requirements
UNIX – vendor versions

• Vendors came up with different names for their UNIX flavors


• These versions are 90% the same, but have some minor differences
 Wording of error messages
 The order of commands used to start-up the machine
 The location of certain files

Vendor UNI X flavor


IBM AIX
Oracle/ Sun Solaris
HP HP-UX
Mac OS X (built on FreeBSD,
Apple
discussed in the next section)
UNIX – vendor versions

• Each flavor needs specific hardware


 HP-UX only runs on HP Integrity systems
 HP systems cannot run for example IBM’s AIX

• Applications running on a particular flavor of UNIX cannot run on another


flavor without (at least) recompiling
 Software vendors must provide separate versions of their applications for each flavor of
UNIX
UNIX – vendor versions

• UNIX has been ported to a wider variety of machine architectures than


any other operating system
 UNIX is written almost entirely in the C programming language
 Source code is published

• Many business software today is released on Linux before being released


on the various flavors of UNIX
 Linux runs on many hardware platforms without recompiling
 Linux is now more widely used than UNIX
UNIX - filesystem

• UNIX popularized the hierarchical file system with nested subdirectories –


the directory tree
• All files and directories appear under the so-called root directory "/“
 Even if they are stored on different physical disks

• UNIX has no concept of drive letters, like Windows or DOS


 Drives are mounted on a branch in the directory tree, providing disk space for that
particular branch
 Also removable drives must be mounted in the tree
UNIX – system tools

• The UNIX philosophy is to use a large set of small tools that do only one
thing, and do it very well
• To perform complicated tasks, commands can be combined using a system
called pipes
 Pipes feed the output of one command to the input of another command, without
storing the intermediate result
 For instance, the UNIX command: ls | sort prints a sorted list of files on the screen
 The pipe sign “|” sends the output of the “ls” command as input to the “sort” command

• In practice, these chains of piped commands can get very long and
complex
Linux - history

• Linux is a free UNIX-like operating system for the x86 platform


• It is not derived from the UNIX source code
• In 1991, Linus Torvalds wanted to explore the multitasking possibilities of
the new Intel 80386 CPU in his PC
• He decided to create a small multitasking, multi-user operating system
with the help of the internet community
• Because of the open source nature of Linux many developers contributed
 Kernel patches
 Device drivers
 Multilingual keyboards
 Disk drivers
 Support for video card devices
Linux

• Linux commands and scripts are almost similar to those of UNIX


• Linux also uses the same commands, file structure, scripting language,
pipes, etc. as UNIX
• Today Linux is a very mature operating system, used in:
 Servers
 Workstations
 Mobile devices
 All Android smartphones
 Appliances like set-top boxes, firewalls and NAS devices

• Ninety-five per cent of the supercomputers listed in the top 500 list of the
fastest computers in the world are running Linux
• Almost all internet services run on Linux
Linux – GNU/Linux

• The GNU project was launched in 1984 by Richard Stallman


 Goal was to develop a free UNIX-like operating system
 GNU is a recursive acronym for “GNU's Not UNIX!”
 By 1990, the GNU project had recreated all the major components of the UNIX-like
system except one – the kernel

• Combining Linux with the GNU system resulted in a complete operating


system: the GNU/Linux system
 It is important to understand that Linux is actually only an operating system kernel
 Wat we call Linux, is actually GNU/Linux

• Linux and the GNU tools are licensed under the GNU General Public
License
 Ensures all source code will be free for all to copy, study, and to change
Linux – distributions

• Vendors compiled the Linux source code, added some tools and
configurations of their own, and releasing it in a distributable format
• Some of the best-known Linux distributions:
 Red Hat
 SuSe
 Ubuntu
 Debian
Linux - Support

• Linux can be downloaded from the internet for free


• Most organizations demand professional support for their software
• Professional support is not free
• Most Linux distribution vendors, like Red Hat and SuSe, and some
independent vendors, offer support contracts for Linux
BSD

• Berkeley Software Distribution (BSD) is a UNIX operating system derivative


 Developed and distributed by the University of California, Berkeley

• BSD was the basis for three open source development projects:
 FreeBSD
 Most widely used
 FreeBSD is a complete operating system (Linux is only a kernel!)
 NetBSD
 Ported to 57 hardware platforms across 15 different processor architectures
 Often used in embedded systems
BSD
 OpenBSD
 Most secure BSD version
 Has a tradition in which developers audit the source code for software bugs and security
problems
 In the 10+ years of its existence, only three security bugs have been found in OpenBSD

• Darwin, the system on which Apple's Mac OS X is built, is a derivative of


FreeBSD
Windows - introduction

• Windows is a popular x86 operating system, used on PCs and servers


• Because of Window’s popularity, a large collection of software is available
 Microsoft provides a fairly complete stack of business solutions like SharePoint, BizTalk,
SQL Server, and Exchange
 They also provide a development environment (Visual Studio and the .Net framework)
 Microsoft Azure cloud runs on a slimmed down version of Windows

• Many organizations have a "Microsoft unless" strategy


 Software is purchased from Microsoft or built using Microsoft tools, unless there is no
solution from Microsoft available
Windows for desktops

• The first version of Microsoft Windows was released in 1985


• Early Windows versions ran as an application on top of MS-DOS
 Windows was no real operating system

• In 1990, Microsoft Windows 3.0 was the first successful Windows version
• In late 1995, Microsoft released Windows 95, positioned as the new
operating system for desktops
 Windows 95 introduced the "start" button

• Windows targeted at workstations include:


 Windows XP
 Windows Vista
 Windows 7, 8 and 10
Windows for servers

• In 1992, Windows NT was the first version of Windows designed to run on


servers
 A real operating system, not running on top of MS-DOS

• Windows NT 4
 Included the Windows 95 style GUI
 Companies started the switch from Novell servers to Windows NT 4
 Some UNIX systems were being replaced by Windows NT 4 systems

• Windows 2000 introduced an implementation of LDAP directory services,


called Active Directory
• The server operating systems were named after the year of release:
Windows server 2003, 2008, 2012, and 2016
Windows – Support

• Windows is closed source software


 Only Microsoft has access to the source code and knows how Windows works internally
 Users are dependent on Microsoft for support and updates

• Users must follow updates and software upgrades to get support


 Extended support is sometimes possible, but at a price
 This leads to frequent (and usually costly) upgrade projects
MacOS

• MacOS is Apple's operating system for laptops and desktops


• The original Macintosh system was released in 1984
• The current version of the operating system is called macOS.
• MacOS was designed from the beginning with a graphical user interface
• It comes preinstalled on every Macintosh computer and cannot be run on
any other hardware
• Under the GUI, it uses BSD UNIX as its code base
Operating systems for mobile
devices
• iOS is the operating system for Apple's iPhone and iPad mobile devices
 It is based on macOS
 iOS introduced the concept of the App Store
 iOS also introduced a user interface based on direct manipulation using multi-touch
gestures such as swiping, tapping, and pinching

• Android is an open source mobile operating system based on Linux


 Its user interface is based on many of the innovations made by Apple for its iOS
operating system.
 The most widely used version is developed by Google
 Google's version is proprietary because it comes with additional proprietary closed-
source software preinstalled
 Android applications can be installed from the Google Play Store
 Android is the world's best-selling operating system for phones and tablets
Special purpose operating
systems
• Some operating systems are created for special purposes, like:
 Firewalls
 Intrusion detection and prevention systems
 Routers
 Phones
 ATM machines
 Media centers

• Typically based on existing operating systems


 Usually based on Linux or Windows
 Stripped of all unneeded features
Special purpose operating
systems
• A special type of operating system is a real-time operating system (RTOS)
 Guarantee to perform tasks in a predefined amount of time
 Used where handling events within a predefined time is critical
 Factories
 Power plants
 Vehicles
 Example: QNX
Operating system building blocks
Operating System building blocks

• An operating system basically performs two basic operations:


 It enables multiple users, multiple processes, and multiple applications to run together
on a single piece of hardware
 It hides the technical complexities of the underlying hardware from the applications
running on top of the operating system
Operating System building blocks

The kernel is the heart of an operating system


• Starts and stops programs
• Manages the file system
• Performs low level tasks that most programs need
 The kernel schedules access to hardware to avoid conflicts
if two programs try to access the same resource or device
simultaneously
Operating System building blocks

• Drivers are small applications that connect specific


hardware devices to the kernel
 Printers
 Network cards
 Keyboard and mouse
 Video screens

• Utilities are applications that are considered part


of the operating system
 User interfaces
 Logging tools
 Editors
 System update processes
Operating System building blocks

Applications consist of one or more processes that


communicate with the operating system using
system calls that are invoked through Application
Programming Interfaces (APIs)
Process scheduling

• Operating systems create the illusion of multiple running processes in


parallel by scheduling each process to run only during a short time frame
 This principle is also known as preemptive multitasking
 Periodically, the operating system decides if a running process is to be suspended in
favor of another process, or if the running process can keep on running for a while

• Process scheduling is fairly complex


 Must be well-balanced
 Switching processes introduces some overhead
 The scheduling algorithm guarantees each process gets its fair share of CPU time
 Because operating systems have evolved over decades, scheduling algorithms are very
sophisticated
File systems

• The operating system provides a file system to applications


 File systems usually consist of directories (also known as folders) with files or other
directories

• The operating system hides complexity


 Handling individual disk blocks or communication with a SAN or NAS
 Managing the files and the directory structure
 Security – permission to read, write, create, and delete files and directories
File systems

• Most operating systems can handle multiple types of file systems on


multiple disks at the same time
• Some popular file systems are:
 FAT (File Allocation Table), vFAT, and FAT32, used in MS-DOS, older versions of
Windows, and removable storage devices like USB memory sticks
 NTFS (New Technology File System) used in Windows
 UFS (Universal File System) and VxFS (Veritas File System) used in most UNIX flavors
 Ext (and Ext2, Ext3, Ext4) - used in Linux
File systems

• Journaling file systems keep track of changes made to files in a journal log
before committing them to the main file system
 Higher availability
 Fast recovery in case of a malfunction

• File systems must be mounted before they can be used by the operating
system
 A disk and the file system on it must be recognized by the operating system and
attached to it

• After mounting, the file system is typically given either:


 A drive letter (Windows)
 A drive name (OpenVMS)
 A mount point in the global directory tree (UNIX and Linux)
File systems

• Most operating systems provide file sharing functionality


 File sharing enables files on one system to be accessed by (users on) other systems
 File sharing protocols:
 NFS: originates from UNIX
 SMB/CIFS: originates from Windows

You might also like