Download - Historia so
SISTEMAS OPERATIVOS
Es un programa que actúa como intermediario entre el usuario y el hardware. Es el único programa del que no se puede prescindirGestiona periféricos, ficheros y usuariosA) Nivel bajo o núcleo del SOB) Nivel alto, de utilidades y herramientas
Sistema operativo
• Gestión versátil de los periféricos
• Procesamiento por lotes
MS-DOS
• Presentación de la información en forma de ventanas
WINDOWS• Pensados para
operar en forma multiusuario y multitareas, con gran cantidad de herramientas y utilidades
OTROS (UNIX, Linux, OS/2,
etc.)
Tipos de Sistema Operativo
Clasificación y estructura
Existen diversas clasificaciones desde distintos puntos de vista para los sistemas operativos.
Clasificaciónde los
SistemasOperativos
Por el númerode usuarios
MonousuariosMultiusuarios
Por el númerode tareas
MonotareasMultitareas
Por el númerode procesadores
UniprocesoMultiproceso Simétricos
Asimétricos
Por el propósitoEspecíficoGeneral
Por el tipo dediseño
Monolíticos
Abiertos
ModularesPor capasMicronúcleoMáquinas virtuales
Por el tipo dedesarrollo Cerrado
Ciclo Escolar 2013-2014B
Generación 0 40's
El usuario debía codificar su
programa en código máquina,
introducirlo mediante tarjetas
perforadas y recibir la salida de forma
impresa.
No existían los sistemas
operativos.
El procesamiento se dice que se realiza en serie por que
refleja el hecho de que los usuarios
tenían que acceder en serie al
computador.
ENIACEDVAC
Ciclo Escolar 2013-2014BEl software principal del S.O. se denominaba monitor, y era el que
controlaba la secuencia de sucesos.
Disponían de un conjunto de rutinas de E/S.
Procesamiento por lotes: agrupar los
trabajos en lotes, para que se ejecutaran de
forma continua para no perder tiempo en la
transición
Permitían la recuperación del sistema si un trabajo
acababa en error.
1ª. Generació
n.50's
$END
$RUN
$LOAD
$FTN
$JOB
Paquete de ta
rjetas
para un siste
ma
sencil
lo de por lotes
Programaa compilar
Datos
del
prog
ram
a
La multiprogramación se impuso en sistemas de lotes como una forma de aprovechar el tiempo empleado en las operaciones de E/S.
Se construyen los primeros multiprocesadores. Se introduce el concepto de independencia de
dispositivos. Comienzan los sistemas de tiempo compartido. Aparecen los primeros sistemas de tiempo real.
Ejecutar EjecutarEsperar E/S
Tiempo
MonoprogramaciónSolo un programa
en ejecución a la vez
EjecutarA
EjecutarA
Tiempo
EjecutarB
EjecutarB
MultiprogramaciónMás de un programaen ejecución a la vez
Esperar E/S
Esperar E/S Esperar E/S
Ciclo Escolar 2013-2014B
2ª. Generación.
Es la época de los sistemas de propósito general y se caracterizan por ser sistemas multimodo, capaces de operar: Por lotes Multiprogramación En tiempo real En tiempo compartido En modo multiprocesador
Estos S.O. interpusieron entre el usuario el hardware una gruesa capa de software y ya no había que preocuparse por la circuitería.
Los inconvenientes fueron: Un complejo lenguaje de control Consumían muchos recursos.
Aparece sistemas de gran difusión principalmente el UNIX. Este sistema fue el primero en codificarse en un lenguaje de alto nivel, el C.
Ciclo Escolar 2013-2014B
3ª. Generación.
Cuarta generación 1980 hasta la actualidad
Los S.O. tienden a dar más importancia a la productividad del usuario que al rendimiento de la máquina.
Se hace masivo el uso de la PC y aparecen los sistemas “amistosos” (se añade un gestor de ventanas).
Adquieren también más importancia las redes de computadoras y surge el proceso distribuido.
Surgen interfaces de programación estándar POSIX Win32 Proceso distribuido. Se difunde el concepto de máquina virtual
Ciclo Escolar 2013-2014B
Sistema operativo (Unix/Linux)
Estructura general de un sistema Unix/Linux
HardwareHardwareHardware
Núcleo
Interfaz de Llamadas al Sistema
ShellComandos y
Librerías
Programas deAplicación
Componentesdel compilador
Compilador
Ciclo Escolar 2013-2014B
Sistema operativo (Unix/Linux)
Dia
gra
ma d
e b
loq
ues
del núcl
eo U
nix
/Lin
ux
A
dap
tado d
e U
nix
. Pro
gra
maci
ón
avanza
da
Hardware
Control del hardware
Controladores de dispositivos
Caracter Bloque
Buffer cache
Subsistema deArchivos
Sistemade control
de procesos
Comunicaciónentre procesos
Planificador
Gestor de memoria
Interfaz de llamadas al sistema
Librerías
Programas de usuario
Nivel Hardware
Nivel Kernel
Nivel Usuario
Ciclo Escolar 2013-2014B
Subsistema de archivos Controla los recursos del sistema de archivos, tiene funciones
como: Reservar espacio para los archivos. Administrar el espacio libre Controlar el acceso a los archivos Permitir el intercambio de datos entre los archivos y el usuario.
Los procesos interaccionan con el subsistema de archivos a través de unas llamadas específicas (open, read, write, status, etc).
Se comunica con los dispositivos de almacenamiento secundarios a través de los controladores de dispositivos. Se consideran dos tipos según el acceso: bloques y caracteres. Un mismo dispositivo puede ser manejado en modo bloque o en modo carácter, depende del controlador que se este usando.
Subsistema de control de procesos Es el responsable de la planificación de los procesos, su
sincronización, comunicación entre los mismos y del control de la memoria principal.
Ciclo Escolar 2013-2014B
Sistema operativo (Unix/Linux)
Casos de estudio (Unix/Linux) … (5)
El módulo de gestión de memoria Se encarga de controlar qué procesos están cargados en la
memoria principal en cada instante. Cuando no hay memoria suficiente se recurre al swaping
(intercambio). El planificador
Se encarga de gestionar el tiempo del CPU que tiene asignado cada proceso.
Entra en ejecución cada cuanto de tiempo y decide si el proceso actual tiene derecho a seguir ejecutándose o a de conmutarse de contexto.
La comunicación entre procesos Puede realizarse de forma asíncrona (señales) o síncrona (colas de
mensajes, semáforos). El módulo de control de hardware
Es la parte del kernel encargada del manejo de las interrupciones y de la comunicación con la máquina.
Ciclo Escolar 2013-2014B
Sistema operativo(Windows)
Arquitectura simplificada de Windows (NT)
ModoKernel
ModoUsuario
Capa de Abstracción de Hardware (HAL)
KernelControladores de
Dispositivos
EjecutorSistema deVentanasy Gráficos
Procesos deSoporte del
Sistema
Subsistema de DLL’s
Procesosde
Servicio
Aplicacionesde
Usuario
Subsistemasde
Ambiente
Ciclo Escolar 2013-2014B
Modo Kernel Capa de Abstracción de Hardware (HAL)
(1) Separa al kernel, los controladores de dispositivos y al administrador del hardware, y (2) Oculta las diferencias específicas de hardware, (tarjetas madre x86, MIPS, PowerPC, y otras).
Kernel Se encarga entre otras cosas de: (1) Las funciones del S. O. a bajo
nivel, (2) Sincronización de múltiples microprocesadores, y (3) Administración de hilos.
Controladores de dispositivos Traducen las llamadas de Entrada/Salida provocadas por el usuario en
la información específica que los dispositivos de Entrada/Salida requieren.
Ejecutor Son los servicios del sistema operativo de base, se encarga, entre otras
cosas de: (1) El manejo de memoria, (2) Manejo de procesos e hilos, (3) Seguridad, (4) Entrada/Salida, (5) Comunicación entre procesos.
Sistema de ventanas y Gráficos. Funciones de la Interfaz Gráfica de Usuario (GUI), Ventanas, Controles
para la GUI y trazado.
Ciclo Escolar 2013-2014B
Sistema operativo(Windows)
(Windows)
Modo Usuario Procesos de soporte del sistema
Entre otras cosas, tiene las tareas de: (1) Acceso al sistema (nombre de usuario y contraseña) y (2) Administrar la sesión.
Procesos de servicio Son servicios anfitriones de Windows, como: (1) El
planificador de tareas, (2) Servicios de Spooler (ej. Impresión). Y muchas otras aplicaciones servidor de Windows.
Subsistema de DLL’s (Librerías de Enlace Dinámico) Traduce de una función documentada a una llamada
interna del sistema Windows apropiada (no documentada).
Subsistemas de Ambiente Maneja los procesos del cliente en su mundo.
Windows API (originalmente de 32 bits, ahora de 64 bits) POSIX (escasos servicios Unix)
Ciclo Escolar 2013-2014B
MS-DOS, Windows 95, 98 y ME (16 bits) sobre Windows XP (32 bits). Windows corre una Máquina DOS
Virtual NT (NTVDM.EXE), la cual es una imagen Windows de 16 bits montada sobre el Subsistema de DLL’s. En realidad CMD.EXE es una aplicación de consola de Windows.
Para aplicaciones de 16 bits NTVDM carga “WOW”, un traductor de API de 16 a 32 bits.
ModoKernel
ModoUsuario
Capa de Abstracción de Hardware (HAL)
KernelControladores de
Dispositivos
Administrador Sistema deVentanasy Gráficos
Procesos deSoporte del
Sistema
Subsistema de DLL’s
Procesosde
Servicio
Aplicacionesde
Usuario
Subsistemasde
Ambiente
Aplicación MS-DOSAplicación de 16 bitsEmulación MS-DOS
Memoria Extendida de MS-DOS
Emulación de MS-DOS a 32 bits
Controladores de dispositivosVirtuales (COM, LPT, Teclado)
Subsistema de DLL’s
0 K
640 K
1 MB
16 MB
16 bits
32 bits
7FFFFFFF
Ciclo Escolar 2013-2014B
Sistema operativo(Windows)
Casos de estudio (Windows) …(5)
hardware interfaces (buses, I/O devices, interrupts, interval timers, DMA, memory cache control, etc., etc.)
System Service Dispatcher
Task Manager
Explorer
SvcHost.Exe
WinMgt.Exe
SpoolSv.Exe
ServiceControl Mgr.
LSASS
Ob
jectM
gr.
WindowsUSER,
GDI
File
System
Cach
e
I/O Mgr
UserApplication
Subsystem DLLs
System Processes Services Applications
Original copyright by Microsoft Corporation. CRK.
UserMode
KernelMode
Device &File Sys.Drivers
WinLogon
Session ManagerServices.Exe POSIX
Windows DLLs
Plu
g an
dP
lay Mg
r.
Po
wer
Mg
r.
Secu
rityR
eference
Mo
nito
r
Virtu
alM
emo
ry
Pro
cesses&
Th
reads
Lo
calP
roced
ure
Call
GraphicsDrivers
Kernel
Hardware Abstraction Layer (HAL)
(kernel mode callable interfaces)
Co
nfig
ura-
tion
Mg
r(reg
istry)
OS/2
Windows
SystemThreads
NTDLL.DLL
Ciclo Escolar 2013-2014B
Casos de estudio (Linux/Windows)
Al final del día, en la práctica, ambos se pueden clasificar como monolíticos: Todo el núcleo del sistema operativo y sus servicios se ejecutan
en un espacio de direcciones compartido y en modo kernel. El núcleo y los servicios forman parte de un módulo
En Linux: vmlinuz En Windwos: ntoskrnl.exe
La interfaz gráfica de usuario se maneja diferente En Windows es un subsistema del kernel En Linux se maneja en modo usuario
Device Drivers
Process Management,
Memory Management, I/O Management, etc.
Win32Windowing
Application
System Services
User ModeKernel Mode
Hardware Dependent Code
Windows
Device Drivers
Process Management,
Memory Management, I/O Management, etc.
X-Windows
Application
System Services
User ModeKernel Mode
Hardware Dependent Code
Linux
Ciclo Escolar 2013-2014B
Casos de estudio (Linux/Windows)
También es modular por: Opciones en tiempo de compilación La mayoría de los componentes del
kernel pueden ser construidos para cargarse de forma dinámica (DLKMs)
DLKMs Se pueden construir de forma
separada del núcleo principal. Se cargan en el kernel en tiempo de
ejecución y sobre demanda. Los módulos del kernel pueden ser
actualizados. Se pueden configurar kernels
mínimos.
Portabilidad La codificación se realiza
principalmente en C y es libre. Arquitecturas:
Alpha, ARM, ARM26, CRIS, H8300, x86, IA-64, M68000, MIPS, PA-RISC, PowerPC, S/390, SuperH, SPARC, VAX, v850, x86-64
Requiere memoria > 4MB La gran mayoría del supercómputo
usa Linux (diferentes distribuciones)
También es modular, pero en menor grado:
La inclusión de nuevos drivers extienden la funcionalidad del kernel.
Algunas versiones cuentan con herramientas para configurar kernels más a la medida.
Los drivers son cargados dinámicamente como módulos
Una cantidad significativa código se ejecuta como drivers.
Se construyen de manera independiente del kernel
Pueden ser cargados por demanda. Portabilidad
La codificación se realiza principalmente en C y no es libre
Arquitecturas x86, MIPS, PowerPC, Alpha, IA-64, x86-64
Requiere memoria > 64MB Solo un par de supercomputadoras
usan Windows (versión Server)
Linux Windows
Ciclo Escolar 2013-2014B
Sistema Operativo (Android)
Ciclo Escolar 2013-2014B
Arranque y activación
El arranque de una computadora actual tiene dos fases: La fase de arranque del hardware La fase de arranque del SO
S.O (Wnd, Linux, Mac OS X)
HDD
RAM
Test del Hardware
S.O.-Test del sistema de archivos- Creación de ED
internas- Completa carga del
SO residente- Creación de proceso login
S.O.-Test del sistema de archivos- Creación de ED
internas- Completa carga del
SO residente- Creación de proceso login
CPU
ROM
Carga en memoria delcargador del SO
Bajo el control del Inicador ROM
Carga enmemoriaComponentesdel SO
Bajo el control del Cargador del SO
Inicialización bajo el controlde la parte residente del SO
Arranque del Hardware Arranque del SO
Ciclo Escolar 2013-2014B