SENA – CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro ¿Que hace un Sistema Operativo? El SO “viste” a la “máquina desnuda” * * La “máquina desnuda” es el ordenador sin S.O 4º INFORMÁTICA Definición de Sistema Operativo Un SO es un programa que se instala en el ordenador, Se inicia al encenderlo y se encarga de gestionar los recursos del sistema (tanto hardware como software) y de facilitar la comunicación del usuario con la máquina. 4º INFORMÁTICA Funciones de un sistema Operativo Gestiona los recursos Presenta la interfaz de usuario Administra los archivos Administra las tareas Funciones de los Sistemas Operativos Asignación de tiempo de CPU Control de recursos Control de entrada/salida Control de los errores y protección Interfaz con el usuario Tipos de Sistemas Operativos Monotarea Multitarea Monousuario Multiusuario Monopuesto Multipuesto 4º INFORMÁTICA Según la cantidad de tareas que realiza simultáneamente Según la cantidad de usuarios que lo pueden utilizar Según la cantidad de equipos que son capaces de controlar TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO ∗ Definición y objetivos del sistema operativo ∗ Estructura, componentes y servicios de un S.O ∗ ∗ ∗ ∗ ∗ Llamadas al sistema Procesos Ficheros Intérprete de comandos Distintas estructuras de S.O 7 Definición y objetivos de un S.O Un S.O es un Conjunto de programas que se encargan de: 1. Ocultar toda la complejidad del hardware al programador ∗ Presenta un conjunto de funciones más fácil de programar que el hardware. ∗ ej: LEER BLOQUE DE FICHERO HD SO ∗ Presenta al usuario una máquina virtual 2. Administrar los recursos de la máquina Aplicación ∗ Asigna los recursos (procesadores, memorias, ∗ dispositivos de entrada/salida) de forma ordenada ∗ Lleva la cuenta de quién emplea los recursos, contabiliza su utilización y decide la concesión a diferentes programas o usuarios en caso de conflicto 8 Estructura, componentes y servicios de un sistema operativo ∗ Dividido en módulos, cada uno con una función y una interfaz concreta ∗ Los programas de usuario se comunican con el S.O y requieren sus servicios mediante llamadas al sistema 9 Llamadas al sistema ∗ A cada llamada al sistema le corresponde un procedimiento que el programa de usuario puede llamar ∗ El procedimiento se encarga de iniciar la llamada al sistema (mediante un TRAP) ∗ Son distintas en cada sistema ∗ ej: count = read (file, buffer, nbytes); 10 Procesos ∗ Un Proceso es un Programa en Ejecución, el cual comprende ∗ las siguientes operaciones: ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ Código ejecutable del programa Datos Pila del programa Contador de programa Puntero a la pila y otros registros Toda la información necesaria para ejecutar el programa Tabla de procesos Estructura en árbol de los procesos Señales uid A B D 11 E C F Archivos ∗ Para almacenar información ∗ Se agrupan en directorios ∗ Sistema de ficheros: Estructura jerarquizada / usr Pepe soft Martín editor ∗ Ruta absoluta y ruta relativa ∗ Mecanismo de protección 12 vi comp cc Archivos ∗ Ficheros especiales ∗ De bloques: para representar dispositivos de bloques ∗ De caracteres: para representar dispositivos de caracteres ∗ Descriptores de ficheros ∗ 0: entrada estándar ∗ 1: salida estándar ∗ 2: salida estándartubo de errores A ∗ Tubos (pipes) B 13 Intérprete de comandos ∗ No es parte del S.O ∗ Constituye la interfaz entre el S.O y el usuario ∗ Un shell se arranca por cada usuario que entra en el sistema ∗ Por cada orden, el shell crea un proceso hijo ∗ Redirección de E/S y pipes: ∗ date > fichero ∗ sort < f1 > f2 ∗ cat f1 f2 f3 | sort > f4 ∗ Procesos en backgroung : & 14 Componentes del Sistema Operativo ∗ Administrador de procesos ∗ Crear y eliminar procesos ∗ Suspender y reanudar la ejecución de los procesos ∗ Proporcionar mecanismos: ∗ de sincronización ∗ para la comunicación ∗ para el manejo de bloqueos ∗ Administrador de la memoria principal ∗ Controlar las zonas de memoria utilizadas y quién las utiliza ∗ Decidir qué procesos se cargarán en memoria si queda espacio disponible ∗ Asignar y recuperar espacio 15 Componentes del Sistema Operativo ∗ Administrador del sistema de E/S ∗ Manejadores para dispositivos hardware específico ∗ Presentar una interfaz general con los manejadores ∗ Administrador de archivos ∗ ∗ ∗ ∗ Gestión del espacio en disco Gestión de ficheros (crear y borrar) Gestión de directorios Correspondencia entre archivos y almacenamiento secundario 16 ∗ Gestión de copias de seguridad Componentes del Sistema Operativo ∗ Sistema de protección ∗ Controlar el acceso a los recursos ∗ Sistema de comunicación ∗ Gestionar los accesos a la red ∗ Conexión a través de la red de los distintos procesadores ∗ Acceso a los recursos compartidos 17 Servicios del Sistema Operativo ∗ Los servicios son los suministrados por los componentes anteriores 18 Distintas Estructuras de Sistemas Operativos ∗ ∗ ∗ ∗ Sistemas monolíticos Sistemas en niveles Máquinas virtuales Modelo cliente-servidor 19 Sistemas Monolíticos ∗ (1) ∗ No hay una estructura bien definida ∗ Conjunto de procedimientos ∗ Modo de funcionamiento ∗ ∗ Se dejan los parámetros de la llamada en lugares previamente definidos (ej:registros,pila) Se ejecuta la inst. TRAP (llamada al núcleo o llamada al supervisor) ∗ ∗ Cambia la máquina de modo usuario a modo privilegiado Transfiere el control al S.O ∗ (2) ∗ Programa usuario Llamada al núcleo ∗ (3) ∗ 4 1 2 3 El S.O. determina el nº del servicio requerido, examinando los parámetros El S.O. lee de la posición k un puntero al procedimiento que implementa la llamada y lo llama ∗ (4) Procedimiento de servicio ∗ Devuelve el control al programa de usuario Tabla de distribución 20 Sistemas monolíticos ∗ Arquitectura básica Procedimiento principal Procedimientos de servicio Procedimientos auxiliares ∗ Ej: MS-DOS 21 Sistemas en Niveles ∗ Jerarquía de niveles ∗ S.O. The (Dijkstra 1968) 5 El operador 4 Programas de usuario 3 Gestión de Entrada/Salida 2 Comunicación operador-procesos 1 Gestión de la memoria principal y secundaria 0 asignación del procesador y multiprogramación 22 Máquinas virtuales CMS CMS ∗ Se separan: CMS VM/370 ∗ Multiprogramación ∗ Máquina virtual hardware del 370 ∗ VM (Virtual Machine) ∗ Multiprogramación ∗ Se ejecuta directamente sobre el hardware ∗ Ofrece varias máquinas virtuales ∗ CMS (conversational Monitor System) ∗ Cada máquina virtual puede tener cualquier S.O ∗ Tiene instrucciones normales para operaciones de E/S ∗ No es sencillo de simular 23 Llamadas al sistema Instrucciones de E/S Modelo Cliente-Servidor ∗ Núcleo mínimo: ∗ Gestión de las comunicaciones entre clientes y Cliente Servidor Servidor .... Servidor servidores Núcleo ∗ Acceso directo al hardware Cliente ∗ Servidor: Cliente ∗ ∗ Servidor Servidor Cliente Núcleo que espera Núcleo peticiones Núcleo Núcleo Proceso de los clientes Red de Es sencilla la adaptación a sistemas distribuidos Comunicaciones 24 Funcionamiento del modelo C/S ∗ ∗ ∗ ∗ ∗ ∗ ∗ El proceso servidor comienza Se va a dormir en espera de una petición El proceso cliente comienza El cliente envía una petición El servidor procesa la petición El servidor se va de nuevo a dormir Ej de servicios que proporcionan los servidores: ∗ ∗ ∗ ∗ ∗ Hora del día Imprimir un fichero Leer o escribir en su sistema de ficheros Ejecutar una orden para el cliente en el sistema del servidor Dibujar algo en la pantalla servida por el servidor 25 Tipos de servidores ∗ Iterativos ∗ El servidor maneja la petición ∗ La petición del cliente puede ser atendida por el servidor en un tiempo conocido y corto ∗ Ej: Servidor de la hora ∗ Concurrentes ∗ El servidor invoca a otro proceso que da el servicio mientras el servidor duerme esperando otro cliente ∗ Arranca un nuevo proceso por cada cliente que llega ∗ No se sabe el tiempo que llevará servir la petición, ya que la cantidad de tiempo requerido, depende de la petición. 26 Tipos de Sistemas Operativos ∗ Sistema operativos por servicios Principales Sistemas Operativos para PC PC´´s Windows 3.1 Windows 95 Windows Windows 98 Ubuntu 11 Mac OS 7 Macintosh Mac OS 8 Windows XP Mac OS 9 Windows vista Mac OS X Linux Guadalinux Molinex Windows 7 Compañía Microsoft Ordenadores Compañía Apple Distribución libre Licencia GNU http://www.tecno12-18.com 4º INFORMÁTICA IES Diego Tortosa Control de la entrada/salida Interfaz de usuario ∗ Interfaz de comandos ∗ Interfaz gráfica MS DOS Procesador de comandos Interfaz de usuario Gestionar el sistema de interrupciones Tratar los errores Ejecutar los comandos internos del MS DOS Windows ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ Windows 3.1 Windows 3.11 Windows 95 y 98 Windows Millenium Windows 2000 y XP Windows Server Windows Vista Windows 7 UNIX ∗ ∗ ∗ ∗ Laboratorios Bell de A&T S. O. de propósito general Multiusuario e Interactivo Soporta multiprogramación y multiacceso LINUX ∗ Desarrollado por Linus Torvald ∗ Funciona sobre plataformas Intel o Motorola ∗ Se estructura en: ∗ Núcleo o Kernel: Interactúa directamente con el hardware y reside permanentemente en memoria. ∗ Shell: Intérprete de comandos. Interfaz entre núcleo y usuario. ∗ Utilidades o programas de usuario. Diferencias entre Windows y Linux Linux es gratuito No le afecta los Virus El operador de Linux es firefox. El de Windows es Explorer Los programas office en Linux tiene otro nombre (Open Office) Linux es mas rápido que Windows El PC se paga de distinta forma Interfax gráfica LINUX Interfaz gráfica S.O. en Dispositivos Móviles ∗ ∗ ∗ ∗ Kernel Middleware Entorno de ejecución de aplicación Interfaz de usuario S.O. en Dispositivos Móviles ∗ ∗ ∗ ∗ ∗ ∗ Symbian Windows Mobile Android IPhone OS BlackBerry OS Palm OS