Download teoria de sistemas operativos - Docencia FCA-UNAM
Document related concepts
Transcript
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