You are on page 1of 29

Asignación de recursos y planificación

 La mayor parte del tiempo en que un ordenador está funcionando, la demanda de


recursos es mayor que los realmente existentes. Este problema se resuelve aplicando
una política de asignación de recursos.

 El mecanismo sería sencillo si se pudiese utilizar una política del tipo: “atender primero
al que antes lo solicite”, sin embargo esto puede llevar a situaciones de deadlock
(sistema colgado o caído) cuando dos programas solicitan insistentemente recursos
asignados a otro.

 El planificador cuenta con una política que varia de un S. O. a otro. Una política muy
común consiste en el time slicing (asignación de intervalos cortos de tiempo a los
programas)
Asignación de recursos y
planificación
Fin de un intervalo de tiempo

Nuevos Programas listos Programas


programas Cola del para ejecutarse terminados
procesador Procesador

Programas Ejecución de
ejecutables Un programa

Programas bloqueados
Programas cuyas
Colas de por peticiones e/s
peticiones e/s
satisfechas Entrada/salida

Programas no ejecutables
Protección

 Actúa contra dos sucesos:


 Errores
 Abuso deliberado de los recursos del sistema
Bloqueos
Interfaz de usuario

 Interfaz de comandos
 Interfaz gráfica
MS DOS

 Desarrollado en 1979
 MS DOS, IBM, Bill Gates y Microsoft
MS DOS
Usuario

Procesador
de comandos

Sistema de
Sistema de Programas
Transferencia de Utilidades
ficheros de aplicación
caracteres

Controladores de
Bios
dispositivos

Firmware

Hardware
MS DOS

 Procesador de comandos
 Interfaz de usuario
 Gestionar el sistema de interrupciones
 Tratar los errores
 Ejecutar los comandos internos del MS DOS
MS DOS
 Gestión de almacenamiento masivo
 Gestión de ficheros del ordenador
 Sistemas de directorios

Directorio
raíz

Fichero Directorio Fichero Directorio

Directorio Fichero Fichero Fichero


Windows
 Interfaz gráfico
 Metáfora escritorio
 Menús y botones
 Teclado y ratón
 S: O. Usuario
 S. O. Servidores
 Historia
 Windows 1.0, 2.0, 3.0
 Windows 3.1
 Windows 3.11
 Windows 95 y 98
 Windows NT, 2000 y XP
 Windows CE
 Windows Pocket PC
UNIX

 Laboratorios Bell de ATT


 S. O. de propósito general
 Multiusuario e Interactivo
 Soporta multiprogramación y multiacceso
LINUX

 Desarrollado por Linus Torvald


 Funciona sobre plataformas Intel o Motorola
 Se estructura en:
 Núcleo o Kernel: Interactúa directamente con el hardware y reside
permanentemente en memoria.
 Shell: Intérprete de comandos. Interfaz entre núcleo y usuario.
 Utilidades o programas de usuario.
LINUX
Interfaz gráfica
Primera generación de computadoras
 El comienzo, 1945-55: calculadoras de sala
 Tubos de vacío, interruptores, "lucecitas"...
 Menos potentes que una calculadora de bolsillo
 Un mismo grupo diseña, construye, programa, opera y mantiene
"su” maquina.
 Programación en lenguaje maquina cableando los programas.
 Aparecen las tarjetas perforadas.
 Aplicaciones: calculo numérico sencillo, tablas de senos y
cosenos...
 Sin sistema operativo
 Sistemas monousuario/monoproceso
 Desperdicio de recursos
Segunda generación de computadoras
• TRANSISTORES Y PROCESAMIENTO POR LOTES, 1955-65:
• APARECE EL TRANSISTOR A MEDIADOS DE LOS AÑOS 55.
• COMIENZAN A COMERCIALIZARSE
• LOS ROLES (DISEÑADOR, OPERADOR, PROGRAMADOR) SE
ESPECIALIZAN
• PROCESAMIENTO POR LOTES

• Las tarjetas perforadas se vuelvan en cintas de entrada (lotes)


• Las cintas de entrada se leen y se ejecutan y el resultado se escribe
en cintas de salida
• El resultado se lee de la cinta de salida y se imprime
Segunda generación de computadoras
Segunda generación de computadoras

 Tarjetas de control ($JOB, $FORTRAN $RUN, ...)


 Un monitor dirige el proceso por lotes
 Reutilización de libreras (bloques de tarjetas)
 Formas primitivas de sistemas operativos
 Líneas de maquinas incompatibles entre s
 Problemas de escalabilidad
 Desperdicio de recursos
Tercera generación de computadoras

Multiprogramación, 1965-80
 Circuitos integrados
 Familias de maquinas (IBM Sistema/360)
 Compatibilidad binaria
 Sistemas de propósito general
 Con sistema operativo (OS/360)
Tercera generación de
computadoras
Problemas de la segunda generación
 Las aplicaciones comerciales desperdician CPU (80-90% E/S)
Multiprogramación
 Varios trabajos en memoria a la vez (particiones de memoria)
 Hardware de protección del entorno del proceso
 Planificador: decide que trabajo ejecutar Spooling (Simultaneous Peripheral
Operation On-Line)
 Los trabajos se leen de las tarjetas y se guardan en disco
 Cuando una partición queda libre, se escoge un nuevo trabajo de disco
Tercera generación de computadoras
Usuarios descontentos.
 La CPU se comparte, pero las tareas tardan demasiado en
completarse.
 Si una tarea falla, hay que esperar a que acabe el resto y
volver a empezar.
Timesharing, o tiempo compartido
 Los trabajos se asocian a un terminal
 El usuario típico demanda CPU, pero en picos".
Tercera generación de computadoras
Aparecen sistemas de tiempo compartido
 CTTS - Compatible Time-Sharing System
 Problema: hardware de protección de memoria

 MULTICS - MULTiplexed Information and Computing Service


 Ideado como " servicio" al estilo de la red eléctrica

 UNIX
 Adaptación de MULTICS para sistemas DEC PDP-7
 (minicomputadoras)
 Multiplex implementaciones incompatibles
 Surge el estándar POSIX
Cuarta generación de computadoras
Ordenadores personales (PCs), 1980 - actualidad
 LSI - Large Scale Integration
 Nace el ordenador personal => monousuario
 MS-DOS - Microsoft Disk Operating System
 MS-Windows
 UNIX evoluciona, especialmente en workstations
 BSD - Berkeley Software Distribution
 Linux
El presente - ¿quinta generación?

La red es el ordenador, 1990 - hoy


 Los ordenadores están interconectados - Internet
 Los recursos se comparten (impresoras, archivos, CPU,
...)
 Middleware
 Arquitecturas Orientadas a Servicios (SOA)
 Cloud computing
Tipo de sistemas operativos:
Sistemas Operativos por lotes
 Procesan una gran cantidad de trabajos con poca o ninguna interacción con los usuarios y los
programas en ejecución.

- Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o
más trabajos como sucede en el procesamiento en serie.

- Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos en los 50 para aumentar
la capacidad de procesamiento de los programas.

- Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque
el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la
secuencialidad de la ejecución de los trabajos. Ejemplos:

SCOPE, del DC6600, orientado a procesamiento científico pesado

EXEC II, para el UNIVAC 1107, orientado a procesamiento académico.


Tipo de sistemas operativos: Sistemas Operativos
de tiempo real
 Aquí. no tiene importancia el usuario, sino los procesos.
 Generalmente están subutilizados sus recursos con la finalidad de prestar atención a los procesos
en el momento que lo requieran.
 Se utilizan en entornos donde son procesados muchos sucesos o eventos y a los cuales de les
debe dar respuesta en plazos predefinidos.
 Son construidos para aplicaciones muy específicas como control de tráfico aéreo, bolsas de
valores, control de refinerías, etc.
Ejemplos: VxWorks, Lyns OS y Spectra.
Características:
 Objetivo es proporcionar rápidos tiempos de respuesta.
 Procesa ráfagas de miles de interrupciones por segundo sin perder eventos.
 Proceso se activa tras ocurrencia de suceso, mediante interrupción.
 Proceso de mayor prioridad expropia recursos.
 Generalmente se utiliza planificación expropiativa basada en prioridades.
 Gestión de memoria menos exigente que tiempo compartido, usualmente procesos son
residentes permanentes en memoria.
 Poco movimiento de programas entre almacenamiento secundario y memoria.
Tipo de sistemas operativos:
Sistemas Operativos de tiempo compartido
 Ofrecen la ilusión de que el sistema y sus recursos son todos para cada usuario.
 Los principales recursos del sistema: procesador, memoria, dispositivos de E/S, son continuamente
utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado
para s. Mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo,
principalmente en la administración de memoria principal y secundaria.
Ejemplos: Multics, OS/360 y DEC-10.
Características:
 Dan la ilusión de que cada usuario tiene una máquina para si.
 La mayoría utilizan algoritmo de reparto circular.
 Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después
de concedido el servicio.
 Evitan monopolización del sistema asignando tiempos de procesador (time slot).
 Gestión de memoria proporciona protección a programas residentes.
 Gestión de archivo debe proporcionar protección y control de acceso debido a que pueden existir
múltiples usuarios accediendo un mismo archivo.
Tipo de sistemas operativos:
Sistemas Operativos distribuidos
 Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores de uno o
más equipos, en todo caso debe ser trasparente para el usuario.

Dos esquemas básicos:


 Sistema fuertemente acoplado: comparte la memoria y un reloj global, cuyos tiempos de
acceso son similares para todos los procesadores.
 Sistema débilmente acoplado: los procesadores no comparten ni memoria ni reloj, ya que
cada uno cuenta con su memoria local.

Ejemplos: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos


Características:
 Colección de sistemas autónomos capaces de comunicarse y cooperar mediante
interconexiones de hardware y software .
 Proporciona abstracción de máquina virtual a los usuarios.
 El objetivo clave es la transparencia.
Tipo de sistemas operativos:
Sistemas Operativos de red

 Son aquellos sistemas que mantienen a dos o más computadoras unidas mediante
algún medio de comunicación (físico o no), con el objetivo primordial de poder
compartir los diferentes recursos y la información del sistema.
- El primer Sistema Operativo de red estaba enfocado a equipos con un procesador
Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware
Ejemplos:
Novell Netware, Personal Netware, LAN Manager, Windows 2003, 2008, 2012 Server, UNIX,
LANtastic.
Modo usuario y modo supervisor
Las CPU modernas soportan múltiples modos de operación y son
controlados por el sistema operativo:
- Modo usuario (userland)
El código que se ejecuta no tiene la habilidad de acceder al
hardware o referenciar memoria directamente.
Este código debe interactuar con una API para acceder a los
recursos. Debido a esta protección brindada por esta clase de
aislamiento, las fallas en este modo siempre son recuperables.
-Modo supervisor
Modo de ejecución que permite la ejecución de todas las
instrucciones brindadas por la
CPU, donde es posible referenciar cualquier dirección de memoria y
se tiene acceso al
hardware subyacente. Este es el modo en el cual, generalmente, se
ejecuta el sistema operativo.

You might also like