teoria de sistemas operativos - Docencia FCA-UNAM

Download Report

Transcript teoria de sistemas operativos - Docencia FCA-UNAM

UNIVERSIDAD LATINA.
I. TEORIA DE
SISTEMAS OPERATIVOS.
Sistema Operativo.
Un sistema operativo (SO) es el programa o conjunto de
programas que efectúan la gestión de los procesos básicos
de un sistema informático, y permite la normal ejecución
del resto de las operaciones.
Sistema Operativo: Puede ser…
Monousuario
Multiusuario
Multitarea
De tiempo compartido
MultiSeat
Computación en nuve
Sistema Operativo: Su función es ….
• Controlar y coordinar el uso de hardware entre
diferentes programas de aplicación y los
diferentes usuarios
• Es realizar el interfáz
entre el Sistema - Usuario
Sistema Operativo Multiusuario.
Es un sistema operativo que permite que dos
o mas (miles) usuarios utilicen sus recursos y
programas a mismo tiempo.
Sistema Operativo Multiusuario: Algunos ejemplos …
• VMS y UNIX (sus derivados IRIX, Solaris)
• Tipo UNIX (Linux, FreeBSD, Y Mac OSX
• MicroSoft Windows: Windows 2000 y 2003 con el
servicio de Terminal Server el cual permite la ejecución
remota de diferentes sesiones de usuario.
Sistema Operativo Multiusuario: Su evolución …
• 1945- 60s .- Grandes máquinas operadas desde una consola maestra
• 50s.- Se crean los monitores (forma primitiva de los SO) programas
residentes en memoria que automatizan las tareas y colas de
trabajos para la información
• 1956.- Primer sistema operativo para computadora IBM 704
• Se crean sistemas de almacenamiento temporal de E/S
• 60S .- Surgen los sistemas operativos multiprogramados, el concepto
de multitarea, multiusuario, multiprocesadores y sistemas de tiempo
real
• 70s .- Proliferan las computadoras personales, se crea el lenguaje C
y UNIX
• 80s.- Surgen las primeras interfaces de usuario en SO como MacOS
y Windows. Teléfonos Móviles y sistemas operativos Móviles.
• 90s.- Surge el primer sistema operativo completamente libre LINUX
Funciones de un sistema operativo Multiusuario
Capacidad de
evolución
Archivo de mandatos
Obteniendo
un buen
rendimiento
y
Simplificando
su uso
Permite el dialogo del
usuario con el sistema
a la explotación de
una computadora
Operaciones sobre
archivos. Creación,
borrado, renombrado,
apertura, escritura y
lectura.
Ejecución de
Mandatos
Que ayudan a
los
usuarios
Detección y tratamiento
de errores. De E/S, de
paridad en memoria o
buses, de ejecución en
los programas
Interactivamente
Programas
Conjunto de
Niveles de
SOM
Usuarios
Programas de
usuario
Órdenes de E/S.
Operaciones de lectura,
escritura y modificación
del estado de los
periféricos.
Sistema
Operativo
Multiusuario
(SOM)
Ejecutar, parar y
abortar programas
Shell
Servicios
Ejecución de
Servicios
Núcleo
Administración
Hardware
Contabilidad de los recursos
que usan los programas.
Asignar los recursos
a los programas en ejecución.
Asegurar que unos trabajos
no interfieran con otros.
Asegurar la confidencialidad
de la información.
Sistemas Operativos Multiusuarios (SOM).
Como gestor de recursos, el Sistema Operativo administra:
•La CPU (Unidad Central de Proceso, donde está alojado el
microprocesador).
•Los dispositivos de E/S (entrada y salida)
•La memoria principal (o de acceso directo).
•Los discos (o memoria secundaria).
•Los procesos (o programas en ejecución).
y en general todos los recursos del sistema
Procesos en un sistema operativo Multiusuario.
Un proceso es un programa en ejecución que necesita
recursos para realizar su tarea: tiempo de CPU, memoria,
archivos y dispositivos de E/S. El SO es el responsable de:
•Crear y destruir los procesos.
•Parar y reanudar los procesos.
•Ofrecer mecanismos para que se comuniquen y sincronicen
Procesos de un sistema operativo.
Registros
Contador
de
programa
conteniendo
Variables
Es un algoritmo que define claramente
el comportamiento de los procesos,
con sus estados, colas de espera y
pautas de Intercalado pudiendo usar
prioridades para la asignación de
recursos
de 2 estados
de 5 estados
de 7 estados
de n estados
el sistema
operativo
en
ejecución
gestionada por
Unidad de
procesamiento
de proceso (único)
Modelos
de
Procesos
Programa
un
Subsistema
del núcleo
del proceso padre
del usuario
Identificadores
de Procesos
Procesos
Relación
entre los
procesos
Despachador
Sus
creados
(hijos)
Jerarquía
Función
Creando
grupos
(árboles)
Basados en
Colas
y
Lista de
Procesos
su creador
(padre)
Esperando
un recurso
Prioridades
Recorrer la cola
de procesos y
Planificar la ejecución
de uno de ellos
Importancia
asignada a
un proceso
Se usa para
Seleccionar
su asignación
de recursos
Administración de Memoria en SOM.
La Memoria es una gran tabla de palabras o bytes que se
referencian cada una mediante una dirección única. Este
almacén de datos de rápido accesos es compartido por la
CPU y los dispositivos de E/S, es volátil y pierde su
contenido en los fallos del sistema.
El SOM es el responsable de:
• Conocer qué partes de la memoria están siendo utilizadas
y por quién.
• Decidir qué procesos se cargarán en memoria cuando haya
espacio disponible.
•Asignar y reclamar espacio de memoria cuando sea
necesario.
Administración de Memoria RAM en SOM.
El sistema operativo en su parte de administración de
memoria está a cargo de la memoria principal o RAM.
Sus funciones son:
•Comprueba la validez de cada solicitud de espacio de
memoria y, si se trata de una solicitud legal, le asigna una
porción que todavía no esté en uso.
•Lleva el control de que usuario está usando qué sección de
la memoria (por medio de una tabla).
•Libera la memoria cuando llega el momento de recuperarla.
•Protege el espacio de la memoria principal que ocupa el
sistema operativo para su propio trabajo, no permite que
parte alguna de esta memoria sea alterada de manera
accidental o propositiva.
Gestión del almacenamiento secundario en SOM.
El sistema de almacenamiento secundario es necesario, ya
que la memoria principal (almacenamiento primario) es
volátil y además muy pequeña para almacenar todos los
programas y datos. También es necesario mantener los
datos que no convenga mantener en la memoria principal.
El SOM se encarga de:
•
•
•
•
Planificar los discos.
Gestionar el espacio libre.
Asignar el almacenamiento.
Verificar que los datos se guarden en orden