Sistemas Operativos II M.C. Juan Carlos Olivares Rojas
• 1.0 Repaso
Temario
• 1.1 Sistemas distribuidos. • 1.2 Concepto y características de los SOR • 1.3 Concepto y características del SOD.
Operating System Review • Operating Systems History • Basic Concept about OS • OS Architecture – Monolitic – By Layers – Microkernel – Others
• OS Virtualization • OS Installation (Solaris, Linux, FreeBSD, MacOSX).
Windows
7,
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.
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 have an Operating System? Why?
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
• Quiz 1
• 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 machine…
Turing
created
the
• 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.
Introduction 55
IOCS
IBSYS
60
CTSS
65 DOS/360
OS/360
70 75
DOS/VDSE MVS/370
VM/370
MVS/XA
VM/XA SYSTEM V
90 VS/ESA MVS/ES 95
UNIXV.7 SYSTEM III
VS
VM/ESA
SYSTEM V.4
RT-11
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
80 85
MULTICS
CP/CM5
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
ie nt o
0
NT
1
4. W 0 in do W ws in 2 d Se ow 000 rv s X er P 20 03
3.
0
1990
1990
v2 v2.2 v2.3 .4 v2 .6
v2 .0
1980 NT
s
v1 .
1980
v1 .
1970 W in do w
VM S
1970
Li nu x
de UN U NI IX X pĂş bl UN ico IX V6
Na ci m
Windows and Linux Evolution 2000
2000
OS Basic Concepts • Process is a program in execution. • File: basic unit information
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
Control Management Service LSASS
SvcHost.Exe
User Mode
Subsystem Windows
Task Manager
WinMgt.Exe
WinLogon
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 7 has more than 39 millions of line of codes.
Windows NT Architecture
Core OS components: NTOSKRNL.EXE HAL.DLL NTDLL.DLL
Executive and kernel Hardware abstraction layer Internal Support Systems
Fundamentales System Process: SMSS.EXE WINLOGON.EXE SERVICES.EXE LSASS.EXE
Windows Subsystem:
Service Management Process System Authentication Process Control Services Process Local Security Authority 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
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
Tarea
• Instalar una máquina virtual en una Laptop o Pendrive. • Traer un disco de instalación de un sistema operativo diferente al de la máquina anfitriona (por ejemplo si tengo windows traer un sistema *X). • Práctica 1: revisión de las máquinas del laboratorio, particionamiento e instalación de sistemas operativos reales.
1.1 Sistemas Distribuidos
• 1.1.1 Ventajas y desventajas contra los sistemas centralizados. • 1.1.2 Modelo cliente servidor. • 1.1.3 Características de hardware. • 1.1.4 Características de software. • 1.1.5 Direccionamiento lógico y físico.
Referencias
• Stallings. Sistemas Operativos. Ed. Megabyte. Noriega Editores. • Cualquier libro de Sistemas Operativos de Red y Distribuidos.