Top Banner
Introduction to Operating Systems M.C. Juan Carlos Olivares Rojas Operating Systems [email protected] February, 2009
55

Introduction to Operating Systems

Jan 21, 2016

Download

Documents

evita

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Operating Systems

Introduction to Operating Systems

M.C. Juan Carlos Olivares Rojas

Operating [email protected]

February, 2009

Page 2: Introduction to Operating Systems

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).

Page 3: Introduction to Operating Systems

Operating System DescriptionWhat’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.

Page 4: Introduction to Operating Systems

Introduction

Page 5: Introduction to Operating Systems

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 have an Operating System? Why?

Page 6: Introduction to Operating Systems

Introduction

Physical Devices

Microprogramming

Machine Language

OPERATING SYSTEM

Compilers EditorsCommand Interpreter

Bank Systems

Reservation Web Browser Application programs

Hardware

System programs

Page 7: Introduction to Operating Systems

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

Page 8: Introduction to Operating Systems

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)

Page 9: Introduction to Operating Systems

Operating Systems

Page 10: Introduction to 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.

Page 11: Introduction to Operating Systems

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.

Page 12: Introduction to Operating Systems

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.

Page 13: Introduction to Operating Systems

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.

Page 14: Introduction to Operating Systems

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.

Page 15: Introduction to Operating Systems

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.

Page 16: Introduction to Operating Systems

Operating Systems• Another Operating Systems which are

growing are Real-Time OS.

• Examples of Operating Systems are: DOS, Windows, Unix, Linux, Mac OS X, among others.

Page 17: Introduction to Operating Systems

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?

Page 18: Introduction to Operating Systems

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.

Page 19: Introduction to Operating Systems

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”.

Page 20: Introduction to Operating Systems

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.

Page 21: Introduction to Operating Systems

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.

Page 22: Introduction to Operating Systems

Operating Systems• Unix was the first OS constructed in a High-

Level 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.

Page 23: Introduction to Operating Systems

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

Page 24: Introduction to Operating Systems

Introduction

55

60

65

70

75

80

85

90

95

00

03

IOCS

DOS/360

DOS/VDSE

VS

VS/ESA

OS/360

MVS/370

MVS/XA

MVS/ES

TSO

IBSYS

CTSS

CP/CM5

VM/370

VM/XA

VM/ESA

SYSTEM III

SYSTEM V

SYSTEM V.4

MULTICS

UNIX

UNIXV.7

AIX/370

AIXSUN OS

POSIX

SOLARIS 2

4.1BSD

4.2BSD

4.3BSD

4.4BSD

MACH

OSF/1

AIX/ESA

XENIX MS-DOS 1.0

CP/M

DR/DOS

OS/2WIN 3.0

WIN NT

WIN 2000

WIN 9X

WIN XP

LINUX

RSX-11M

VMS 1.0

VMS 5.4

VMS 7.3

WIN 3.1

SOLARIS 10

RT-11

LINUX 2.6

WIN Server 2003

Page 25: Introduction to Operating Systems

Windows and Linux Evolution

1970 1980 1990 2000

VMS

v1.0

Win

dows NT

3.1

NT

4.0

Win

dows 20

00

Win

dows XP

Serv

er 2

003

1970 1980 1990 2000

Nac

imie

nto

de U

NIX

UNIX

púb

lico

UNIX

V6

Linu

x v1

.0v2

.0

v2.2

v2.3

v2.4

v2.6

Page 26: Introduction to Operating Systems

Operating System Basic ConceptsACTIVITY:• 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

Page 27: Introduction to Operating Systems

OS Basic Concepts• Process is a program in execution.

• File: basic unit of persistent storage information

• 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).

Page 28: Introduction to Operating Systems

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.

Page 29: Introduction to Operating Systems

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.

Page 30: Introduction to Operating Systems

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.

Page 31: Introduction to Operating Systems

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 client-server 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.

Page 32: Introduction to Operating Systems

Monolithic Architecture

App App

System Services

Hardware

OS Procedures

User Mode

Kernel Mode

Page 33: Introduction to Operating Systems

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.

Page 34: Introduction to Operating Systems

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.

Page 35: Introduction to Operating Systems

Layer Architecture OS

Application Program

ApplicationProgram

ApplicationProgram

System Service

File System

I/O and Memory Management System

Process Management

Hardware

User Mode

Kernel Mode

Page 36: Introduction to Operating Systems

Microkernel Architecture

MemoryServer

ClientApplication

NetworkServer

ProcessServer

FileServer

DisplayServer

Microkernel

Hardware

Request

Response

User Mode

Kernel Mode

Page 37: Introduction to Operating Systems

Windows NT High-Level Architecture

OS/2Windows

POSIX

Environment Subsystems

User’s Application

DLL Subsystem

WindowsUser/GDI

DeviceDriver

Executive

Device Handler Kernel

Hardware Abstraction Layer (HAL)

UserMode

KernelMode

Services and System Process

Windows

Page 38: Introduction to Operating Systems

Windows NT Architecture

Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones, intervalos de temporizadores, DMA, control de memoria cache , etc.)

System Dispatch System

Task Manager

Explorer

SvcHost.Exe

WinMgt.Exe

SpoolSv.Exe

Control Management

Service

LSASS

Ob

ject Han

dler

WindowsUSER,

GDI

File S

ystemC

ache

I/O Manager

Envinroments

Subsystem

User Applications

DLLs Subsystem

Procesos del Sistema Services Applications

System Thread

UserMode

KernelMode

NTDLL.DLL

File Systemand Device

Drivers

WinLogon

Session HandlerServices.Exe POSIX

Windows DLLs

Plu

g an

d P

layM

anag

er

En

ergy

Man

ager

Secu

rity R

eference

Mo

nito

r

Virtu

aM

emo

ry

Pro

cess and

T

hread

s

Lo

cal Pro

cess C

all Grpahical Manager

Kernel

Hardware Abstraction Layer (HAL)

(Kernel Mode Interfaceel)

Co

nfig

uratio

nM

anag

er (Reg

istry)OS/2

Windows

Page 39: Introduction to Operating Systems

Windows NT Architecture• Kernel and Executive are located at

ntoskrnl.exe program

• Inside Executive are located File, Memory and Process Manager.

• Device Handler are located in files with *.sys management.

Page 40: Introduction to Operating Systems

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.

Page 41: Introduction to Operating Systems

41

Windows NT ArchitectureCore OS components:

NTOSKRNL.EXE Executive and kernel

HAL.DLL 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

Page 42: Introduction to Operating Systems

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.

Page 43: Introduction to Operating Systems

WoW64

64-bit ntdll.dll64-bit ntdll.dll

Wow64.dllWow64.dll Wow64win.dllWow64win.dll

Wow64cpu.dllWow64cpu.dll

Win32k.sysWin32k.sysEjecutivoEjecutivo

Modo KernelModo Kernel

Modo UsuarioModo Usuario

32-bit ntdll.dll32-bit ntdll.dll

32-bit EXE, DLLs32-bit EXE, DLLs

Page 44: Introduction to Operating Systems

Homework• Show High-Level Linux Architecture and

Explain it (40%)

• 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.

Page 45: Introduction to Operating Systems

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.

Page 46: Introduction to Operating Systems

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)• ….

Page 47: Introduction to Operating Systems

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.

Page 48: Introduction to Operating Systems

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.

Page 49: Introduction to Operating Systems

OS Virtualization

Page 50: Introduction to Operating Systems

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)

Page 51: Introduction to Operating Systems

OS Virtualization

Page 52: Introduction to Operating Systems

OS Virtualization

Page 53: Introduction to Operating Systems

OS Virtualization

Page 54: Introduction to Operating Systems

Homework• Installing the OS in a Virtual Machine.

• Show the installation process

Page 55: Introduction to Operating Systems

Questions?