Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan...

34
Sistemas operativos UNLA

Transcript of Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan...

Page 1: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistemas operativosUNLA

Page 2: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistemas Operativos

• Es un conjunto de programas.• Estos programas trabajan juntos para

lograr ciertos objetivos.• Se encarga de gestionar recursos del

sistema:– Entrada/salida– Tratamiento de la información– Almacenamiento masivo

• Actúa de intermediario entre el hardware y los programas de aplicación.

Page 3: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Objetivos de los S. O.

• Hacer posible el uso eficiente de los recursos del sistema: – Actúa coordinando las diferentes velocidades de

funcionamiento de los dispositivos. (Ej. Mas velocidad de procesadores, mas lentitud de periféricos.

• Simplificar la operación de trabajo con el hardware:– Generan una máquina virtual: ordenador simplificado

en el que el S. O. Carga con el trabajo de acercamiento al hardware.

Page 4: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Funciones de los S. O.- Ejecución de programas: El SO debe ser capaz de cargarlos, darles el controly determinar su fin normal o anormal.- Operaciones de E/S: El programa del usuario no puede ejecutar operacionesde E/S directamente, por lo tanto el sistema operativo tiene que proveer ciertosmedios para hacerlo.- Manipulación del Sistema de Archivos: Los programas quieren leer y escribirarchivos. Esto se hace por medio del sistema de archivos.- Detección de errores: Estos pueden ocurrir en la CPU y memoria, en dispositivosde E/S, o en el programa del usuario. Por cada tipo de error, el sistema operativo tiene que tomar un tipo de acción distinto.- Administración de recursos: Cuando hay varios usuarios ejecutando al mismo tiempo, hay que darles recursos a cada uno de ellos. El SO maneja distintos tipos de recursos: CPU, memoria principal, archivos, dispositivos.- Accounting: Se quiere contabilizar qué recursos son usados por cada usuario.Estos datos, usados con fines estadísticos para configurar el sistema, pueden mejorar los servicios de computación. -Protección: Control del procesamiento referidos a la información. Cuando se ejecutan distintos trabajos simultáneamente, se asegura la no interferencia entre diferentes usuarios. -Las demandas conflictivas para determinados recursos, deben ser administradas razonablemente.

Page 5: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Tipos de S. O.• Estructura jerárquica

Page 6: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Tipos de S. O.

• Sistema operativos por servicios

Page 7: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Estructura de un S. O.

• Núcleo• Gestión de la memoria• Control de entrada/salida• Gestión de dispositivos de almacenamiento

masivo• Asignación de recursos y planificación• Protección• Interfaz de usuario

Page 8: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Estructura de un S. O.Ejemplo SO AIX de IBM

Page 9: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Núcleo (KERNEL)

• Descansa directamente sobre el hardware y proporciona una serie de servicios a las capas superiores del sistema.

• Las tareas principales son:– Manejo de interrupciones– Asignación de trabajo al procesador– Proporcionar una vía de comunicación entre

los diferentes programas

Page 10: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

• Manejo de interrupciones:– Cuando el hardware detecta una interrupción,

el control se transfiere a este módulo, – Se analiza el carácter de la interrupción y

toma las acciones apropiadas:• Transferir el control a otro módulo del S. O.• Iniciar otro programa• Continuar la ejecución del programa interrumpido

Núcleo (KERNEL)

Page 11: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

• Asignación de trabajo al procesador y comunicación entre programas– El núcleo transfiere el control al programa que el

planificador ha determinado para que sea el próximo en ejecutarse.

– La comunicación entre programas se logra manteniendo una cola de mensajes en espera para cada uno de los programas activos.

– El núcleo recibe los mensajes y los va almacenando en la cola apropiada al destino en cuestión, para distribuirlos cuando el programa destino se active.

Núcleo (KERNEL)

Page 12: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Núcleo (KERNEL)

Page 13: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Gestión de la memoria

• La memoria principal de la mayoría de los ordenadores es mucho mas pequeña de lo que sería necesario para manejar todos los programas y datos.

• El módulo de gestión de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo.

• La forma mas común de gestión de memoria es crear una memoria virtual utilizando los dispositivos de almacenamiento masivo.

Page 14: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Gestión de la memoriaConcepto de Memoria Virtual

                                                                  

    Diagrama de una memoria cache de CPU.

Page 15: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Gestión de la memoria

Page 16: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

División de la memoria entre las tareas

• Por páginas: bloques de bytes de igual tamaño para todos los procesos y tareas.

• Por segmentos: bloques de bytes con distinto tamaño según el proceso.

• Por segmentos paginados: Los segmentos de tamaño distinto se dividen a su vez en páginas de distinto tamaño.

Page 17: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Control de la entrada/salida

• Los problemas derivados de las diferentes velocidades de funcionamiento de los dispositivos son tratados por este módulo presentándolo como una cuestión independiente del dispositivo.

• P.e. En las salidas es frecuente la utilización de spoolers, los datos se almacenan temporalmente en una cola situada en un dispositivo de almacenamiento masivo hasta que el periférico requerido quede libre.

Page 18: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Gestión de entradas/salidas

Proceso Soft E/S Soft Perif Ctrl Interr Hardware

Petición E/S

Petición OK

Page 19: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Gestión de los dispositivos de almacenamiento masivo

• Los datos y programas de un dispositivo de almacenamiento masivo se mantienen en tablas.

• Supervisa la creación, actualización y eliminación de estas tablas.

• Mantiene un directorio con todos las tablas que existen en el sistema en cada momento.

• Cada tabla está dotada de un conjunto de privilegios de acceso, que indican la extensión con la que pueden compartir la información contenida en la tabla.

• El S. O. Vigila que estos privilegios no sean violados.

Page 20: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistema de archivos• Todas las aplicaciones computarizadas necesitan almacenar y recuperar la

información superando las limitaciones del almacenamiento real. • Trascendiendo a la duración de los procesos que las utilizan o generan. • Independizando a la información de los procesos permitiendo el acceso a la

misma a través de varios procesos. • Las condiciones esenciales para el almacenamiento de la información a

largo plazo son: – Debe ser posible almacenar una cantidad muy grande de información. – La información debe sobrevivir a la conclusión del proceso que la utiliza. – Debe ser posible que varios procesos tengan acceso concurrente a la

información. • La solución es el almacenamiento de la información en discos y otros

medios externos en unidades llamadas archivos: – Los archivos deben ser persistentes, es decir que no deben verse afectados

por la creación o terminación de un proceso. – Los archivos son una colección de datos con nombre. – Pueden ser manipulados como una unidad por operaciones como: open, close,

create, destroy, copy, rename, list. – Los elementos de datos individuales dentro del archivo pueden ser manipulados

por operaciones como: read, write, update, insert, delete. • El “Sistema de Archivos” es la parte del sistema de administración del

almacenamiento responsable, principalmente, de la administración de los archivos del almacenamiento secundario.

• Es la parte del S. O. responsable de permitir “compartir controladamente” la información de los archivos.

Page 21: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistema de archivos• Los usuarios deben poder crear, modificar y borrar archivos. • Se deben poder compartir los archivos de una manera cuidadosamente controlada• El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso

controlado: – Ej.: “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de Ejecución”, varias combinaciones de

estos, etc. • Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación. Los

usuarios deben poder ordenar la transferencia de información entre archivos. • Se deben proporcionar posibilidades de “respaldo” y “recuperación” para prevenirse contra:

– La pérdida accidental de información. – La destrucción maliciosa de información.

• Se debe poder referenciar a los archivos mediante “Nombres Simbólicos”, brindando “Independencia de Dispositivos”. En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades de “Cifrado” y “Descifrado”.

• El sistema de archivos debe brindar una interfase favorable al usuario: • Debe suministrar una “visión lógica” de los datos y de las funciones que serán ejecutadas, en

vez de una “visión física”. • El usuario no debe tener que preocuparse por:

– Los dispositivos particulares. – Dónde serán almacenados los datos. – El formato de los datos en los dispositivos. – Los medios físicos de la transferencia de datos hacia y desde los dispositivos.

Page 22: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistema de archivos• Un “Archivo” es un conjunto de registros relacionados• El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:

– “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.

– “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.

– “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.

– “Integridad del archivo” para garantizar la integridad de la información del archivo.

Page 23: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Sistema de archivosEl sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco. Una forma de organización de un sistema de archivos puede ser la siguiente:

Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ”. El “directorio raíz ” apunta a los “directorios de usuarios”. Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario. Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.

Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado. El nombre del sistema para un archivo dado debe ser único para el sistema de archivos. En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.

Page 24: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Asignación de recursos y planificación

• La mayor parte del tiempo en que un ordenador está funcionando, la demanda de recursos es mayor que los realmente existentes. Este problema se resuelve aplicando una política de asignación de recursos.

• El mecanismo sería sencillo si se pudiese utilizar una política del tipo: “atender primero al que antes lo solicite”, sin embargo esto puede llevar a situaciones de deadlock (sistema colgado o caido) cuando dos programas solicitan insistentemente recursos asignados a otro.

• El planificador cuenta con una política que varia de un S. O. a otro. Una política muy común consiste en el time slicing (asignación de intervalos cortos de tiempo a los programas)

Page 25: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Asignación de recursos y planificación

Cola del procesador Procesador

Colas deEntrada/salida

Nuevosprogramas

Fin de un intervalo de tiempo

Programasterminados

Programasejecutables

Ejecución deUn programa

Programas listospara ejecutarse

Programas no ejecutables

Programas bloqueadospor peticiones e/s

Programas cuyaspeticiones e/ssatisfechas

Page 26: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Spooling

Page 27: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Protección

• Actúa contra dos sucesos:– Errores– Abuso deliberado de los recursos del sistema

Page 28: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Bloqueos

Page 29: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Interfaz de usuario

• Interfaz de comandos

• Interfaz gráfica

Page 30: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Funcionamiento de los ordenadores y S. O.

• Ejecución de un solo programa a la vez.• Batch: conjunto de programas que se ejecutan en grupo.• Multiprogramación: varios programas se ejecutan a la

vez y el S. O. Asigna los recursos.• Entrada remota de trabajos• Tratamiento de transacciones: permite la ejecución

múltiple de un mismo programas (multithreading)• Multiacceso: varios usuarios actuando de forma

concurrente.• Tiempo real: los ordenadores pueden interactuar con

otros equipos.

Page 31: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Multiprogramación

Es un intento de aumentar la utilización de la CPU, logrando que ésta siempretenga algo que ejecutar. La idea es la siguiente: el SO levanta uno de los trabajos de la cola de trabajos y comienza a ejecutarlo. En el momento en que tenga que esperar por algo montar una cinta, escribir algo en el teclado, terminar una operación de E/S), laCPU se entrega a otro trabajo, y así sucesivamente. En un sistema monoprogramado, la CPU hubiera estado desocupada, a pesar de que hay trabajo que hacer.

Page 32: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Tiempo Compartido (Time Sharing)

Los sistemas de Tiempo Compartido son el resultado de tratar de obtener un sistema interactivo a un costo razonable. Estos sistemas usan multiprogramación y planificación de CPU, para que cada usuario tenga una parte pequeña del tiempo de la computadora. Cada usuario tiene un programa separado en memoria.Un sistema de tiempo compartido permite a los usuarios compartir simultáneamente la computadora. Como cada acción en un sistema de tiempo compartido tiende a ser corta, solo hace falta un tiempo corto de CPU para cada usuario. Como el sistema cambia rápidamente de un usuario al otro, los usuarios tienen la impresión que cada uno tiene su computadora propia.

Page 33: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

MultiprocesamientoSon sistemas con mas de una CPU, compartiendo memoria y periféricos. Seusan dos aproximaciones.La mas común es asignar a cada procesador una tarea específica. Un procesador central controla el sistema, y los demás tienen tareas específicas, o le pideninstrucciones al procesador principal. Este esquema define una relación maestro/esclavo. Ejemplos de estos sistemas son aquellos que usan un Procesador Frontal (Front-End Processor) para manejar lectoras e impresoras a alguna distancia del procesador central. Estos sistemas están compuestos generalmente de un computador grande, que es la computadora principal (Host o Mainframe), y un computador mas pequeño que es responsable de la E/S de la terminal.El otro tipo común de multiprocesamiento es el uso de redes. En éstas, variascomputadoras independientes pueden comunicarse, intercambiar archivos einformación. Cada computador tiene su propio sistema operativo, y opera independientemente.

Page 34: Sistemas operativos UNLA. Sistemas Operativos Es un conjunto de programas. Estos programas trabajan juntos para lograr ciertos objetivos. Se encarga de.

Tiempo Real

Un sistema de tiempo real generalmente se usa como un dispositivo de controlen una aplicación dedicada. Hay sensores que dan datos a la computadora, que los analiza y puede ajustar controles para modificar las entradas del sensor.Se utilizan para sistemas médicos, controles industriales, controles de experimentos científicos, etc. La característica mas importante de estos sistemas es que tienen restricciones de tiempo bien definidas, y el procesamiento tiene que hacerse dentro de ese tiempo.