Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
OPERATIVOS
Esp. EDWIN CHRISTIAN REVELO B.
Universidad de Nariño
INTRODUCCION
• El software se puede dividir en dos clases: SO y
aplicativos
• Es el encargado de la administración de los recursos
físicos y lógicos de la PC,
• El sistema moderno consta de uno o varios procesadores,
terminales, memoria central, relojes, dispositivos de I/O,
siendo este transparente para el programador todas estas
actividades de administración.
Sistema Reservacione Juegos
Bancario s en línea
aerolíneas Programas de Aplicación
Lenguaje de máquina
Microprogramación
Hardware
Dispositivos físicos
Concepto de Sistema
operativo
Un sistema operativo es un conjunto de programas integrados
que tienen como objetivo aprovechar el hardware de una
computadora y utilizarlo en forma segura y eficiente. Para
lograrlo, se pueden resumir las siguientes funciones básicas:
SISTEMAS MONOLITICOS
• Se escribe como una colección de procedimientos que
pueden comunicarse entre ellos cuantas veces quieran y en
el momento que quieran.
• Modo supervisor – modo núcleo
Máquinas Virtuales
Las máquinas virtuales de sistema, también llamadas
máquinas virtuales de hardware, permiten a la máquina
física subyacente multiplicarse entre varias máquinas
virtuales, cada una ejecutando su propio sistema operativo.
A la capa de software que permite la virtualización se la
llama monitor de máquina virtual o "hypervisor". Un
monitor de máquina virtual puede ejecutarse o bien
directamente sobre el hardware o bien sobre un sistema
operativo ("host operating system").
CLIENTE - SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación
distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores, y
los demandantes, llamados clientes. Un cliente realiza
peticiones a otro programa, el servidor, que le da respuesta.
Esta idea también se puede aplicar a programas que se
ejecutan sobre una sola computadora, aunque es más
ventajosa en un sistema operativo multiusuario distribuido a
través de una red de computadoras.
PROCESOS
Es un programa en estado de ejecución, en la actualidad
los computadores modernos hacen varias cosas al mismo
tiempo, a la vez que ejecutan programas de usuarios ej:
pueden leer un disco, efectuar procesos de una Terminal
o imprimir un documento.
La CPU ejecuta en cierto instante un solo programa y
durante un segundo puede trabajar con varios de ellos lo
que da una apariencia de paralelismo. Y es solo el SO el
encargado de determinar cual de ellos se ejecuta
¿Que es un Proceso?
El primer modelo es el secuencial consiste en tener en
forma de lista los procesos incluyendo contadores,
registros y variables del programa.
El segundo modelo es el conceptual observándose en
forma abstracta los procesos y en donde c/u de ellos pose
su propio flujo de control.
Modelo de Procesos
CUATRO CONTADORES DE
UN CONTADOR DE PROGRAMA ALTERNANDOR PROGRAMA
DE PROCESOS
B
A B C D
D
El programa es una serie de pasos consecutivos para lograr
un objetivo.
El proceso es la forma como va a llegar a cumplir el
programa
Ej: una persona desea hacer un pastel para ello necesita una
lista de ingredientes, la receta (programa) proceso (forma
como lee los datos y efectúa el proceso de mescla)
JERARQUIAS DE LOS
PROCESOS
• EJECUCION – Cuando el proceso utiliza la CPU en un
instante dado
• LISTO – El proceso se ejecuta o simplemente entra en
un estado temporal o espera para que otro proceso pueda
ejecutarlo
• BLOQUEADO – Es el proceso donde no se puede
ejecutar ningún proceso debido a la ocurrencia de algún
evento externo.
BLOQUEADO LISTO
4
1.) El proceso se bloquea en
espera de datos
2.) El planificador elige otro
proceso
3.) El planificador elige este
proceso
4.) Los datos estan disponibles
IMPLANTACION DE UN
PROCESO Registros
P. Couter
Apuntador
Estado Pro.
Hora Inicio
TABLA DE LOS PROCESOS
Tiempo
utilizado
CPU
Hora sig.
Alarma
Banderas
• Entre ellos necesitan comunicarse, por lo general en
forma secuencial, hasta finalizar la tabla de procesos, sin
utilizar interrupciones.
• Condición Mutua: Memoria compartida - Spooling trabaja
con un Demonio.
COMUNICACIÓN DE LOS
PROCESOS
PLANIFICACION DE LOS
PROCESOS
Cuando mas de un proceso es ejecutable, el SO debe decidir
cual de ellos debe ejecutarse en primer termino –
Planificador y el algoritmo que utiliza se llama algoritmo de
planificación.
1. EQUIDAD
2. EFICACIA
3. TIEMPO DE RESPUESTA
4. TIEMPO DE REGRESO
5. RENDIMIENDO
Planificación Round
Robin
• Quantum
B F D G A
F D G A B
Planificación por
prioridad
• Docentes
• Ejercito
Colas Múltiples
Prioridad 4
Prioridad 3
Prioridad 2
Prioridad 1
Prímero el trabajo más
corto
8 4 4 4 4
B F D G A
4 4 4 4 8
F D G A B
• Si los filósofos toman todos el tenedor mano izq, en
forma simultanea ocurriría un bloqueo
• El programa verificara si el tenedor der. Esta disponible,
sino el filosofo deja el izq. Espera cierto tiempo y vuelve
a repetir todo el proceso (inanición)
• Asignar un quantum
• Semáforo binario, generar un arreglo de tres estados
comiendo, pensando, hambriento y comen cuando dos
vecinos no están comiendo
PROBLEMA DE LOS
FILOSOFOS