Download Unit I Introduction

Document related concepts

Smallfoot wikipedia , lookup

Linux adoption wikipedia , lookup

Library (computing) wikipedia , lookup

Burroughs MCP wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

OS-tan wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

RSTS/E wikipedia , lookup

Copland (operating system) wikipedia , lookup

Mobile operating system wikipedia , lookup

OS/2 wikipedia , lookup

Windows NT startup process wikipedia , lookup

DNIX wikipedia , lookup

CP/M wikipedia , lookup

Spring (operating system) wikipedia , lookup

VS/9 wikipedia , lookup

Distributed operating system wikipedia , lookup

Windows NT 3.1 wikipedia , lookup

Process management (computing) wikipedia , lookup

Unix security wikipedia , lookup

Security-focused operating system wikipedia , lookup

Transcript
Introduction to Operating
Systems
M.C. Juan Carlos Olivares Rojas
Operating Systems
[email protected]
February, 2009
Outline
• Operating Systems History
• Basic Concept about OS
• OS Architecture
–
–
–
–
Monolitic
By Layers
Microkernel
Others
• OS Virtualization
• OS Installation (Solaris, Windows 7, Linux,
FreeBSD, MacOSX).
Operating System Description
What’s an Operating System?
• It’s a software which control a computer, It
acts like a Human-Machine Interface. It
manages all the resources (hardware and
software) of a Computer System.
• What’s a System?
• It’s a set of elements which are interrelated
for achiving a common objective.
Introduction
Operating Systems
• The objective of an Operating System is the
operation of a Computer.
• It’s the computer principal software which
execute when the computer is turned on.
• Does a calculator
System? Why?
have
an
Operating
Introduction
Bank
Systems
Reservation
Web Browser
Compilers
Editors
Command
Interpreter
Application programs
System programs
OPERATING SYSTEM
Machine Language
Microprogramming
Physical Devices
Hardware
Operating Systems
• The Operating System development is
influented by technological development. The
Operating System premisses (objective
function) are:
• Minimize the effort (human-machine frontier).
• Maximize
the
computer
resources
performance
Operating Systems
• The principal resources managed by an
Operating System are:
• Process, Tasks, Applications (Process
Management)
• Devices, Peripherals (I/O Management)
• Memory (Memory Management)
• Data (File System)
Operating Systems
Operating Systems
• The esential part of an Operating System is
the Kernel.
• An Operating System is executed in
supervisor mode of the microprocessor (it can
access all microprocessor functions).
• The programs are executed in user mode.
Operating Systems
• The Operating Systems actions depends of
the applications that run on it.
• It’s no the same resource administration for a
monouser system than multiuser system, or
process administration in a multitask system
than time-sharing system.
• Operating Systems are totally dependent of
computer architectures.
Operating Systems
• This is the reason why Operating Systems
such as Windows can not be executed over
Power PC Architectures, because it´s linked
an x86 Intel Architecture.
• Recently 64 bits microprocessor are
becoming popular, for this reason is necesary
and special operating Systems for the correct
resources utilization.
Operating Systems
• Actually
Operating
System
supports
multitasking and concurrence in native form
on multiprocessor or multicore processors.
• For the good use of resources, Operating
Systems need to use politics and control
mechanism. An Operating System has to
plan, control, drive and execute all the system
operations.
Operating Systems
• The programs can access directly to some
function in superivor mode throught a System
Call.
• An operating System has an interface to
users and other interface to programms
(programmers).
• In UNIX this distnction doesn’t exist.
Operating Systems
• As well hardware and software are not
mutually exclussive (they are a binom).
Operating System are in the middle of this
resources.
• Actually the trend is construct operating
Systems for Emedded Devices such as: ATM,
watchs, PDAs, cell phones, electrodoméstics,
etc.
Operating Systems
• Another Operating Systems
growing are Real-Time OS.
which
are
• Examples of Operating Systems are: DOS,
Windows, Unix, Linux, Mac OS X, among
others.
Operating Systems History
• Quiz1
• What was the firt OS for 32 Bits PCs?
• When was Linux OS appear?
• What was the first important OS constructed
enterily in high level programming language?
• What is the most recent Linux Version?
Operating System History
• In the begining Turing created the machine…
• The Operating System History comes hand in
hand with hardware and software evolution.
• The computer paradigms have changed with
the pass of the times, for instance de
1950‐1970 decade the concept of “one
computer many users” appears.
Operating Systems History
• In1980‐1990 decade the computer paradigm
shifted to “one computer one user”.
• Finally in this decade, the paradigm shift to
“one user many computers”.
Operating Systems
• In the Generation 0 (1940’s) and First
Generation (1950’s) the Operating System
doesn’t exist, reason why users have to
configure the circuits for operating the
machine.
• The second generation (1960’s) appears the
first OS which principal fuction was to act like
a extended machine.
Operating System History
• All the OS was constructed in assembler
language, reason why it was totally
dependant of the machine.
• The OS only can manipulate some
peripherals. The batch processing was used
to improve the resources use.
• In Third Generation (1970’s) OS was more
complex because they used concepts such
as multiprogramming and time-sharing.
Operating Systems
• Unix was the first OS constructed in a HighLevel Language (C Languaje) with only the
critical part (I/O) in assembler.
• In the Fourth Generation (1980’s) appears the
first extremely-used OS in PCs: DOS and
Windows. Reason why OS was more
complex and more easy to use.
Operating System History
• Since 1990 the computer network utilization
(overall Internet) and multimedia in OS was
extended in such way than today are present
in any OS.
• Activity: in personal Way write a essay with
the
three
most
important
Linux
commandments, describe why this three point
are important for you
Introduction
55
IOCS
IBSYS
60
CTSS
65 DOS/360
OS/360
70
75
MULTICS
CP/CM5
DOS/VDSE MVS/370
RT-11
SYSTEM III
VS
MVS/XA
VM/XA SYSTEM V
90
SYSTEM V.4
VS/ESA MVS/ES
95
UNIXV.7
VM/370
80
85
VM/ESA
LINUX AIX/ESA
SOLARIS 2
CP/M
VMS 1.0
4.1BSD XENIX
MS-DOS 1.0
SUN OS
4.2BSD
AIX POSIX
MACH
OSF/1
4.3BSD
AIX/370
00
03
RSX-11M
UNIX
TSO
4.4BSD
OS/2
WIN 3.0
VMS 5.4
DR/DOS
WIN 3.1
WIN NT WIN 9X
VMS 7.3 WIN 2000
LINUX 2.6
SOLARIS 10
WIN XP
WIN Server 2003
Windows and Linux Evolution
1970
1980
1990
2000
1970
1980
1990
2000
Operating System Basic Concepts
ACTIVITY:
• The principal aspects of an Operating
Systems are: process, file, shell and system
calls.
• In pairs, explain with practical exercises how
we can note this concept in a OS.
• Develops a Rubric with your own metrics (5
or more) and evaluate the follow OS: Linux,
Windows 6.0, Solaris 10, Mac OS X 10.5
OS Basic Concepts
• Process is a program in execution.
• File: basic
information
unit
of
persistent
storage
• Shell: a part in an OS which functions like an
interface (front end) between programms and
user with OS (back end). This term generally
is focused in Command Line Interfaces (CLI).
OS Basic Concepts
• System Call: is the way in how programs can
acess to supervisor mode instructions of
microprocessor throught kernel.
• It’s important don’t confuse the call system
and command terms; for instance, kill is a
command (calling by usuers) which let to
send signals to process; and kill() is system
call (calling by a programm) which do the
same.
OS Structure
• Operating Systems have evolutioned in its
internal form trying to achive its performance.
• All OS have a process which fuction is load
the OS and the Applications, this process is
called Loader. For instance, Linux have
loader like LILO (Linux LOader) and Grub.
• The loader use a boostrap to expand the OS.
OS Structure
• All OS have a core process called Kernel, it
has the basic routines of an OS.
• Some OS use the microkernel concept, this
have the function to coordinate to the other
parts of an OS such as : I/O Devices,
Process, Memory and File Systems.
• The structure of and OS could be different but
in most of the time are very similar because
some OS use Open Standards.
OS Architecture
• The first structure for an OS was Monolithic
Structure. This doesn´t have any real
structure, this is the reason why OS is only
one big process called Kernel.
• Other well-know structure for OS is clientserver model in where OS have server
process management each one of system
resources and kernel functions in base a one
client making request to servers.
Monolithic Architecture
App
App
User Mode
Kernel Mode
System Services
OS Procedures
Hardware
OS Architecture
• This Client-Server function has to let OS
portability to another architectures such as
distrubted architectures, where each service
could be localizate in diferent remote
machines.
• Other Architecture was Ring Architecture,
where OS is structured in concentric circles
called Rings. Each Ring has a well-defined
structure.
OS Architecture
• The most used Architecture in OS is Layer
Architecture, where Layers are divided in
diferente levels like Ring Architectures. Inside
each layer can exist two o more levels.
Layers can interact with higher an lower
levels thus in the same level.
Layer Architecture OS
Application
Program
Application
Program
Application
Program
User Mode
Kernel Mode
System Service
File System
I/O and Memory Management System
Process Management
Hardware
Microkernel Architecture
Client
Application
Memory
Server
Process
Server
Network
Server
File
Server
Display
Server
User Mode
Kernel Mode
Request
Microkernel
Response
Hardware
Windows NT High-Level Architecture
Environment Subsystems
Services and
System Process
User’s Application
POSIX
DLL Subsystem
OS/2
Windows
Windows
User
Mode
Kernel
Mode
Executive
Device Handler
Kernel
Hardware Abstraction Layer (HAL)
Windows
User/GDI
Device
Driver
Windows NT Architecture
Procesos del Sistema
Services
Subsystem
Control
Management
Service
LSASS
Windows
SvcHost.Exe
Task Manager
WinMgt.Exe
WinLogon
User
Mode
Envinroments
Applications
Explorer
SpoolSv.Exe
OS/2
User Applications
Services.Exe
Session Handler
POSIX
DLLs Subsystem
Windows DLLs
NTDLL.DLL
System Thread
Kernel
Mode
System Dispatch System
(Kernel Mode Interfaceel)
Kernel
Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones,
intervalos de temporizadores,
DMA, control
de memoria cache , etc.)
Hardware Abstraction
Layer (HAL)
Local Process
Call
Configuration
Manager (Registry)
Process and
Threads
Virtua
Memory
Security
Reference
Monitor
Energy
Manager
Plug and Play
Manager
File System
Cache
File System
and Device
Drivers
Object Handler
I/O Manager
Windows
USER,
GDI
Grpahical
Manager
Windows NT Architecture
• Kernel and Executive
ntoskrnl.exe program
are
located
at
• Inside Executive are located File, Memory and
Process Manager.
• Device Handler are located in files with *.sys
management.
Windows NT Architecture
• Wndows Handler is located windowsk.sys file
• HAL is located at hal.dll
• Most of Windows Code is writed in C, some of
this component are developed at C++. One of
the trends is writing legacy modules in C++
• Operating System such Windows Vista has
more than 20 millions of line of codes.
Windows NT Architecture
Core OS components:
NTOSKRNL.EXE
HAL.DLL
Executive and kernel
Hardware abstraction layer
NTDLL.DLL
Internal Support Systems
Fundamentales System Process:
SMSS.EXE
Service Management Process
WINLOGON.EXE
System Authentication Process
SERVICES.EXE
Control Services Process
LSASS.EXE
Local Security Authority Subsystem
Windows Subsystem:
CSRSS.EXE*
Windows Process Subsystem
WIN32K.SYS
USER and GDI Components
KERNEL32/USER32/GDI32.DLL Windows subsystem DLLs
WoW64
• Win32 over Win64 is the Windows Subsytem
which Execute Win32 applications in 64-bits
environments in transparent mode.
• Other diferences implie in the word length of
data and addressing memory of an OS.
• HOMEWORK: Writing a Research Document
where compares Windows NT Architecture with
Linux 2.6.
WoW64
32-bit EXE, DLLs
32-bit ntdll.dll
Wow64cpu.dll
Wow64.dll
Wow64win.dll
64-bit ntdll.dll
Modo Usuario
Ejecutivo
Win32k.sys
Modo Kernel
Homework
• Show High-Level
Explain it (40%)
Linux
Architecture
and
• Show the diferences beetwen each module
and explain how it works. Detail all the modules
which only exist in Linux or Windows (60%).
• Section not present (-10%). Without References
0 is the grade.
OS Virtualization
• Virtualization isn’t a new concept. I was
originated in 1970s by IBM in its OS VM/360.
• The “virtual” term means “a thing with simulated
existence Abstraction.
• Every Problem in Computing Science can be
solved by adding an indirection layer.
OS Virtualization
• In Computing a lot of things are virtual:
•
•
•
•
•
•
•
•
Virtual Reality
VLAN (Virtual LAN)
VNC (Virtual NetworkComputing)
VPN (Virtual PrivateNetwork)
Virtual Memory
Virtual Storage
JVM (Java Virtual Machine)
….
OS Virtualization
• Actual Problems in OS:
–
–
–
–
Security (viruses)
Legacy Software
Performance
Incompatibility between applications in diferent OS
• All these problems can be solved through
Virtualization.
• Virtualization is another OS Architecture using
and special core element called Exokernel.
OS Virtualization
• Aproximately only 10% of time a computer is
working.
• “Virtualization = Freedom. One server can be
the work of many”
• Around 20% (in 2006 10%) of server are
virtualized.
OS Virtualization
OS Virtualization
• Some virtualization tools are:
• Bochs and QEMU (emulation)
• VMWARE, Virtual PC, Virtual Box, Parallels
Workstation (Completed Virtualization)
• Xen
andUser-ModeLinux
(UML)
paravirtualization
• Linux V-Server and OpenVZvirtualización (OS
Virtualized)
OS Virtualization
OS Virtualization
OS Virtualization
Homework
• Installing the OS in a Virtual Machine.
• Show the installation process
Questions?