sistemas operativos · qué es un sistema operativo • es un programa que administra el hardware...
TRANSCRIPT
![Page 1: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/1.jpg)
Sistemas Operativos Daniel Rojas U
UTN
![Page 2: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/2.jpg)
Qué es un sistema operativo
• Es un programa que administra el hardware de una computadora.
• También sirve de base para que las aplicaciones interactúen entre el usuario y el hardware.
• Algunos sistemas operativos están diseñados para ser convenientes o eficientes. Algunos buscan alguna combinación de ambos.
![Page 3: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/3.jpg)
Sistema Operativo
![Page 4: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/4.jpg)
Vista de Usuario• La vista del usuario hacia un sistema operativo
depende de la interfaz que se use.
• La mayoría de usuarios acceden a la computadora mediante el monitor, teclado y mouse.
• En este caso el sistema operativo está diseñado para facilidad de uso y los requerimientos de un único usuario.
![Page 5: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/5.jpg)
Vista de Usuario• En otros casos el usuario se conecta a una terminal
conectada a una Mainframe.
• Múltiples usuarios acceden la Mainframe utilizando diferentes terminales.
• En estos casos el sistema operativo está diseñado para compartir recursos.
• Lo más importante es que se compartan y aprovechen los recursos.
![Page 6: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/6.jpg)
Vista del Sistema• Desde el punto de vista de la computadora el sistema
operativo es el programa más cercano al hardware.
• Se puede considerar al sistema operativo como un administrador de recursos.
• Se encarga de resolver conflictos y manejar las solicitudes de recursos.
• Estas tareas se vuelven vitales cuando se trabaja en sistemas multiusuarios.
![Page 7: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/7.jpg)
Vista del Sistema
• También se considera al sistema operativo un programa de control.
• Debido a que controla dispositivos de E/S y programas del usuario.
![Page 8: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/8.jpg)
Definiendo un sistema operativo
• Un sistema operativo cubre muchos roles y funciones.
• El sistema operativo es el encargado de hacer fácil de usar a una computadora.
• La meta fundamental de una computadora es ejecutar programas de usuarios y ayudar al usuario a resolver problemas.
![Page 9: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/9.jpg)
Definiendo un sistema operativo
• Debido a que utilizar el hardware por si solo es muy difícil, se desarrollan aplicaciones de usuarios.
• Estas aplicaciones requieren de ciertas operaciones comunes: dispositivios E/S.
• Estas operaciones comunes y el manejo de recursos se agrupan en un sistema operativo.
![Page 10: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/10.jpg)
Definiendo un sistema operativo
• Otra definición aceptada es: El programa que siempre está corriendo en una computadora.
• Normalmente está compuesto por:
• Kernel
• Programas del Sistema
![Page 11: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/11.jpg)
Organización de un sistema de Computadoras
• Un sistema computacional se puede definir como uno o más CPUS y un grupo de dispositivos conectados a través de un bús común que provee acceso a memoria compartida.
• Cada controlador se encarga de un tipo de dispositivo.
• El CPU y los controladores pueden funcionar en paralelo compitiendo por los ciclos de procesador.
![Page 12: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/12.jpg)
Organización de un sistema de Computadoras
![Page 13: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/13.jpg)
Organización de un sistema de Computadoras
• Cuando se inicia una computadora el primer programa que arranca es el bootstrap.
• Este está guardado en una memoria ROM o EEPROM.
• Inicializa todos los aspectos del sistema operativo.
• Ubica el kernel y lo carga en memoria.
![Page 14: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/14.jpg)
Organización de un sistema de Computadoras
• Una vez que el kernel está cargado y ejecutándose puede comenzar a proveer servicios a los usuarios.
• También se inician ciertos servicios de acompañamiento al kernel, conocidos como procesos del sistema.
• Una vez que el sistema se inicia completamente comienza a esperar que algo ocurra.
![Page 15: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/15.jpg)
Organización de un sistema de Computadoras
• La ocurrencia de un evento se señala con una interrupción.
• La interrupción puede venir del software o hardware.
• El hardware puede hacer una interrupción enviando una señal al CPU a través del bus del sistema.
• El software puede hacer una llamada al sistema para avisar sobre una interrupción.
![Page 16: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/16.jpg)
Organización de un sistema de Computadoras
• Cuando la CPU es interrumpida deja de hacer lo que está haciendo y pasa el control a alguna parte que maneje la interrupción.
• Posteriormente retorno a su operación normal.
![Page 17: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/17.jpg)
Estructura de almacenamiento
• El CPU puede cargar instrucciones únicamente de la memoria.
• Normalmente cargan los programas desde la RAM o ROM.
• Todos los tipos de memoria proveen arreglos de bytes.
• Cada byte posee su propia dirección.
![Page 18: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/18.jpg)
Estructura de almacenamiento
• Idealmente todos los programas deberían de estar en la memoria principal (RAM o ROM) permanentemente.
• Sin embargo no es posible por:
• El tamaño reducido de esta memoria.
• Esta memoria es volátil.
![Page 19: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/19.jpg)
Estructura de almacenamiento
• Existen otros medios de almacenamiento conocidos como medios secundarios.
• Normalmente se utilizan discos magnéticos.
![Page 20: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/20.jpg)
Estructura de almacenamiento
![Page 21: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/21.jpg)
Estructura E/S• Un sistema computacional contiene un gran
número de dispositivos de Entrada y Salida.
• Cada dispositivo debe de tener un controlador que lo administre.
• Los controladores normalmente poseen un buffer y algunos registros especiales.
• En muchos casos es necesario instalar un driver para el que periférico funcione.
![Page 22: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/22.jpg)
Estructura E/S• Para iniciar una operación de E/S, el driver carga los
registros en el controlador.
• El controlador examina estos registros y toma la decisión de que acción tomar (leer carácter del teclado).
• El controlador comienza a transferir datos del dispositivo a su buffer local.
• Una vez finalizado avisa al driver mediante una interrupción.
![Page 23: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/23.jpg)
Arquitectura de un sistema computacional
![Page 24: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/24.jpg)
Sistemas de 1 procesador
• Son sistemas que tienen un único procesador para realizar todas las tareas.
• Pueden tener algunos otros de propósito específico (disco, teclado, vídeo...) pero con funcionalidades limitadas.
![Page 25: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/25.jpg)
Sistemas Multiprocesador
• Estos sistemas tienen dos o más procesadores en constante comunicación.
• Comparten el bus, la memoria, el reloj y los periféricos.
• Inicialmente aparecieron en servidores y fueron migrando paulatinamente hacia las computadoras de escritorio.
![Page 26: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/26.jpg)
Sistemas Multiprocesador
• Tienen 3 ventajas importantes:
• Se incrementa la productividad.
• Economías de escala.
• Se aumenta la confiabilidad.
![Page 27: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/27.jpg)
Sistemas en Cluster• Son sistemas que unen varios CPUs.
• Estos sistemas se diferencian de los multiprocesadores debido a que son más de un sistema unidos.
• Normalmente estos sistemas comparten el almacenamiento y se interconectan a través de una LAN.
![Page 28: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/28.jpg)
Sistemas en Cluster
• Estos sistemas proveen alta disponibilidad.
• El sistema continúa funcionando aunque uno de sus nodos falle.
![Page 29: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/29.jpg)
Sistemas en Cluster
• Se pueden dividir en dos tipos:
• Simétricos: Todos los nodos funcionan al mismo tiempo.
• Asimétricos: Un nodo funciona mientras el otro monitorea esperando un fallo para entrar a funcionar.
![Page 30: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/30.jpg)
Sistemas en Cluster
![Page 31: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/31.jpg)
Sistemas en Cluster
![Page 32: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/32.jpg)
Estructura de un Sistema Operativo
• Uno de los aspectos más importantes de un sistema operativo es la característica de multiprograma.
• Un solo programa no puede mantener ocupado el CPU y los dispositivos totalmente.
• Multiprograma aumenta la utilización del CPU organizando los pendientes, de tal forma que siempre haya algo que ejecutar.
![Page 33: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/33.jpg)
Estructura de un Sistema Operativo
• El sistema operativo toma un trabajo y comienza a ejecutarlo.
• Puede ser que tenga que esperar por alguna subtarea, lectura E/S por ejemplo.
• En ese momento se cambia a otra tarea.
• En un sistema que no fuera multiprograma se quedaría esperando y gastando el tiempo.
![Page 34: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/34.jpg)
Estructura de un Sistema Operativo
• Un concepto importante es el tiempo compartido.
• El CPU cambia de tarea de forma periódica, debido a que el cambio es tan rápido el usuario no se da cuenta.
• Esto permite que el usuario interactúe con varios programas a la vez.
• Inclusive permite que sistemas multiusuario se manipulen de forma simultánea.
![Page 35: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/35.jpg)
Estructura de un Sistema Operativo
• Otro concepto importante es la programación de los trabajos.
• El sistema tiene que ser capaz de seleccionar cuales tareas mantener en memoria y cuales en el disco duro.
![Page 36: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/36.jpg)
Operaciones de un sistema operativo
• Los sistemas operativos se manejan a través de interrupciones.
• En caso de que no hayan tareas por ejecutar ni ningún pendiente en E/S el sistema se queda esperando.
• También pueden darse traps. Son excepciones de software cuando ocurre un error.
![Page 37: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/37.jpg)
Operaciones de un sistema operativo
• Es importante aislar los errores de los diferentes programas.
• Debido a que se comparten muchos recursos el aislamiento es muy importante.
![Page 38: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/38.jpg)
Modos de operación
• Existen dos modos de operación en un sistema operativo.
• Cuando se ejecuta código de sistema operativo o código de usuario.
• El sistema operativo provee soporte de hardware para determinar en que modo se encuentra.
![Page 39: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/39.jpg)
Modos de operación
![Page 40: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/40.jpg)
Modos de operación
• El sistema operativo requiere realizar transiciones de modo usuario a modo kernel para llevar a cabo ciertas tareas.
• El sistema inicia en modo kernel.
• Posteriormente se mueve a modo usuario para ejecutar los programas.
![Page 41: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/41.jpg)
Modos de operación
• Estos modos son importantes para proteger al kernel del usuario y viceversa.
• Existen ciertas instrucciones conocidas como instrucciones privilegiadas que solo se pueden ejecutar en modo kernel.
![Page 42: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/42.jpg)
Timer• Es importante que el sistema operativo mantenga
control sobre el procesador.
• No sería correcto que una tarea se mantuviera eternamente en el procesador.
• El timer interrumpe una tarea en un tiempo determinado.
• Puede ser periódico o variable.
![Page 43: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/43.jpg)
Manejo de Procesos
• A los programas en ejecución se les conoce como procesos.
• Un proceso necesita de ciertos recursos: CPU, Memoria, Archivos, Dispositivios E/S...
• Los procesos son parte vital de los sistemas operativos
![Page 44: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/44.jpg)
Manejo de Procesos• Programar procesos
• Crear y borrar procesos de usuario y de sistema
• Suspender y resumir procesos
• Proveer mecanismos para la sincronía de procesos
• Proveer mecanismos para la comunicación de procesos
![Page 45: Sistemas Operativos · Qué es un sistema operativo • Es un programa que administra el hardware de una computadora. • También sirve de base para que las aplicaciones interactúen](https://reader034.vdocuments.mx/reader034/viewer/2022051322/602f2974f155ae439f1e3dcf/html5/thumbnails/45.jpg)
Manejo de memoria
• El sistema operativo debe de tener en cuenta cuales partes de la memoria están siendo usadas y por quién
• Decidir cuales procesos mover a la memoria
• Administar el espacio en la memoria como sea necesario