sistemas operativos - amazon web...

34
Sistemas Operativos Sistemas informáticos industriales 2015

Upload: others

Post on 25-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Operativos

Sistemas informáticos industriales

2015

SISTEMAS OPERATIVOS

Realiza tareas de: • Administración del hardware de la computadora. • Interface entre la máquina y el usuario. • Interpretar comandos u ordenes que emite un usuario u otra computadora.

Un Sistema Operativo o OS (del ingles Operating System) se define como un programa o conjunto de programas que gestiona los recursos de hardware y provee servicios a los programas de aplicación.

ESQUEMA DE UNA COMPUTADORA CON UN SISTEMA OPERATIVO

HARDWARE DE LA COMPUTADORA

SISTEMA OPERATIVO

PROGRAMAS DE APLICACIÓN DEL SISTEMA

Editor de textos compilador base de datos planillas de calculo

Programas de aplicación del Usuario

USUARIO 1 USUARIO 2 USUARIO 3 USUARIO 4

SISTEMAS OPERATIVOS

El propósito de un sistema operativo es crear un entorno en el que el usuario pueda ejecutar programas de forma cómoda y eficiente debiendo acompañar la evolución de los sistemas de cómputo, brindando: portabilidad, interoperabilidad, interconectividad, ambiente multitareas, multiusuario, seguridad, protección (entre usuarios y desde el exterior), fácil administración, independencia de dispositivo, abstracción del hardware.

Desde el punto de vista del usuario, hace aparecer a la maquina como un elemento virtual, de fácil manejo y haciendo abstracción de la complejidad de los recursos físicos de la misma.

PRINCIPALES FUNCIONES DE UN SISTEMA OPERATIVO

● ADMINISTRACION DE PROCESOS: Regula y maneja las diferentes tareas que uno o varios usuarios deben llevar a cabo. En este sentido, y de acuerdo al tipo de OS que se trate, ubica en memoria principal una tarea cuando corresponde y elimina a otras. ● ADMINISTRACION DE LA MEMORIA PRINCIPAL: Cuando se trata de OS multitarea, se encarga de que cada tarea tenga su lugar en la misma. Controla los tiempos de permanencia, controla las particiones, las regula cambiándoles tamaño, etc.

PRINCIPALES FUNCIONES DE UN SISTEMA OPERATIVO

● ADMINISTRACION DE LAS MEMORIAS SECUNDARIAS: Realiza el control de la transferencia de información entre un dispositivo secundario y la memoria principal, y viceversa. ● ADMINISTRACION DE ARCHIVOS: Maneja la ubicación y procesamiento de los archivos que se encuentran en la computadora, permitiéndoles diferentes operaciones (reubicación, borrado, copias, etc.).

PRINCIPALES FUNCIONES DE UN SISTEMA OPERATIVO

● ADMINISTRACION DE LOS DISPOSITIVOS DE ENTRADA/SALIDA: Maneja el flujo de información entre la computadora y los periféricos, tales como la llegada de datos desde el teclado, discos, etc. y viceversa, envío de datos al monitor, DVDs, etc. ● CONTROL DE ERRORES: Monitorea cuando en alguno de los programas en ejecución se ha producido una operación que dio lugar a un error, emitiendo un mensaje hacia el usuario.

PRINCIPALES FUNCIONES DE UN SISTEMA OPERATIVO

● TRABAJO CON REDES: Un sistema distribuido es una colección de procesadores que no comparten memoria, dispositivos periféricos ni el reloj. Más bien, cada procesador tiene su propia memoria local y su propio reloj, y se comunica con los otros procesadores a través de distintas líneas de comunicación, como buses de alta velocidad o líneas telefónicas. ● SISTEMA DE PROTECCION: El hardware de direccionamiento de memoria asegura que un proceso sólo pueda ejecutarse dentro de su propio espacio de direcciones, a fin de proteger la integridad del OS y de los demás procesos.

CLASIFICACION DE LOS OS POR SU ESTRUCTURA INTERNA

● O.S. MONOLITICOS: Estan constituidos por un solo programa, implementado con múltiples subprogramas que llevan a cabo las diferentes funciones. ● O.S. POR CAPAS O ESTRATIFICADOS:

Están diseñados en estructura jerárquica, donde cada tarea la realiza un programa diferente. En caso de falla de uno de ellos, los otros pueden seguir trabajando en forma normal.

CLASIFICACION POR LOS MODOS DE OPERACIÓN ● MONOUSUARIOS:

Sólo un usuario puede interactuar con la computadora. Pueden ser Monotareas o Multitareas. ● MULTIUSUARIOS:

Varios usuarios demandan el uso de la CPU. El O.S. se encarga de administrarlos para que todos sean atendidos con la mayor eficiencia posible. ● MULTIPROGRAMACIÓN: El CPU alterna los programas entre ellos, atendiendolos a todos. Dependiendo de ciertas condiciones, cambia de uno a otro.

MULTIPROGRAMACION (continuación)

Dentro de este tipo de operación, se pueden diferenciar: ● TIEMPO COMPARTIDO:

Se asigna a cada tarea un tiempo máximo de atención por parte del CPU, al cabo del cual la abandona y continua con la tarea siguiente en un modo recurrente. Este tiempo se denomina quantum. El cambio de programa se denomina cambio de contexto y sucede cuando una tarea reemplaza a otra por alguna condición sucedida para que se de dicho cambio. Este modo de operación puede ser asociado con otros: monousuarios, multiusuarios, etc.

MULTIPROGRAMACION (continuación)

Dentro de este tipo de operación, se pueden diferenciar:

● SISTEMAS DE TIEMPO REAL:

Son los que llevan a cabo procesos generalmente de control de líneas de fabricación o prestación de servicios. Estos tipos son bastante más complejo que el resto, ya que deben tener una confiabilidad muy alta. Este tipo será analizado en el tema Sistemas SCADA. Supervisan y controlan procesos, constituyendo entornos mas complejos.

CLASIFICACION POR LOS SERVICIOS OFRECIDOS

● MONOTAREA:

Permiten la ejecución de un solo programa o trabajo. Hasta que este no finalice, ningún otro podrá ser atendido. Un ejemplo es el DOS (Disk Operating System), que solo podía atender un programa por vez.

● MULTITAREA:

Atienden varias tareas en forma concurrente (no simultánea) dando la percepción a cada usuario que es el único que esta siendo atendido. Pueden ser monousuarios, multiusuarios, tiempo compartido, etc.

CLASIFICACIÓN POR LA FORMA DE OFRECER LOS SERVICIOS ● SISTEMAS CENTRALIZADOS: Una computadora denominada host o mainframe atiende a varios usuarios en modo concurrente. Un ejemplo es el S.O. Unix y Linux donde los programas y recursos de los usuarios residen en la computadora principal (host).

● SISTEMAS EN RED: Son O.S. destinados a redes de computadoras con el objeto de compartir recursos (programas, impresoras, plotters, etc), bases de datos actualizada, etc.

● SISTEMAS DISTRIBUIDOS: Distribuyen las programas entre varios procesadores, haciendo mas eficiente el servicio. Un programa puede residir en una máquina o en varias, lo que es transparente al usuario.

Diversos Sistemas Informáticos Centralizado Distribuido

•CPU •Mp •E/S

Terminal Boba

Terminal Boba

Terminal Boba

Terminal Boba

Terminal Boba

Línea Asincrónica, de baja velocidad

Mainframe o minicomputador

Terminales de Modo Texto (Sólo caracteres, sin mouse)

Switch PC completa PC completa

PC completa PC completa

Red

Servidor/es

Recursos de un sistema de computación

Para llevar a cabo las tareas de Administración, un S.O. cuenta con el apoyo del Hardware:

Los Recursos son: – Tiempo de CPU – Espacio de

Memoria Principal – Espacio de

Almacenamiento Secundario

– Otros dispositivos de E/S

El Hardware apoya con: – Reloj /Temporizador – MMU – Modos de Ejecución

PROGRAMAS Y PROCESOS En los sistemas multitarea (atienden mas de una tarea en forma

concurrente), cualquiera sea el modo en que trabajen, los programas deben estar residentes en memoria RAM.

Si el modo de trabajo es también en tiempo compartido, una tarea puede ser desalojada de memoria por varios motivos:

● Terminación el proceso.

● Realización de trabajos lentos de entrada/salida en cuyo caso el CPU delega en otros programas la realización de los mismos.

● Terminación del tiempo asignado (quantum), con lo cual queda esperando hasta ser atendido nuevamente.

PROGRAMAS Y PROCESOS ● Se denomina programa al conjunto de instrucciones que debe ser ejecutada por el CPU. Algunas pueden ser muy lentas: entrada de datos desde el teclado, escritura en impresora, etc.

● Un proceso, es un programa ejecutado por el CPU desde su comienzo hasta su terminación, incluyendo los tiempos de espera.

● Se debe tener en cuenta que en un sistema con varias tareas, éstas van ejecutándose y entrando en espera alternativamente.

DIAGRAMA DE DIFERENTES ESTADOS DE UN PROGRAMA

Una forma de presentar los diferentes estados de un programa en ejecución, es el siguiente:

Nuevo Proceso

PREPARADO

Proceso listo para ser ejecutado

ACTIVO o EN EJECUCION

Proceso en ejecución

Proceso Terminado

SUSPENDIDO

Proceso pendiente de atención por el

CPU

ESTADOS DE UN PROGRAMA Un proceso que ingresa, pasa al estado de preparado o listo para

ser ejecutado por el cpu.

Cuando por la planificacion del O.S. le corresponde ser atendido, pasa al estado de activo.

Si el proceso termino su quantum, pasa al estado de preparado nuevamente.

Si el proceso tiene tareas lentas (entradas, salidas, copias, etc), pasa al estado de suspendido, manteniendo esa característica hasta que dichas tareas finalicen.

Finalmente, cuando se termina de ejecutar, el programa pasa al estado de terminado.

CRITERIOS DE PLANIFICACION Los O.S. deben garantizar ecuanimidad en el despacho de los

programas que demandan ser atendidos.

Para ello se planifica como seran atendidas las diferentes tareas

SE PUEDE MEDIR LA EFICIENCIA DE UNA PLANIFICACION:

● MAXIMIZAR EL USO DE CPU (que esté la mayor parte del tiempo ocupado)

● MAXIMIZAR LA PRODUCTIVIDAD (mayor cantidad de procesos por unidad de tiempo)

● MINIMIZAR EL TIEMPO DE RETORNO.

ALGORITMOS EMPLEADOS EN REALIZAR UNA PLANIFICACION

FIFO (first input first output):

La primera tarea que llega es la primera en ser atendida. El resto conforma la cola de atención de CPU. Un proceso no es liberado por el CPU hasta que no termina su ejecución.

Ejemplo:

proceso1 : 6 unidades de tiempo.

proceso2 : 8 unidades de tiempo.

proceso3 : 10 unidades de tiempo.

proceso1 proceso2 proceso3

CALCULO DEL TIEMPO MEDIO DE UN PROCESO

proceso1

proceso2

6 u.t.

8 u.t

10 u.t

6 u.t 14 u.t. 24 u.t.

6 u.t

6 u.t+ 8 u.t

6 u.t+ 8 u.t+10 u.t.

proceso3

FIFO

TIEMPO MEDIO DE ESPERA:

Tme=(0 + 6 + 14) / 3 = 6,66

SI LAS TAREAS HUBIESEN LLEGADO EN OTRO ORDEN, EL TIEMPO MEDIO CAMBIA: Supongamos la llegada en este orden proceso3, proceso1, proceso2:

Tme=(0 + 10 + 16) / 3 = 8,66

ALGORITMO DE PLANIFICACION

SJF (shortest job first):

Atiende las tareas mas cortas en primer lugar.

Tiene la desventaja que, en la medida que se agreguen mas

procesos cortos, las tareas largas serán postergadas.

ROUND ROBIN:

A cada tarea se le asigna un quantum, al termino del cual la

misma es reemplazada.

Se usan en combinación con SJF u otros.

PLANIFICACION ROUND ROBIN (continuación)

programa1

programa2

programa4

programa5

programa6

programa7

programa8

programa3

OTROS TIPOS DE ALGORITMOS DE PLANIFICACION

ALGORITMOS BASADOS EN PRIORIDADES:

● Se asocia a cada programa un nivel de prioridad.

● El cpu ejecuta primero a los de prioridad mas alta.

● Dentro de este tipo, existen los algoritmos apropiativos y no apropiativos.

● Los apropiativos interrumpen y desalojan a la tarea de menor nivel que se este ejecutando, en cualquier momento de su procesamiento.

● Los no apropiativos, esperan hasta que la tarea de menor prioridad que se este ejecutando finalice su tiempo asignado, para ser atendida por el cpu.

● Combinan planificación basado el prioridades con SJF o round robin.

● Se implementan varias colas de procesos, una para cada prioridad

PLANIFICACION MLQ (Multiple Level Queues)

PRIORIDAD 4

PRIORIDAD 3

PRIORIDAD 2

PRIORIDAD 1

T41 T42 T44

T31 T32 T33

T21

T11

T22 T23 T24

T43

PLANIFICACION MLQ (Multiple Level Queues)

● Los procesos con prioridad mas alta (4) se ejecutan primero.

● Cuando esos procesos finalicen, se ejecutan los de menor prioridad en orden decreciente.

● Si un proceso no se termina cuando finaliza su quantum, se lo agrega a la cola del nivel de menor prioridad siguiente.

● Cuando se terminan las tareas de mayor prioridad, se ejecutan las tareas de menor prioridad siguientes, aumentándose el quantum asignado.

● Cuando en un nivel hay dos o mas procesos con la misma prioridad, se puede optar por : el de menor tiempo de ejecución (JSF), o la planificación FIFO (el primero que llega es el primero en ser ejecutado).

GESTION DE MEMORIA EN SISTEMAS MULTIPROGRAMACION

● En los procesos multiprogramación, existe un programa del sistema operativo que gestiona el uso del espacio de memoria para cada programa.

● Este programa se llama “gestor de memoria” y asigna un espacio para cada programa y los elementos para su ejecución por parte del cpu.

ALGUNOS ALGORITMOS PARA LA GESTION DE MEMORIA SON: ● PARTICIONES ESTÁTICAS: se divide la memoria en m partes, asignándole a cada programa la partición mas pequeña que pueda contenerlo.

PARTICIONES FIJAS O ESTATICAS: ocuparan la memoria asignada. Los espacios de memoria que no se ocupen, estarán desperdiciados. Este problema de lo conoce como “fragmentacion de la memoria”.

GESTION DE MEMORIA EN SISTEMAS MULTIPROGRAMACION (continuación)

SISTEMA OPERATIVO

PROCESO 1

PROCESO 2

PROCESO 3

PROCESO 4

GESTION DE MEMORIA EN SISTEMAS MULTIPROGRAMACION

PARTICIONES DINAMICAS: ● Las particiones varían en la cantidad, tamaño y posición en forma dinámica (mientras se ejecutan).

● Es análogo a que las particiones se “acomodaran” al tamaño de cada programa.

● Son algoritmos de planificación mas complejos, pero eliminan el problema de la fragmentación.

GESTION DE MEMORIA EN SISTEMAS MULTIPROGRAMACION

MEMORIA VIRTUAL:

● Se particiona la memoria en bloques.

● Se hace residir en ellos los diferentes programas. Se deja en el disco (memoria externa) algunos elementos que el programa necesita para ejecutarse.

● Este proceso se realiza con todos los programas y todos los bloques de los mismos.

● La tarea de buscar y poner en memoria los diferentes programas se denomina Swapping.

PAGINACION DE LA MEMORIA

● Se dividen los programas en pequeñas partes o paginas.

● Del mismo modo, la memoria es dividida en partes del mismo tamaño que las páginas llamados marcos de página .

● La cantidad de memoria desperdiciada por un proceso es la de la ultima pagina de cada tarea.

● Si un proceso solicita un dato de una pagina que no esta cargada en memoria, es O.S. carga la pagina en un marco vacío. Si no tiene marcos o espacios libres, uno de los que esta en memoria será desalojado y allí se ubicara la pagina solicitada. Este proceso se denomina paginación por demanda.