You are on page 1of 82

OPERATING

SYSTEM
FUNDAMENTALS

SCHOOL OF COMPUTING RIEL A. GOMEZ


BASIC INFORMATION

• Professor's Name: Riel A. Gomez

• Office: 8th Floor (Faculty Room)

• Email:
riel.gomez@iacademy.edu.ph
Introduction
BASIC INFORMATION

• Absences

– A student will be given a grade of FA (failure due to


absences) for a subject if he/she is absent for more
than three (3) times (for classes that meet once a
week).

– One late will be considered as a half-absence.

– A student who leaves the class before the end of the


class period will be considered as absent for that
meeting.

Introduction
BASIC INFORMATION
• The following rules will be strictly enforced during
classes:

‒ Cell phones, tablets, and other gadgets are not


allowed while class is in session. They must be kept
hidden.

‒ 100% attention is required from you. Direct questions


to the instructor, not the seatmate.

‒ No sleeping in class.

• You may eat and drink while in class but observe


cleanliness.
Introduction
BASIC INFORMATION

• Class Requirements : 4 or 5 Major


Exams. Final grade is just the
average of the major exams.

• Cancel the lowest major exam.

• A difficulty factor is given for each


exam (to raise the score).
Introduction
BASIC INFORMATION
• If you missed an exam:
‒ you have one (1) week to take it (except for the
last exam)
‒ send me an email to schedule your make-up
exam
‒ no advanced exams will be given
‒ there will be no difficulty factor for missed
exams.

• Passing is 70%. Absolutely no extra work will be


given for those who will fail or those who want a
higher grade.
Introduction
SYSTEM SOFTWARE VS. APPLICATION SOFTWARE

• Fundamental Truth

Computers cannot
do anything
without software.

Operating System Fundamentals


SYSTEM SOFTWARE VS. APPLICATION SOFTWARE

• Software is defined as a program or set of


instructions that tells the computer what to do.

• Two Classes of Software:

1. System Software. Programs that control the


basic operations of a computer system such
as saving files in a storage device like a hard
disk or floppy disk, printing files, accepting
input from a keyboard or mouse, executing
programs, etc.

2. Application Software. Programs that are


used to accomplish specific or specialized
tasks for computer users such as creating
and editing documents (word processing),
making graphic presentations, or listening to
music.

Operating System Fundamentals


SYSTEM SOFTWARE VS. APPLICATION SOFTWARE

A device driver is a system software


that tells a computer how to control a
particular type of hardware device that
is attached to it.

Operating System Fundamentals


SYSTEM SOFTWARE VS. APPLICATION SOFTWARE

• Software is defined as a program or set of


instructions that tells the computer what to do.

• Two Classes of Software:

1. System Software. Programs that control the


basic operations of a computer system such
as saving files in a storage device like a hard
disk or floppy disk, printing files, accepting
input from a keyboard or mouse, executing
programs, etc.

2. Application Software. Programs that are


used to accomplish specific or specialized
tasks for computer users such as creating
and editing documents (word processing),
making graphic presentations, or listening to
music.

Operating System Fundamentals


SYSTEM SOFTWARE

• System software provide basic


functionality to computers thus
making them usable.

Consider the following examples:

1. When a user types a character


in a keyboard, it is system
software that tells the
computer to accept the input
and then output that character
to the monitor.

Operating System Fundamentals


SYSTEM SOFTWARE

2. Whenever a user wants to save


a file in a hard disk, it is system
software that:

• locates free space in the


disk,

• writes the file to the disk,

• and modifies the disk


directory system to reflect
the existence of the file
that was just saved.

Operating System Fundamentals


SYSTEM SOFTWARE

3. Whenever a user
wants to print a
document, it is
system software
that sends the
document to the
printer and tells the
printer how to print
the document.

Operating System Fundamentals


SYSTEM SOFTWARE

4. When a user wants to


execute a certain
program, it is the
system software that
locates that program in
the hard disk, loads it Secondary CPU
into the computer's Memory
(Fixed Disk)
main memory, and
then execute it.

• It can therefore be said Primary or Main Memory

that system software


supports all application
programs.

Operating System Fundamentals


SYSTEM SOFTWARE

Computer User

computer user instructs


the application program
to print a document

Application
Software
(Microsoft Word)
How System
application software
makes a request to the
system software to print
Software Supports
the document
Application Software
System Software
(Operating System,
Device Drivers)

system software controls


the printer as the
document is printed

Hardware
(Computer, Printer)

Operating System Fundamentals


OPERATING SYSTEM DEFINITION

• An operating system is a
system software that allows
users or the application
programs they are using to
interact with the computer
hardware in an
easy/convenient and
efficient manner.

• The operating system must


be executed by the computer
upon power on.

Operating System Fundamentals


WHAT DOES AN OPERATING SYSTEM DO?

• Major Functions of an
Operating System:

1. It performs hardware
abstraction or resource
abstraction.

The operating system


should make the computer
easy and convenient to use
by hiding the "ugly" details
of using a computer.
Operating System Fundamentals
WHAT DOES AN OPERATING SYSTEM DO?

2. It performs resource
management or
resource allocation.

No application program
may execute unless it
has been allocated the
resources (CPU,
CPU,
memory, I/O devices)
devices it
needs and only the
operating system has
the authority to do this.

Operating System Fundamentals


WHAT DOES AN OPERATING SYSTEM DO?

3. It takes care of
program execution.

The operating
system is
responsible for
executing and
controlling programs
for computer users.

Operating System Fundamentals


THE KERNEL AND THE SHELL

• An operating system has two parts:


the kernel and the shell.

• The kernel is the heart and soul of


the operating system.

The kernel contains the major


components of the operating
system.

The kernel is the one responsible of


controlling the computer hardware
and performing many of the
services being offered by the
operating system.

Operating System Fundamentals


THE KERNEL AND THE SHELL
The hardware components of a
computer system cannot be accessed
directly by a user or an application
program.

To be able to access hardware devices,


users and application programs have to
use the services provided by the kernel
by making the appropriate requests.

These requests are called system calls.

The kernel is the part of the operating


system that is always in main memory,
always ready to act in case its services
are needed.

Operating System Fundamentals


THE KERNEL AND THE SHELL

• The shell is the


part of the
operating system Computer User

that serves as
the interface
between users
and the kernel. Shell

Kernel Operating System

It is often called
the command
interpreter.

Operating System Fundamentals


THE KERNEL AND THE SHELL

• The shell facilitates


communication
between the user
of the computer Computer User

and the kernel of user makes a request to the


the operating operating system through the shell

system.
Shell

To make use of the


services provided Kernel Operating System

by the kernel, users


would have to enter
commands via the
shell.

Operating System Fundamentals


THE KERNEL AND THE SHELL

• The shell would Computer User

then accept the


command given, shell checks
user makes a request to the
operating system through the shell

check its validity user’s request for


validity and

and correctness, correctness and


then passes it to
the kernel
Shell

and then send it


to the kernel for Kernel Operating System

execution. kernel performs


requested service

Operating System Fundamentals


THE KERNEL AND THE SHELL

• Two Types of Shells

The command-line
interface requires
users to type the
commands at a
prompt.

This implies that users


should memorize the
commands used. This type of shell is seen in the
old DOS and many Linux
systems.
Operating System Fundamentals
THE KERNEL AND THE SHELL

The more popular


operating systems now use
the graphical user
interface (GUI).

In this type of shell, users


enter commands by either
using drop-down menus or
by clicking or tapping icons
(Windows, Mac OS,
Android, IOS).

Operating System Fundamentals


MORE ON SYSTEM CALLS

• The services provided by the


kernel can be accessed by
making the appropriate
requests called system calls.

• These calls are generally


available as routines written in
C and C++ although certain
low-level tasks (for example,
tasks where hardware must be
accessed directly), may need
to be written using assembly-
language instructions.

Operating System Fundamentals


MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
1. Acquire input file name
a. Write prompt to
screen
(system call)
b. Accept input from
keyboard
(system call)

Operating System Fundamentals


MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
2. Acquire output file
name
a. Write prompt to
screen
(system call)
b. Accept input from
keyboard
(system call)
Operating System Fundamentals
MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
3. Open input file
(system call)
If file does not exist or
is access-protected:
a. display message
(system call)
b. abort program
(system call)
Operating System Fundamentals
MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
4. Create output file
(system call)
If file already exists:
a. display message
(system call)
b. abort program
(system call)

Operating System Fundamentals


MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
5. Loop
a. read from input file
(system call)
b. write to output file
(system call)
until read fails

Operating System Fundamentals


MORE ON SYSTEM CALLS

• Example: copy data from


one file into another file
5. Close input and output
files
(system call)
6. Display completion
message
(system call)
7. Terminate program
(system call)
Operating System Fundamentals
MORE ON SYSTEM CALLS

• Most programmers never see


this level of detail.

• Typically, application
developers design programs
according to an application
programming interface (API).

• The API specifies a set of


functions that are available to
an application programmer,
including the parameters that
are passed to each function
and the return values the
programmer can expect.

Operating System Fundamentals


MORE ON SYSTEM CALLS

• Two of the most common APIs available to application


programmers are the Win32 API for Windows systems, the
POSIX API for POSIX-based systems (which includes virtually
all versions of UNIX, Linux, and MAC OS X).

• Behind the scenes, the functions that make up an API


typically invoke the actual system calls on behalf of the
application programmer.

• For example, the Win32 function CreateProcess() (for


creating processes) actually calls the NTCreateProcess()
system call in the Windows Kernel.

Operating System Fundamentals


OPERATING SYSTEM SERVICES
• Key services provided by the
operating system to users and
application programs:

1. Program Execution. It is Secondary CPU


responsible for locating a Memory
(Fixed Disk)
program in secondary
storage, loading it into the
computer's main memory,
and then executing it.
Primary or Main Memory

It also controls the And if there are several


execution of programs to programs running
prevent any unauthorized simultaneously, the OS takes
and improper access to I/O care of scheduling the use of
devices or memory the CPU among these
locations. programs.
Operating System Fundamentals
OPERATING SYSTEM SERVICES

2. Access to I/O Devices. It is


responsible for providing
users and programs access
to I/O devices by
performing input and
output operations.

Example of such operations


are printing documents,
getting data from the
keyboard or mouse, etc. for
them.

Operating System Fundamentals


OPERATING SYSTEM SERVICES

3. File System Management. It is


responsible for providing
controlled access to files stored
in secondary storage.

It will perform all operations on


files (file creation and deletion,
editing, archiving, renaming,
changing file attributes, etc.) for
users and programs.

In a system with multiple users,


the operating system provides
protection against unauthorized
file access.

Operating System Fundamentals


OPERATING SYSTEM SERVICES

4. System Access. In a computer


system with multiple users,
the operating system will
prevent any unauthorized
access to the system by
implementing a log-in
mechanism.

The operating system may give


limited access or deny access
completely to invalid users.

Operating System Fundamentals


OPERATING SYSTEM SERVICES

5. Error Handling. It must be able to detect the


presence of any errors within the computer
system and take the appropriate actions to
resolve them.

Errors may be hardware-oriented (a memory


chip failing, a keyboard malfunctioning, a
printer running out of paper, etc.).

Or it may be software-oriented (an instruction


causing an arithmetic overflow or a divide-by-
zero error, a program accessing a memory
location assigned to another program, a
program entering into an infinite loop, etc.).

Operating System Fundamentals


OPERATING SYSTEM SERVICES

6. Communication. A computer may be running


several programs simultaneously and these
programs may need to communicate with one
another by sharing data.

Processes that communicate with one


another are often called cooperating
processes.

For example, a computer may be running


Chrome to download a PDF file while at the
same time running Acrobat Reader to display
the file.

It is the operating system's job to facilitate the


communication among these processes.

Operating System Fundamentals


CORE COMPONENTS OF AN OPERATING SYSTEM

• Core components of an operating


system:

1. Process Manager. This


component is also called the
Process Scheduler or CPU
Scheduler.

Since there may be more


programs running than there
are CPUs, the Process
Manager must determine
which among the programs
gets to execute first and for
how long.

Operating System Fundamentals


CORE COMPONENTS OF AN OPERATING SYSTEM

2. Memory Manager. The memory


manager is responsible for making sure
that programs are given sufficient
memory space to execute effectively.

It must know which areas in memory are


being used by running programs and
which areas are available for allocation to
other programs.

It must also provide protection to make


sure that a process does not access the
memory space of other processes
without authorization.

Operating System Fundamentals


CORE COMPONENTS OF AN OPERATING SYSTEM

3. File Manager. The file manager


organizes the files stored in
secondary storage and presents an
interface to the users so they can
conveniently access these files.

It provides functions for creating,


deleting, modifying, copying,
moving, archiving, renaming, and
viewing files and directories or
folders.

It also ensures that all files have


adequate protection from
unauthorized access.

Operating System Fundamentals


CORE COMPONENTS OF AN OPERATING SYSTEM

4. I/O Manager. This component is


also known as the Device Manager.
It manages the different I/O devices
of the entire computer system.

The I/O manager takes care of


granting user requests to use I/O
devices.

It also takes care of resolving


conflicts wherein two or more
programs are trying to access the
same device at the same time.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Serial Processing (1st Generation)

• During the late 1940s and


early 1950s, computers were
massive, expensive, slow, and
very primitive. These
mainframe computers have
the following characteristics:

1. There were no operating


systems, so these
computers were "bare"
machines. Computer
users have to
communicate directly with
the hardware.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

2. These computers can only


be used by one person at
a time. Each programmer
is usually allocated a
specific schedule to use
the machine.

So programs or computer
jobs have to be processed
one after another, in a
series or in a sequence.
This is called serial
processing.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

3. There were no keyboards so


user commands are entered
by using toggle switches.
Computers only understand
binary (0s and 1s) so
commands were given by
turning on or off certain
switches.

There were no display


monitors so the computers
communicated with the user
in binary through display
lights. Users would then have
to manually decode the
meaning of the output.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

4. Programs were written


in machine language
and were entered into
the computer by using
punched cards.

Punched cards were


made of thin cardboard
and information is
encoded into them by
punching little square
holes in predefined
positions.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

For example:

int x;

i = 01101001
n = 01101110
t = 01110100
space = 00100000
x = 01111000
; = 00111011

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

These holes
represent
characters or
numbers and
were punched
by using a
keypunch.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Usually, one card is


needed to store a
line of instruction.

So it is not
uncommon to see a
programmer carrying
his program in a box
of about two
thousand punched
cards (for one
program or source
file).

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

A punched card reader


(connected to the
computer) reads the
program encoded in
the punched cards,
convert it to electronic
form (0s and 1s), and
load it into the
computer's main
memory.

The program is now


ready to be compiled.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

If the program had no


errors, it will be executed
and the results printed on
paper.

If there were errors during


the compilation, the
programmer would have
to go back to his office
and fix those errors.

Punched cards containing


errors would have to be
replaced.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

5. There were no fixed or


hard disks. So every
time a programmer
wants to run his
program again, he
would have to reload
his punched cards.

In fact, all other


programs (compilers,
assemblers, linkers,
loaders, etc.) are also
stored in punched
cards stored in
separate boxes.
Operating System Fundamentals
HISTORY OF OPERATING SYSTEMS

So to run a compiler, the


programmer would have to

1. borrow the box containing


the punched cards of the
compiler,

2. load them into the


computer's memory using
the punched card reader,

3. and then execute the


compiler.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• The following is the sequence of activities a programmer or computer operator


has to go through to execute a program:

1. The programmer must first load the compiler by getting the punched cards
of the compiler. The compiler can now be loaded into the computer’s main
memory by using the punched card reader.

2. The programmer must now get the punched cards of the program and load
it into the computer's main memory by using the punched card reader
again.

3. The programmer will now instruct the computer to run the compiler by
using the toggle switches. His program will now be converted into an
executable file.

4. The computer then executes the program.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• Take note that there is a significant


amount of set-up time involved,
particularly in steps where the
programmer has to put the punched cards
into the punched card reader (steps 1 and
2).

• During these times, the CPU of the


computer is idle. Therefore, serial
processing is highly inefficient.

• CPU utilization, which is the percentage


of time when the CPU is doing useful
work, is very low.

• Considering the very high cost of


computers during this period,
maximization of CPU utilization is of the
utmost importance.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Batch Processing (2nd Generation)

• One solution to the inefficient use of computers is to group similar


jobs and process them together as a batch. This is called batch
processing and it started in the mid 1950s (until the mid 1960s).

• For example, assume that several COBOL programmers want to


compile their programs on a particular day. Instead of letting
these programmers use the computer one at a time, the computer
operator may get their punched cards and compile their programs
as a group.

This means that the computer operator will load the COBOL
compiler only once and then compile all the programs. Therefore,
set-up time was reduced thereby increasing CPU utilization.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• To implement batch
processing, the computer
operator would gather
the punched card decks
from the users and stack
them one on top of one
another and put them in
the punched card reader.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• Each deck was


separated from one
another by special
punched cards called
control cards.

• These control cards


gave information or
instructions to the
computer how the
job following it is to
be carried out.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• To help the computer interpret the instructions contained in the


control cards, a new system program was developed. The
monitor is a system software whose main function is to carry out
the instructions in the control cards.

• It ensures that the transition from one job to next is performed


automatically (automatic job sequencing).

• Since there is no human intervention, then there is no idle time


between jobs in a batch thus increasing further the utilization of
the computer.

• The monitor is considered by many as the first primitive operating


system. Like modern operating systems, the monitor is always
resident in the computer's main memory. Hence it is sometimes
referred to as the resident monitor.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Multiprogramming and
Multitasking Systems (3rd
Generation)

• Although batch processing


has improved computer
performance in terms of
utilization and efficiency, it
is still a uniprogramming
environment wherein one
job or program is executed
at any one time.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• Once a program performs


an I/O operation (such as
printing a document,
reading or saving a file from
or to a magnetic tape,
getting data from the
punched card reader, etc.),
the CPU is idle.

• The CPU has to wait until


the completion of an I/O
operation before it can
resume executing the
program.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

This problem is
compounded by the fact
that majority of I/O
devices are very slow
compared to the CPU.

So there is still a
substantial amount of
CPU idle time present
(CPU utilization goes
down again).

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• As a solution, when the program being executed


by the CPU requests for an I/O operation, the
operating system may let the CPU start executing a
second program instead of letting it be idle while
waiting for the I/O request to finish.

• If the second program performs an I/O operation,


then the operating system will schedule the CPU to
execute a third program.

• This continues until eventually the first program


finishes its I/O operation and gets the CPU back.
Operating System Fundamentals
HISTORY OF OPERATING SYSTEMS

• This is known as
multiprogramming.

Multiprogramming
can be defined as the
concurrent execution
of two or more
programs by a single
CPU.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

2
Program 1 Program 2 Program 3
When program 2
1 performs an I/O
operation, the CPU
When program 1 starts executing
performs an I/O program 3
operation, the CPU
starts executing
program 2
Program 2
performs I/O
operation
Program 1
performs I/O
operation
Program 3
performs I/O
operation

When program 3 performs an I/O operation,


the CPU may start executing another program
(if there are other programs waiting for
execution) or go back to program 1 if its I/O
operation has finished

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• Multiprogramming created The operating


new issues that operating Operating
system usually
systems and computer occupies the
System
first part of
hardware designers must main memory
resolve. User
Process 1
• In order for a CPU to do
multiprogramming, there has
to be several processes present User
Process 2
in the computer's main
memory.
User
Process 3
In other words, main memory
is now shared by a number of
processes, including the Main Memory
operating system itself.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

Time-sharing Systems (3.5rd


Generation)

• By the very early-1970s, the costs


of computer peripherals were
going down.

• This allowed companies to easily


purchase video display terminals
(monitors with keyboards) which
could be connected to
mainframes and/or
minicomputers so that several
users now can use these
computers at the same time.

• So many users are now on-line or directly connected to the computer when they
compile and execute their programs. This is called on-line processing.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• And because the users are now interacting with the computer, the
computer system must respond right away to all user requests.

• Because of multiprogramming, the CPU might be tied up in


executing a particular program thus preventing it from attending
to the needs of the users.

• Recall that in multiprogramming, once the CPU starts executing a


process, it will continue to do so until the program requests for an
I/O operation. Only at such time can the CPU execute user
commands.

• So it will appear as if the computer is too slow to take care of the


needs of the users.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• To solve this problem, operating


systems during this time were
designed to be time-sharing or
multitasking operating systems.

• Time-sharing is simply an
extension of multiprogramming.
The operating system assigns the
CPU to a user or to a process for a
certain time period, usually in the
range of a few milliseconds.

• This time period is called the time


slice or time quantum.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• When this time quantum is


consumed, the operating system
assigns the CPU to another user or
process. It keeps on repeating this
until eventually, the CPU goes back
to the first user or process.

• This time-slicing is done so fast that


each user feels as if they have their
own dedicated machine.

• However, once the number of users


increases over a certain threshold,
the entire computer system slows
down.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• In multiprogramming, the CPU will continue


executing a program until the program requests for
an I/O operation.

• In multitasking, the CPU will continue executing a


program until the program requests for an I/O
operation or when the time slice expires, whichever
comes first.

• Many of the modern operating systems such as


Windows, Linux, and MacOS are multitasking
operating systems.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS
Personal Computing (4th Generation)

• By the 1980s, personal computers are slowly


gaining popularity.

• Although these computers were very similar


to the minicomputers developed in the third
generation, personal computers cost a very
small fraction of what minicomputers cost.

• A personal computer was so affordable that it


made it possible for a single individual could
be able to own one for personal use while
minicomputers where still at such a high price
that only corporations could afford to have
them.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• One of the major factors in the creation


of personal computing was the birth of
Microsoft and the Windows operating
system.

• The windows Operating System was


created in 1985 when Paul Allen and Bill
Gates had a vision to take personal
computing to the next level.

• They introduced the MS-DOS in 1981


although it was effective it created much
difficulty for people who tried to
understand its cryptic commands.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS

• Microsoft introduced
an operating
environment named
Windows on
November 20, 1985,
as a graphical
operating system shell
for MS-DOS in
response to the
growing interest in
graphical user
interfaces (GUIs).

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS
• Windows went on to become the largest operating system
used in technology today with releases of Windows 95,
Windows XP, Windows Vista, Windows 7, Windows 8, and
Windows 10.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS
• Along with Microsoft, Apple is the other major operating system
created in the 1980's.

• Steve Jobs, co founder of Apple, created the Apple Macintosh


which was a huge success due to the fact that it was so user
friendly. Windows development throughout the later years were
influenced by the Macintosh and it created a strong competition
between the two companies.

Operating System Fundamentals


HISTORY OF OPERATING SYSTEMS
• Today all of our
electronic devices
run off of
operating systems,
from our
computers and
smartphones, to
ATM and motor
vehicles.

• And as technology
advances, so do
operating systems.
Operating System Fundamentals

You might also like