You are on page 1of 10

Principios bsicos de los Sistemas Principios bsicos de los Sistemas

Operativos Operativos
sistema operativo (SO) explota los recursos de
Objetivo: administrar todos los dispositivos y hardware de uno o ms procesadores para ofrecer un
proporcionar a los programas de usuarios una conjunto de servicios a los usuarios del sistema.
interfaz sencilla. <<William Stallings, Sistemas Operativos, 2da. edicin>>

Proporcionar a los programas de usuario un


modelo de computadora mejor, ms simple y
pulcro, as como encargarse de la Elementos bsicos de los S.O.
administracin de todos los recursos Procesador

modo de kernel o modo supervisor, y est protegido de la Memoria Principal

<< Tanenbaum, Sistemas Operativos Modernos, 2da Edicin>>


Interconexin de Sistemas

Principios bsicos de los Sistemas Principios bsicos de los Sistemas


Operativos Operativos
Componentes de un Sistema Operativo

Shell

Servicios
(API)

Ncleo o
Kernel

Principios bsicos de los Sistemas Tipos de Sistemas Operativos


Operativos
Los sistemas operativos se pueden ver Sistemas operativos de mainframe

desde dos puntos de vista: Estn profundamente orientados hacia el procesamiento de


muchos trabajos a la vez, de los cuales la mayor parte
requiere muchas operaciones de E/S
El S.O administra las distintas partes del
Administradores sistema en forma eficiente. Por lo general ofrecen tres tipos de servicios:
de recursos procesamiento por lotes,
procesamiento de transacciones
y tiempo compartido.
Trabaja por unidades de procesos pequeas pero maneja
Creacin de programas, ejecucin de
SO como interfaz programas, acceso a dispositivos E/S, miles de unidades de procesos.
acceso controlado a los archivos, acceso
de usuario al sistema, deteccin y respuesta a
errores
Tipos de Sistemas Operativos Tipos de Sistemas Operativos

Sistemas operativos de servidores

Se ejecutan en servidores, estaciones de trabajo o incluso


mainframes. Sistemas operativos de multiprocesadores
Varios usuarios a la vez,
permiten compartir los recursos de hardware y de A menudo son variaciones de los sistemas operativos de
software. servidores con caractersticas especiales para la
Solaris, FreeBSD, Linux y Windows Server 200x comunicacin, conectividad y consistencia.
Muchos sistemas operativos populares (incluyendo
Windows y Linux) se ejecutan en multiprocesadores.

Tipos de Sistemas Operativos Gestin de los recursos del


Sistema
Sistemas operativos computadores personales

Todos los sistemas operativos modernos Gestin de


procesos
Gestin de
memoria
Gestin de
entrada/salida
Gestin de
redes
soportan la multiprogramacin.
Soporte para un solo usuario.
(procesamiento de texto, las hojas de Gestin de
proteccin
Gestin de
archivos
Intrprete de
rdenes
clculo y el acceso a Internet)

Gestin de los recursos del Gestin de los recursos del


Sistema Sistema
Gestin de procesos
Gestin de la memoria principal
Es la unidad de trabajo de un sistema. El sistema consiste
lo en una coleccin de procesos.
Un proceso es un programa en ejecucin, Almacn de datos de acceso rpido que son compartidos
por la CPU y disp. E/S.
Utiliza recursos de tiempo de CPU, memoria, archivos,
dispositivos E/S, datos Guarda las instrucciones para poderlas ejecutar.
En la gestin de procesos, el Sistema Operativo: En la gestin de la memoria, el Sistema Operativo:
Crear y eliminar Saber que partes de la memoria se utiliza
Suspender y reanudar Decidir que procesos cargar en la memoria
Sincronizacin, Comunicacin, y manejo de procesos Asignar y liberar espacio
Gestin de los recursos del Gestin de los recursos del
Sistema Sistema
Gestin del sistema E/S Gestin de Redes
Se trata de un conjunto muy variado y complejos de Es una coleccin de procesadores con sus propios recursos
programar. locales que se comunican con otros procesadores
En la gestin del sistema E/S, el Sistema Operativo: conectados a la red, formando un sistema distribuido.
Proporcionar una interfaz uniforme
Proporcionar manejadores para dispositivos concretos En la gestin de Redes, el Sistema Operativo:
Tratar automticamente errores tpicos Proporcionar primitivas para conectarse con equipos
Usar cachs para dispositivos de almacenamiento remotos y acceder de forma controladas a los recursos

Gestin de los recursos del Gestin de los recursos del


Sistema Sistema

Gestin de Proteccin Gestin de archivos


Es un mecanismo que controla el acceso de programas, Un archivo es un conjunto de informacin relacionada.
procesos o usuarios a los recursos definidos por un Se organizan en directorios
sistema. Guarda las instrucciones para poderlas ejecutar.
En la gestin de archivos, el Sistema Operativo:
La proteccin puede mejorar la confiabilidad mediante la Crear y elimina archivos
deteccin de errores Crear y elimina directorios
Establecer correspondencia archivo-almacenamiento
secundario
Guardar archivos en almacenamientos no voltiles

Gestin de los recursos del Aplicaciones y servicios de los


Sistema Sistemas Operativos

Gestin del Intrprete de rdenes Servicios


Es una interfaz entre el usuario y el sistema operativo Son aplicaciones cargadas por el propio
En la gestin del intrprete de ordenes, el Sistema sistema operativo, generalmente se cargan en
Operativo: segundo plano
Proporciona una interfaz de usuario bsica para: services.msc
Cargar programas
Abortar programas Estados de los servicios
Introducir datos
Trabajar con redes
Automtico: Se inician junto con el sistema
Manual: Se puede iniciar o detener los
servicios a nuestra necesidad
Deshabilitado
Aplicaciones y servicios de los Estructuras de los Sistemas
Sistemas Operativos Operativos
Servicios a los programas y a sus Sistemas Monolticos
usuarios:
n de programas. Sistemas de capas
Operaciones de E/S.
n del sistema de archivos. Microkernels
Comunicaciones: entre procesos y de red.
n de errores.
Modelo Cliente Servidor
Asegura el funcionamiento eficiente
del sistema: Maquinas Virtuales
n de recursos: varios usuarios varios trabajos.
n: usuarios usan recursos.
n: controlar accesos a los recursos. Exokernels
Seguridad: cada usuario debe identificarse.

Estructuras de los Sistemas Estructuras de los Sistemas


Operativos Operativos

Sistemas monolticos
Considerado como la organizacin mas comn.

Esta n sugiere una estructura sica


para el sistema operativo:
1. Un programa principal que invoca el procedimiento de
servicio solicitado.
2. Un conjunto de procedimientos de servicio que llevan
a cabo las llamadas al sistema.
3. Un conjunto de procedimientos utilitarios que ayudan Estructura de un sistema monoltico
a los procedimientos de servicio.

Estructuras de los Sistemas Estructuras de los Sistemas


Operativos Operativos
Sistemas de capas
Generalmente los sistemas de capas organizan
Microkernels
a los sistemas operativos como jerarquas de
capas.
Es un diseo mas modular y escalable que el Divide al sistema operativo en mdulos
sistema monoltico. pequeos y bien distribuidos con el
objetivo de brindar confiabilidad al
usuario.
Estructuras de los Sistemas Estructuras de los Sistemas
Operativos Operativos
Modelo Cliente - Servidor
Mquinas Virtuales

Similar al modelo de microkernels, con la Mediante software, se proporciona a los


diferencia que es posible diferenciar dos programas la n de un hardware que
clases de procesos: no existe.
Los servidores, cada uno de los cuales Se pueden ejecutar varias quinas virtuales
proporciona cierto servicio, al mismo tiempo.
y los clientes, que utilizan estos Los recursos reales se reparten entre las
distintas quinas virtuales.
servicios.

Estructuras de los Sistemas Estructuras de los Sistemas


Operativos Operativos

Mquinas Virtuales Exokernels

Ventajas: En lugar de clonar la quina actual,


oProteccin como se hace con las quinas virtuales,
oInvestigacin y desarrollo
otra estrategia es particionarla; en otras
oIndependencia del Hardware
oPervivencia de sistemas antiguos
palabras, a cada usuario se le proporciona
un subconjunto de los recursos.

Procesos Procesos
Creacin y terminacin de procesos Creacin y terminacin de procesos
El sistema operativo debe tener un mecanismo
para la creacin y terminacin de procesos. Eventos comunes para la creacin de procesos
Creacin de procesos En un ambiente batch, un proceso es creado en
Cuando un nuevo proceso se agrega. El sistema operativo respuesta a un pedido de ejecucin de un trabajo.
construye las estructuras de datos que son usadas para En un ambiente interactivo, un proceso es creado
administrar los procesos y le asigna espacio de cuando un nuevo usuario entra al sistema.
direcciones. Creacin de procesos hijos por parte de procesos de
usuario ya existentes. El proceso que crea se llama
Estas acciones constituyen la creacin de un nuevo proceso.
proceso padre.
Procesos Procesos
Creacin y terminacin de procesos Creacin y terminacin de procesos
Terminacin de procesos

Un proceso termina cuando ejecuta su ltima La terminacin puede producirse tambin por otras
instruccin y pide al sistema operativo que lo circunstancias:
elimine. En este momento, el proceso puede devolver
un valor de estado a su proceso padre. Dicha llamada al sistema slo puede ser invocada
El sistema operativo libera la asignacin de todos los por el padre del proceso que va a terminar.
recursos del proceso, incluyendo las memorias fsica y En caso contrario, los usuarios podran terminar
virtual, los archivos abiertos y los bferes de E\S. arbitrariamente los trabajos de otros usuarios solo si
tienen los permisos necesarios

Procesos Procesos
Creacin y terminacin de procesos Creacin y terminacin de procesos
Finalizacin normal . Instruccin privilegiada.
Limite de tiempo Uso inapropiado de
Adicionalmente, un nmero de error o una excedido. datos.
condicin de fallo puede llevar a la finalizacin Memoria no disponible. Intervencin del
de un proceso. Violaciones de frontera . operador en el sistema
Error de proteccin . operativo.
Las condiciones mas habituales son las Limite de tiempo. Terminacin del proceso
siguientes: Fallo de E/S. padre.
Instruccin no vlida. Solicitud del proceso padre.

Procesos Suspendidos Procesos Suspendidos


Debido a que el procesador es mucho mas Ampliar la memoria de forma que sea posible
albergar en ella mas procesos e incrementar asi la
rpido que los dispositivos de E/S puede posibilidad de que alguno de ellos haga uso
efectivo del procesador.
ocurrir que en un momento dado todos los procesos del
sistema se encuentran bloqueados a al espera de que
La otra solucin consiste en aplicar una tcnica
se complete alguna operacin de E/S.
conocida como INTERCAMBIO o SWAPPING: Esta
tcnica consiste en que cuando todos los procesos que
se encuentran en memoria principal estn bloqueados
Para solucionar este problema existe dos opciones: alguno es cambiado de acuerdo a un algoritmo.
Procesos Suspendidos
Estados de los Procesos
En general se considera suspendido a un proceso que presenta las
caractersticas siguientes:

Un proceso suspendido no esta El proceso fue situado en


disponible de inmediato para su estado suspendido por un
El SO gestiona los recursos disponibles
ejecucin. agente (el SO o el proceso (memoria, CPU, etc.) entre los procesos que en
padre) con el fin de impedir la
ejecucin. ese momento estn activos en el sistema, de tal
Un proceso puede estar
esperando o no un suceso. Si lo forma que, para ellos, el sistema se comporte
est la condicin de bloqueado El proceso no puede apartarse
es independiente de la del estado hasta que llegue la
como si fuera monousuario.
condicin de suspendido y el orden expresa para ello.
acontecimiento del suceso
bloqueante no lo habilita para
ejecucin.

Estados de los Procesos Estados de los Procesos


Modelo de dos estados Modelo de dos estados
Se trata de la utilizacin de dos archivos, un
objeto ejecutable y una biblioteca del sistema,
que despus se colocan en la imagen del proceso
dentro de la memoria RAM y posteriormente
tambin se dan de alta dentro de la tabla de
procesos y de la tabla de control del proceso.

Estados de los Procesos Estados de los Procesos


Modelo de tres estados Modelo de cinco estados
Estados de los Procesos Transiciones de estado de los
procesos
Modelo de cinco estados De Ejecucin a Bloqueado: Se realiza De Bloqueado a Listo: Se dispone del
esta transicin cuando queda en espera recurso por el que se haba bloqueado el
. El proceso recin fue creado y todava no es por la concesin de un recurso por la
admitido por el SO. proceso.
Nuevo determinacin de un suceso.

El proceso est listo para ser ejecutado, slo est De Nuevo a Preparado: Es cuando el
De ejecucin a Listo: Cuando el SO acepta o admite un proceso mas.
esperando que el planificador de corto plazo as lo proceso que ocupa la CPU lleva
Listo disponga.
demasiado tiempo ejecutndose ,el
sistema operativo decide que otro De Preparado a Terminado: Ocurre
Proceso que se encuentra en el control del
proceso ocupe la CPU, pasando el cuando el proceso padre decide finalizar
procesador.
Ejecucin proceso que ocupaba la CPU a estado la ejecucin del hijo.
Slo un proceso puede encontrarse en ejecucin.
listo.
El proceso no puede ser ejecutado hasta que no se De Bloqueado a Terminado: Ocurre
produzca cierto suceso, como la finalizacin de una De Listo a ejecucin: Cuando lo cundo el proceso supere el tiempo
Espera operacin de E/S solicitada por una llamada al SO. mximo de espera de un recurso y el SO
requiere el planificador de la CPU.
decida terminarlo.
El proceso fue expulsado del grupo de procesos
ejecutables, ya sea porque termin o por algn
Terminado
fallo, como un error de proteccin, aritmtico, etc.

Es un programa-interface, que se provee Arranque de los sistemas


como un elemento comunicacional entre operativos
el usuario y el SO. Arranque o activacin de los SO
Shell o interprete de comandos es un (bootstraps)
lenguaje de programacion completo. POST (Power On Self Test
La programacin de shell se usa mucho para realizar tareas Bsqueda del sector de arranque o Master
repetidas con frecuencia. Boot Record(MBR)
Shell de Unix tiene alto rendimiento en la ejecucin de Autoverificacin sonido del
scripts. computador
Scripts(guiones): son ficheros de texto ASCII que
representan una serie de ordenes y estructuras
Deber : Consultar la
traduccin de los pitidos
organizadas secuencialmente que indica el POST
Arranque de Disco (ios.sys /msdos.sys)

Programacion Shell

Arranque de los sistemas Arranque de los sistemas


operativos operativos
Software de arranque Procesos necesarios para iniciar SO
Linux Windows
Lilo Csrss.exe: Controla grficos del sistema
Grub Smss.exe: Inicia la sesin de usuario(Winlogon
Windows y Win32)
Ntldr Lsass.exe: Correcto funcionamiento de los
protocolos(Victima de Sasser)
Arranque de Disco (ios.sys /msdos.sys) Services.exe: app de servicios(empezar y parar
servicios)
Diseo de los SO Diseo de los SO
Como todo software, debe seguirse un proceso de
desarrollo (ingeniera de sw): requisitos, diseo,
construccin, pruebas, paso a explotacin, mantenimiento.
Resulta fcil especificar requisitos?

Seleccin del hardware

Un SO presenta caractersticas especiales:


Es un sistema crtico (todas las aplicaciones dependen de
l)
Normalmente hay requisitos ms estrictos de portabilidad
(respetar versiones anteriores)

pequeo cambio?
tenemos que volverlo a instalar un equipo?

Diseo de los SO Parada del SO


Tradicionalmente los SO se han escrito en lenguaje Copia a disco de la informacin necesaria mantenida en
ensamblador (por eficiencia). memoria por razones de eficiencia; si no se efecta as, el
sistema se corrompe y en para el prximo arranque debe
Actualidad: uso de lenguajes de alto nivel; UNIX, OS/2 y
Windows NT estn escritos principalmente en C.
Ventajas: Hibernacin: copia a disco de la imagen completa de
Ms legible y fcil de entender y depurar. memoria principal rearranque rpido a la misma
Ms transportable. situacin de apagado
Desventajas:
Menor velocidad. Suspensin (Standby): apagado de casi todo excepto la
Mayor necesidad de almacenamiento. memoria reanudacin instantnea

Para la compilacin de pruebas o cambios, se utilizan


emuladores.

Activacin del Sistema Operativo Activacin del Sistema Operativo


modo privilegiado
y paso al control
de kernel
Llamadas al sistema. Instruccin TRAP

Interrupciones externas: de E/S, de reloj, de otro Salva el contexto


El kernel restaura
procesador el contexto del
(estado) del
proceso
nuevo proceso
interrumpido
Excepciones h/w sncronas o asncronas

usa el planificador
para seleccionar un atiende al
nuevo proceso servicio solicitado
Servicios de Sistema Interfaz del Usuario

Ser inmediato

proceder dejando
continuar al requerir bloqueo del
proceso solicitante proceso solicitante
(asncrono) (sncrono)

Mquinas Virtuales Mquinas Virtuales- Tipos y


Caractersticas
Mquinas virtuales de sistema (hardware)(nativo-
Una mquina virtual parte de la hosted)
estructura de los SO que simulan el Mquinas virtuales de proceso(app)
hardware de un ordenador fsico y que
ejecuta programas como si fuera una
computadora real. Caractersticas
Particionamiento
Aislamiento
Hipervisor Encapsulacin
Independencia
Hardware
Utilidades de mquinas virtuales? Ejemplos

Virtualizacin- Tipos Virtualizacin- Tcnicas de


virtualizacin
Virtualizacin de hardware Emulacin
Extensiones introducidas en la arquitectura de procesador Virtualizacin nativa
para facilitar las tareas de virtualizacin al software
ejecutndose sobre el sistema
Paravirtualizacin
A nivel de SO
Virtualizacin de almacenamiento
Proceso de abstraer el almacenamiento lgico del
almacenamiento fsico, y es comnmente usado en SANs
("Storage Area Network" Red de rea de almacenamiento).

You might also like