01 Introduccion A Sistemas Operativos

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 29

INTRODUCCION A LOS

SISTEMAS OPERATIVOS
INTRODUCCION
En sentido amplio, las computadoras corren programas
que pueden ser de dos tipos:

• Programas del sistema


Se encargan de controlar las operaciones propias del
computador.

• Programas de aplicación
Resuelven problemas específicos de los usuarios.

De las aplicaciones de sistema el más importante es el


sistema operativo.
INTRODUCCION

Un sistema operativo es como un gobierno, su


función es establecer un entorno para que los
demás puedan desarrollar sus actividades.

Un SO, actúa como el administrador de los


recursos del sistema de cómputo
(tiempo de uso del microprocesador,
memoria, dispositivos de almacenamiento,
dispositivos i/o).
DEFINICIONES
• Un sistema operativo es un programa
que manipula los recursos de la
computadora los cuales pueden ser de
hardware o de software.
• Algunos tipos de sistemas operativos
se diseñan para ser eficientes otros
para ser fáciles de usar y otros tratan
de lograr ambas cosas estableciendo
un determinado compromiso..
ESTRUCTURA DE UN SISTEMA
OPERATIVO
• De acuerdo a su arquitectura un sistema
operativo puede ser

– Monolítico
– Por capas
– Cliente Servidor
– Maquina Virtual
KERNEL MONOLITICO
el sistema operativo de este
tipo no tiene una estructura
clara y bien definida. Todos
sus componentes se
encuentran integrados en un
único programa (el sistema
operativo) que ejecuta en un
único espacio de direcciones.
Este tipo de sistema se ejecuta
todas las funciones que ofrece
el sistema operativo en un
nodo núcleo

Ejemplo: MS-DOS, El Unix


original
POR CAPAS

El S.O. se construye en niveles


jerárquicos, cada
uno de los cuales aprovecha los
servicios del nivel
inferior.

Diseño más modular y escalable


que el monolítico.
CLIENTE SERVIDOR
• Esta es la tendencia en
cuanto a arquitectura de los
S.O. hoy en día.
• Consiste en reducir al
mínimo el kernel, al igual
que en el caso de los
microkernels, pero en este
caso la única función del
kernel es de servir de puente
entre procesos: cuando una
función necesita de otra es
el kernel el que se encarga
de mantener la
comunicación entre ellas,
pero nada más.
MAQUINA VIRTUAL
La idea: mediante software, se
proporciona a los programas la
emulación de un sistema que nos
interesa reproducir.

El sistema emulado puede ser una


máquina, un sistema operativo, una red
de computadores.

El software emulador traduce las


peticiones hechas a la máquina virtual
en operaciones sobre la máquina real.

Se pueden ejecutar varias máquinas


virtuales al mismo tiempo (ej. mediante
tiempo compartido).

Los recursos reales se reparten entre


las distintas máquinas virtuales.

Ejemplo: la máquina virtual de java,


Vmware.
EVOLUCION DE LOS SISTEMAS
OPERATIVOS
• Generación Cero (década de 1940):
– Carencia total de S. O.
– Completo acceso al lenguaje de máquina.

Primera generación (1945-1955): bulbos y


conexiones:

• Carencia de S. O.
• En los años cincuenta comienzan como
transición entre trabajos, haciendo la misma
más simple
EVOLUCION DE LOS SISTEMAS
OPERATIVOS
• Segunda generación (1955-1965):
Transistores y sistemas de procesamiento por lotes
(batch):

– En los años sesenta aparecen los S. O. para sistemas


compartidos con:
• Multiprogramación: varios programas de usuarios se
encuentran al mismo tiempo en el almacenamiento principal,
cambiando el procesador rápidamente de un trabajo a otro.
• Multiprocesamiento: varios procesadores se utilizan en un
mismo sistema para incrementar el poder de procesamiento.

– Posteriormente aparece la independencia de dispositivo:


• El programa del usuario especifica las características de los
dispositivos que requieren los archivos.
• El S. O. asigna los dispositivos correspondientes según los
requerimientos y las disponibilidades.
EVOLUCION DE LOS SISTEMAS
OPERATIVOS
• Tercera generación (1965-1980): circuitos integrados
y multiprogramación:

– Época de los sistemas de propósito general que se


caracterizan por los sistemas operativos multinodo
de operación capaces de operar en lotes, en
multiprogramación, en tiempo real, en tiempo
compartido y en modo multiprocesador.
EVOLUCION DE LOS SISTEMAS
OPERATIVOS
• Cuarta generación (1980-1990): computadoras personales:
• La cuarta generación se caracteriza por una evolución de los sistemas
operativos de propósito general de la tercera generación, recurriendo
a su especialización, simplificación y a dar más importancia a la
productividad de usuario que al rendimiento de la maquina.
ALGORITMOS Y TÉCNICAS PARA
ADMINISTRAR RECURSOS
• Los procesos están en constante competencia
por acceder a los recursos y para poder acceder
a ellos forman colas.

• Las reglas por la cual una cola es manejada


pueden variar dependiendo de cual es la más
conveniente en que casos.

• Por ejemplo tenemos el algoritmo First Come


First Served; otro podría ser Shor Job first,
Round Robin, colas con prioridad, etc.
ALGORITMOS DE PLANIFICACION
Algoritmos sin prioridad

• FIRST COME FIRST SERVED (FCFS)


Non preemptive

• SHORTEST JOB FIRST (SJF)


Hay dos esquemas preemptive y Non preemptive.

Algoritmos con prioridad

• ROUND ROBIN
• MULTILEVEL QUEUE
• MULTILEVEL FEEDBACK-QUEUE

Los algoritmos de planificación son útiles según el ambiente donde son


aplicados (Sistemas por lotes, sistemas interactivos, sistemas de tiempo
real).
CPU BURST AND I/0 BURST
• Un proceso reparte su tiempo entre ciclos sucesivos de uso del
microprocesador y de acceso a dispositivos de entrada y salida.

CPU i/0 CPU i/0 CPU i/0 CPU


burst burst burst burst burst burst burst

Mientras el proceso accede a un dispositivo de entrada y salida (I/O)


no puede usar el cpu hasta terminar la operación de entrada y salida.
Recién en ese instante volverá a pasar al estado ready y será elegible
para usar el microprocesador.

Los procesos que hace mucho uso del cpu se denominan cpu-bound.

Los procesos que hace mucho uso de los dispositivos de entrada y


salida se denominan I/O bound.
FCFS (FIRST COME FIRST SERVED)
• El primero en llegar, es el primero en ser atendido.

• La implementación es fácil a través de una cola FIFO (First in first out – Primero
en llegar, primero en salir).

• Es adecuado para sistemas por lotes (batch).

• El tiempo de espera (waiting time) promedio por lo general es alto.

• Tiempo de espera: P1 = 0; P2 = 24; P3 = 27


• Tiempo de espera promedio: (0 + 24 + 27) / 3 = 17
SJF (SHORTEST JOB FIRST)
• El proceso más corto primero.

• Cuando el procesador queda disponible se le asigna el proceso


que tenga el menor CPU-burst.

• Si dos procesos tiene el mismo tiempo de CPU-burst se


desempata por FCFS.

• Su funcionamiento depende de conocer los tiempos de


ejecución, que en la mayoría de los casos no se conoce, en
cuyo caso se realiza una predicción.

• Es adecuado para sistemas por lotes (batch).

• Es ideal para el planificador a largo plazo (plp)


SJF (SHORTEST JOB FIRST)
NO PREEMPTIVE
una vez que se le asigna el
procesador a un proceso,
no se le podrá quitar.

0+(8-2)+(7-4)+(12-5)/3
0+ 6 +3+7/3
=4

Tiempo de espera promedio: (0 + 6 + 3 + 7) / 4 = 4


SJF (SHORTEST JOB FIRST)
PREEMPTIVE
• Si un nuevo proceso aparece en la
lista de procesos listos con menor CPU-
burst, se le quita la CPU para asignarla
al nuevo proceso.

• A esta versión de SJF se le conoce


también como SRT (Short time
remaining first – Tiempo restante más
corto primero).

Tiempo de espera promedio: (9 + 1 + 0 +2) / 4 = 3


ROUND ROBIN (RR)
A cada proceso se le brinda un intervalo de tiempo para el uso
del procesador (time quantum). Al finalizar el tiempo, el procesador le
es expropiado y vuelve al estado pronto (ready) al final de la cola.

Es fácil de implementar ya que solamente es necesario una cola


de procesos listos. Cuando un proceso consume su quantum es
puesto al final de la cola.

El quantum debe ser bastante mayor a lo que lleva realizar un cambio


de contexto (context switch), sino se tendrá mucho overhead. A su
vez, el tiempo de quantum incide en los tiempos de retorno.

Es ideal para sistemas de tiempo compartido.


ROUND ROBIN (RR)
Por lo general, tiene un mayor tiempo de
retorno (turnaround) que el SJF, pero
mejora el tiempo de respuesta (response
time).

P4

quantum = 20

Tiempo de espera promedio: (0 + 20 + 37 + 57 + 57 + 40 + 40 + 24 + 17 + 0) / 4 = 73


MULTIPROGRAMACION
• Se denomina multiprogramación a la técnica que permite que dos o más
procesos ocupen la misma unidad de memoria principal y que sean
ejecutados al "mismo tiempo" (pseudo-paralelismo. En una única CPU sólo
puede haber un proceso a la vez) en la unidad central de proceso o CPU.

• El procesador trabaja a una gran velocidad y por eso tenemos la sensacion


de que los procesos se están ejecutando simultáneamente.

Aporta las siguientes ventajas:

• Varios procesos en ejecución.

• Permite el servicio interactivo simultáneo a varios usuarios de manera


eficiente.
• Aprovecha los tiempos que los procesos pasan esperando a que se
completen sus operaciones de E/S
• Aumenta el uso de la CPU.
TIEMPO COMPARTIDO (TIME
SHARED)
• En estos sistemas, cada cierto tiempo el sistema
operativo tiene que parar el proceso en
ejecución y arrancar otro, de forma que cada
proceso tenga asignado el procesador durante
un intervalo de tiempo prefijado.

• En esta situación, el proceso que se ha detenido


temporalmente se dice que se ha suspendido y
será arrancado posteriormente en el mismo
estado en el que se suspendió.
SISTEMAS OPERATIVOS EN
TIEMPO REAL
• Tiempo Real es cualquier sistema en el que el instante en el
que se produce la salida es significativo. Esto suele deberse a
que la entrada se corresponde a algún movimiento en el
mundo físico y la salida tiene que estar relacionada con ese
mismo movimiento. Para una puntualidad aceptable el lapso
entre la entrada y la salida debe ser lo suficientemente
pequeño.

Un sistema de tiempo real es un sistema informático


que interacciona repetidamente con su entorno físico
responde dentro de un plazo de tiempo determinado a
los estímulos que recibe del entorno
SISTEMAS OPERATIVOS
MONOUSUARIOS
• Los sistemas operativos monousuarios son aquéllos que
soportan a un usuario a la vez, sin importar el número de
procesadores que tenga la computadora o el número de
procesos o tareas que el usuario pueda ejecutar en un mismo
instante de tiempo.

Las computadoras personales típicamente se han clasificado


en este renglón.

• En otras palabras los sistemas monousuarios son aquellos que


nada más puede atender a un solo usuario, gracias a las
limitaciones creadas por el hardware, los programas o el tipo
de aplicación que se este ejecutando

Ejemplo: Windows 98
SISTEMAS OPERATIVOS
DISTRIBUIDOS
• Sistema Distribuido: colección de componentes hardware y/o
software
situados en ordenadores autónomos unidos por una red se
coordinan sólo mediante el paso de mensajes.
• • El Software de Sistema Distribuido permite a los
ordenadores:
– coordinar sus actividades
– compartir los recursos del sistema
• • Transparencia uniprocesador virtual.

• Los sistemas distribuidos deben de ser muy confiables, ya que


si un componente del sistema se compone otro componente
debe de ser capaz de reemplazarlo. Entre los diferentes
Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba,
Taos, etc.
EL SISTEMA OPERATIVO
ABIERTO
• Son aquellos sistemas que son
susceptibles de portabilidad e
interoperabilidad (distintos software
pueden operar de manera
simultánea), y que utilizan estándares
abiertos. Por otra parte, se hace
referencia a los sistemas que
permiten el acceso libre y sin
restricciones por parte de personas u
otros sistemas.
THANKS

También podría gustarte