Introduccion a Los Sistemas Operativos_2012-2013

61
SISTEMAS OPERATIVOS FUNDAMENTOS Y GESTION DE RECURSOS

Transcript of Introduccion a Los Sistemas Operativos_2012-2013

Page 2: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE

El software son los programas de informática que le indican al computador como tiene que realizar una serie de funciones. Se considera también como software al conjunto de procedimientos, técnicas y documentación que acompaña a los programas.

Todo proceso de manipulación de datos necesita de un conjunto de instrucciones que marquen los pasos que deben realizarse. Este conjunto de instrucciones ordenadas y escritas en un lenguaje comprensible por el ordenador, se denomina programa.

Page 3: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE DE SISTEMAS

SOFTWARE DE PROGRAMACION

SOFTWARE DE APLICACION

SOFTWARE

Page 4: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARESOFTWARE DE SISTEMAS

El software de sistemas es un conjunto de instrucciones encargado de comunicar al usuario con el ordenador y de permitir el control de los periféricos existentes. A este conjunto de instrucciones se le denomina Sistema Operativo. Como por ejemplo: UNIX, MS-DOS (o simplemente DOS), DR-DOS, OS/2, WINDOWS NT/2000/2003/2008 SERVER, WINDOWS 9x/me/2000/XP/7, GNU/LINUX, OS/400, etc.

Page 5: Introduccion a Los Sistemas Operativos_2012-2013

Software de programaciónSon los programas a partir de los cuales se pueden realizar los programas de aplicación, es decir, son los lenguajes de programación. Un lenguaje de programación está compuesto por un conjunto de palabras unidades en base a un conjunto de normas (sintaxis).

Dependiendo del nivel de complejidad y para quién estén diseñados (persona u ordenador) se distinguen tres tipo de lenguajes de programación:

•Bajo nivel Lenguaje Máquin•Nivel medio Ensamblador•Alto nivel Alto nivel de abstracción

SOFTWARESOFTWARE DE PROGRAMACION

Page 6: Introduccion a Los Sistemas Operativos_2012-2013

Edición: Se trata de generar el código fuente.

Compilación: Una vez creado el programa es necesario conseguir que el ordenador lo comprenda. Para poder ejecutarse tiene que ser traducido al propio lenguaje de la máquina. Dos formas posibles:

1. Programa intérprete2. Programa compilador

Enlace: Asociar los ficheros objeto, creados mediante la compilación de un fichero fuente, con las librerías donde se encuentran. El resultado final es un nuevo fichero ejecutable con la extensión .EXE.

SOFTWARESOFTWARE DE PROGRAMACION

Page 7: Introduccion a Los Sistemas Operativos_2012-2013

Los programas de aplicación están creados a partir de los lenguajes de programación y están diseñados para resolver problemas específicos o generales. Dependiendo de la finalidad para la que estén creados se dividen en programas verticales, estándar o de propósito general, freeware y shareware.

SOFTWARESOFTWARE DE APLICACION

Page 8: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE de APLICACIÓNPROGRAMAS VERTICALES (A MEDIDA)

Son los creados para tareas determinadas. Son conocidos como programas a medida, y suelen ser solicitados por una empresa de un sector determinado para resolver exclusivamente sus necesidades.

Page 9: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE de APLICACIÓNPROGRAMAS DE PROPOSITO GENERAL

Estos programas fueron diseñados para evitar los costes de los programas verticales y ser utilizados para diversos fines. Los programas estándar se dividen según su función en:

1.- Procesadores de texto: diseñados para la elaboración de documentos. Simulan el funcionamiento de una máquina de escribir, aunque pueden combinar texto e imágenes y tienen infinidad de posibilidades. Destacan: Microsoft Office Word, Wordperfect, LibreOffice Writer, etc.

2.- Hoja de cálculo: creados para trabajar con gran cantidad de datos numéricos y realizar operaciones de cálculo complejas. Permiten obtener gráficos a partir de los datos. Destacan: Microsoft Excel, LibreOffice Calc, Lotus, etc.

Page 10: Introduccion a Los Sistemas Operativos_2012-2013

3.-Bases de datos: permiten manipular información de distintos tipos, mediante fichas o registros. Se suelen agrupar por características comunes formando los ficheros de datos, que podrán ser modificados y actualizados. Los más conocidos son : dBase, Microsoft Access, LibreOffice Base, Oracle, SQL Server, etc.

4.- Paquetes integrados. Son programas creados para reunir en uno solo las características fundamentales de los tres anteriores. Destacan: Microsoft Works, Frameworks.

5.- Diseño gráfico. Sobresalen: CorelDraw, PhotoShop, Freelance Graphics, Autocad, etc.

SOFTWARE de APLICACIÓNPROGRAMAS DE PROPOSITO GENERAL

Page 11: Introduccion a Los Sistemas Operativos_2012-2013

5.- Autoedición: dirigidos a profesionales de las publicaciones impresas, permiten combinar texto e imágenes para componer periódicos, revistas, publicidad, etc. Destacan: PageMaker, QuarkXpress, Publisher.

6.- Antivirus: se trata de programas y aplicaciones para evitar que se infecte el ordenador y/o eliminar los virus si ya existen. Hay que actualizarlos a menudo, ya que nacen nuevos virus a diario. Por ejemplo: Anyware, Panda, Mcafee, Norton antivirus.

7.- Contabilidad/Finanzas o Gestión integrada: Para llevar la gestión completa de una empresa, desde la contabilidad hasta el almacén. Por ejemplo: Contaplus, Contawin, etc.

SOFTWARE de APLICACIÓNPROGRAMAS DE PROPOSITO GENERAL

Page 12: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE de APLICACIÓNFREEWARE

Software que el programador pone a disposición de la comunidad sin coste alguno. Existen multitud de aplicaciones que por muy diversos motivos no necesitan gasto por el usuario final. En algunos casos se trata de programas muy sencillos pero podemos encontrarnos con grandes suites ofimáticas en este formato, una de las mas conocidas es LibreOffice. En otros casos la gratuidad del producto se consigue por medio de publicidad.

Page 13: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE de APLICACIÓNSHAREWARE

Es el sistema conocido como “probar antes de comprar”. En este caso el programador deja que el usuario final utilice su producto y si le gusta “confía” en que le pagará la cantidad estipulada (generalmente muy económica). En muchos casos los productos shareware están limitados en sus funcionalidades o en el tiempo de uso.

Page 14: Introduccion a Los Sistemas Operativos_2012-2013

Manuales y documentaciónLa importancia de los manuales de todo tipo, de

sistemas, aplicaciones, y de usuario, van a ser de fundamental importancia en el uso del software.

Tutores y ayudas.Otro de los aspectos informáticos es disponer de

cursos tutoriales que expliquen el manejo de una aplicación o sistema. Cada vez existen más y mejores programas tutoriales que se añaden al software básico.

UtilidadesLas máquinas de hoy en día disponen de

utilidades, además del sistema operativo básico, para ayudarles a realizar otras labores complementarias.

SOFTWAREOTROS ELEMENTOS

Page 15: Introduccion a Los Sistemas Operativos_2012-2013

SOFTWARE LIBRE GNU/LINUX

SOFTWARE LIBRE ≠ SOFTWARE GRATIS

”Software Libre” se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:

•La libertad de usar el programa, con cualquier propósito (libertad 0).

•La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.

•La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).

• La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie (libertad 3). El acceso al código fuente es un requisito previo para esto.

Page 16: Introduccion a Los Sistemas Operativos_2012-2013

• Más del sesenta por ciento de los servidores de páginas Web utilizan Apache.

• A pesar de la existencia de Java y Active X, la mayoría de contenidos activos en el Web (formatos de entrada de datos, animaciones, etc) son generados con lenguajes de tipo software libre, y Perl es el más utilizado.

• El paquete freeware Majordomo es el más popular procesador de listas de correo en Internet

• La gran mayoría del correo electrónico es procesado y distribuido con el programa freeware sendmail

• El Sistema de Nombres de Dominios del Internet es casi totalmente dependiente de un paquete de software libre conocido como BIND (Berkeley Internet Name Daemon).

• La colección y distribución de artículos de noticias es manejado por INN, otro paquete freeware que corre en miles de sitios a lo ancho del mundo.

SOFTWARE LIBREPOR QUE SU IMPORTANCIA

Page 17: Introduccion a Los Sistemas Operativos_2012-2013

El sistema operativo no es mas que un programa que controla la ejecución de los programas de aplicaciones y actúa como un interfaz entre los usuarios del computador y el hardware del mismo. Sus objetivos básicos son:1.- Comodidad para los usuarios: El SO hace que el computador sea más fácil de utilizar. En este caso hace que los usuarios vean una máquina virtual o extendida, que es más sencilla de programar y de utilizar que la máquina desnuda (Ej. Imprimir, Ordenadores en Red, ...) 2.- Eficiencia. El SO gestiona los recursos del sistema de forma más eficaz. Su función es en este caso la de un gestor de recursos

SISTEMAS OPERATIVOS¿QUE ES?

Page 18: Introduccion a Los Sistemas Operativos_2012-2013

GESTIÓN DEL PROCESADORGESTIÓN DEL PROCESADORGESTIÓN DE LA MEMORIAGESTIÓN DE LA MEMORIAGESTIÓN DE DISP. E/SGESTIÓN DE DISP. E/SGESTIÓN DE ARCHIVOSGESTIÓN DE ARCHIVOSSEGURIDADSEGURIDAD

SISTEMAS OPERATIVOSFUNCIONES

Page 19: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSHISTORIA – GENERACIONES DE LOS S.O.

Generación Cero (1940-1950): Abarca la década de los años 40 y se caracteriza por la ausencia de sistemas operativos en los computadores (Lógica Cableada). El usuario tenía acceso completo al lenguaje máquina y todas las instrucciones se codificaban manualmente. Los propios usuarios eran quienes controlaban la ejecución de sus programas. Usaban tarjetas perforadas para introducirle las instrucciones que componen el programa.

Primera generación (1950-1964): Abarca los años 50 (aparición del transistor). Aparecen los ensambladores. El fin, de estos primeros sistemas operativos era permitir en la máquina la secuencia automática de los trabajos de los usuarios. De esta forma se conseguía evitar el tiempo que se perdía, y que podía ser considerable, desde que un proceso terminaba su ejecución hasta que comenzaba el siguiente. Para ello los trabajos se organizaron en lotes. Se empiezan a utilizar las cintas magnéticas como soporte. Aparecen lenguajes de programación como FROTAN (1957, 1er LenAlNi) y COBOL.

Page 20: Introduccion a Los Sistemas Operativos_2012-2013

ENIAC. 2ª GUERRA MUNDIAL.

SISTEMAS OPERATIVOSHISTORIA – GENERACIONES DE LOS S.O.

Page 21: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSHISTORIA – GENERACIONES DE LOS S.O.

Page 22: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSHISTORIA – GENERACIONES DE LOS S.O.

Segunda generación (1964-1972): Primera parte de los años 60. Generalización de los transistores (aparición de los CI) ⇒ Desarrollo de los SO. Debido al elevado coste que tenían los computadores de aquella época se intentó mejorar el rendimiento en su utilización y aumentar el número de trabajos ejecutados en un intervalo de tiempo dado. Esto se consiguió con el perfeccionamiento del procesamiento de trabajo por lotes, con la introducción de la multiprogramación (varios procesos simultáneos) y el multiprocesamiento (varios procesadores simultáneos), memoria virtual (1972), y utilización compartida de dispositivos de E/S (spooler). En esta época aparecieron también los sistemas en tiempo real. Aparece UNIX (1969, Ken Thompson).

Tercera generación (1972-1981): Generalización de UNIX: multiprogramación, multitarea, procesado interactivo, memoria virutal, etc. Revolución de los lenguajes de programación: Aparición de C.

Page 24: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSHISTORIA – GENERACIONES DE LOS S.O.

Cuarta generación (1981-...): Esta generación viene maracada por la aparición del PC de IBM. Aparece MS-DOS (elegido por IBM para su PC). Es la generación en la que se universalizan las redes de datos (Internet). Corresponde al estado actual del campo. Los ordenadores de esta generación pueden disponer de:

Multiprogramación, Tiempo compartido, Memoria virtual, Procesos secuenciales que cooperan por medio de semáforos, Sistemas de archivos jerárquicos, Redes de Ordenadores, Sistemas operativos distribuidos, GUI, Programación orientada a objetos, Herramientas CASE, Herramientas RAD, Tecnología cliente-servidor, Seguridad

Posiblemente el más influyente de los sistemas operativos actuales sea Unix/Linux. Dos aspectos que caracterizan los sistemas actuales son las redes de computadores y los sistemas disribuidos.

Page 25: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSMÁQUINA VIRTUAL O INTERMEDIARIO

Creación de programas. Existen otros programas del sistema, como son los depuradores, los editores y los enlazadores, que no son parte del sistema operativo, pero que son accesibles a través de él.

Ejecución de programas. El sistema debe ser capaz de cargar en memoria el programa y posteriormente ejecutarlo.

Operaciones de Entrada/Salida. Cualquier programa en ejecución puede solicitar un proceso de entrada/salida sobre un dispositivo o periférico conectado al sistema.

Manipulación y control del sistema de archivos. Los ficheros son un elemento esencial dentro de un sistema para el proceso de la información, por lo que es obvio que los programas de aplicación necesiten leer y escribir sobre este tipo de estructuras lógicas para realizar operaciones tales como añadir información, consultar datos, borrar, alterar, etc.

Page 26: Introduccion a Los Sistemas Operativos_2012-2013

Detección de errores. El sistema operativo debe estar preparado para actuar de forma adecuada ante posibles errores que se puedan presentar (un mal funcionamiento de un periférico, fallos en la transmisión de los datos, errores de cálculo en un programa, divisiones por cero, etc.) y asegurar así un correcto funcionamiento del sistema.

Control del acceso al sistema. En sistemas de acceso compartido o en sistemas públicos, el sistema operativo debe controlar el acceso al mismo, vigilando quién tiene acceso y a qué recursos.

Elaboración de informes estadísticos. Resulta muy conveniente conocer el grado de la utilización de los recursos y de los distintos parámetros del sistema, como el tiempo de respuesta. De esta forma se dispone de información que permite saber con antelación las necesidades futuras y configurar al sistema par dar el mejor rendimiento.

SISTEMAS OPERATIVOSMÁQUINA VIRTUAL O INTERMEDIARIO

Page 27: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS OPERATIVOSCLASIFICACION POR SERVICIOS

Page 28: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS - POR LOTES (BATCH)

Se denomina proceso por lotes en sistemas multiprogramados al que no precisa intervención del usuario durante la ejecución de los trabajos, tratándose en general de trabajos largos que van solicitándose y entrando en una cola de espera del tipo FIFO (primero en entrar, primero en ser atendido) y que el procesador va tomando en un grupo determinado (por ejemplo, de cuatro en cuatro), realizándolos en paralelo.

En estos sistemas se puede establecer un sistema de prioridades para que algún proceso más importante no tenga que esperar en la cola a que acaben todos los que tiene por delante.

Page 29: Introduccion a Los Sistemas Operativos_2012-2013

Surgió de la imposibilidad, para los sistemas o modos de trabajo anteriores, de que con un solo trabajo se pudiese tener ocupados al procesador y a los dispositivos de entrada/salida durante todo el tiempo.

Con la multiprogramación varios programas podían residir a la vez en memoria y el procesador se podía conmutar rápidamente entre ellos lo que permitía que un trabajo pudiera estar realizando cálculos a la vez que otro leía de una cinta magnética, un tercero escribía en un disco, etc.

Desde el punto de vista del usuario, se considera que los procesos se están ejecutando en paralelo (a la vez) sin tener en cuenta que en cada momento sólo se atiende a uno de ellos.

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS – MULTIPROGRAMACION

Page 30: Introduccion a Los Sistemas Operativos_2012-2013

PROBLEMAS A SOLVENTAR:

1. El acceso al procesador debe seguir algún tipo de reglas o políticas que permitan la ejecución de todos los trabajos.

2. Varios trabajos pueden necesitar la utilización de un recurso al mismo tiempo, dando lugar a problemas de concurrencia.

3. Se hace necesario algún tipo de gestión de la memoria, ya que ésta tiene que ser compartida por todos los trabajos.

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS – MULTIPROGRAMACION

Page 31: Introduccion a Los Sistemas Operativos_2012-2013

Uno de los problemas actuales en el proceso de datos ha sido la aparición de aplicaciones que manejan tal cantidad de información, que un solo procesador no es capaz de procesarla en el tiempo requerido.

⇒Descomposición de algoritmos en subalgoritmos más sencillos, de manera que cada uno pueda tratar un subconjunto de los datos con cierta independencia de los otros. Al final se conjuntan estos datos, obteniendo el resultado final de todo el proceso. Estos subalgoritmos pueden trabajar en paralelo, tratando cada uno su porción de información al mismo tiempo. Todo esto implica un SO muy complejo.

⇒Ej. Big Blue ( 32 procesadores en paralelo)

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS – MULTIPROCESO

Page 32: Introduccion a Los Sistemas Operativos_2012-2013

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS – TIEMPO COMPARTIDO

Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente.

En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios.

El administrador de archivos proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.

Page 33: Introduccion a Los Sistemas Operativos_2012-2013

El tiempo real es otra modalidad de los sistemas operativos multiprogramados, en que se necesita un tiempo de respuesta pequeño ante en que petición. 1. Fuertes restricciones en el tiempo de respuesta (milisegundos).2. La información debe estar permanentemente actualizada.3. El sistema debe permanecer prácticamente inactivo para atender lo más rápidamente posible cualquier evento en la entrada.4. Manejo eficaz de interrupciones.5. Manejo sencillo de prioridades.6. Gestión de memorial real.7. Permite modificaciones en tiempo real sin parar la producción. ⇒AUTOMATAS (Ej. Programacion en ADA)

SISTEMAS DE PROCESAMIENTO

DE LOS TRABAJOS – SISTEMAS TIEMPO REAL

Page 34: Introduccion a Los Sistemas Operativos_2012-2013

ARQUITECTURA DE LOS SISTEMAS OPERATIVOS

1.- ESTRUCTURA MONOLÍTICA2.- ESTRUCTURA DE CAPAS

(ANILLOS CONCENTRICOS)3.- MICRONUCLEO Y CLIENTE SERVIDOR

Page 35: Introduccion a Los Sistemas Operativos_2012-2013

PROCESOS

Empieza a tomar importancia su signficado, con la aparicion de sistemas multiprogracion. Sus objetivos principales se pueden expresar como: permitir la creación y comunicación entre los procesos y gestionar entre ellos la utilización de la UCP y del resto de los recursos del sistema (tales como la memoria y los dispositivos de E/S).

PROCESO ⇒ PROGRAMA EN EJECUCION

⇒Necesidad de un PLANIFICADOR DE PROCESOS: Parte del sistema operativo encargada de asignar los recursos, y en especial la UCP, a los procesos que la solicitan.

En general existe un proceso padre del cual se deriban todos los demas procesos hijos, es decir, existe una estructura jerarquica de los procesos.

Page 36: Introduccion a Los Sistemas Operativos_2012-2013

ESTADO DE LOS PROCESOS

Un proceso es un elemento dinámico que puede pasar por diferentes estados a lo largo de su existencia. De forma general, un proceso puede encontrarse en un instante determinado en uno de los siguientes estados:

1. Activo2. Preparado3. Bloqueado o Suspendido4. Muerto

Page 37: Introduccion a Los Sistemas Operativos_2012-2013

Paso a activo: El sistema operativo posee un módulo, el distribuidor (dispatcher) que se encarga de activar los procesos que están en el estado preparado de acuerdo con unos criterios determinados (por ejemplo en función de sus prioriades).

Paso a preparado: Un proceso pasa a estado de preparado en el momento que demanda o solicita un servicio a la CPU. Tambien puede encontrarse en este estado al salir de un estado de bloqueo.

Paso a bloqueado: Un proceso en ejecución puede pasar a bloqueado si solicita el servicio de un recurso sin cuyos resultados no puede continuar, por ejemplo una operación de E/S, o bien, si necesita que tenga lugar algún evento para poder continuar.

Paso a muerto: Un proceso pasa al estado muerto cuando finaliza o cuando queda eliminado por otro proceso.

PROCESOSTRANSICIONES ENTRE ESTADOS

Page 38: Introduccion a Los Sistemas Operativos_2012-2013

Un proceso se representa desde el punto de vista del sistema operativo, por un conjunto de datos donde se incluyen el estado en cada momento, recursos utilizados, registros, etc., denominado Bloque de Control de Procesos (PCB).

Los objetivos del bloque de control de procesos son los siguientes:  1. Localización de la información sobre el proceso por parte del sistema operativo. 2. Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecución o reanudarla.

PROCESOSBLOQUE DE CONTROL DE PROCESOS

Page 39: Introduccion a Los Sistemas Operativos_2012-2013

Esta información depende del sistema operativo un ejemplo puede ser este (Se guarda en memoria Principal):

⇒El identificador único del proceso (PID).⇒ Identificador del proceso Padre (PPID).⇒ El estado del proceso (activo, preparado, bloqueado).⇒ La prioridad.⇒ El estado hardware (contador de programa, códigos de condición, punteros de pila, etc).⇒ La información para gestionar la memoria (punteros, tablas, registros).⇒ La información de estado del sistema de E/S (dispositivos de E/S asignados al proceso, lista de archivos abiertos, etc.).⇒ La información de contabilidad y planificación.

PROCESOSBLOQUE DE CONTROL DE PROCESOS

Page 40: Introduccion a Los Sistemas Operativos_2012-2013

1. Crear un proceso. Se produce con la orden de ejecución del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso. Aparece en este momento el PCB, que será insertado en la cola de procesos preparados.2. Destruir un proceso. Se trata de la orden de eliminación del proceso con la cual el sistema operativo destruye su PCB.3. Suspender un proceso. Es una operación de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. 4. Reanudar y Despertar un proceso. Trata de activar un proceso que ha sido previamente suspendido.5. Cambiar la prioridad de un proceso.6. Temporizar la ejecución de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo (segundos, minutos, horas ... ) por etapas o de una sola vez, pero transcurrido un período de tiempo fijo.

PROCESOSOPERACIONES SOBRE PROCESOS

Page 41: Introduccion a Los Sistemas Operativos_2012-2013

Se denomina planificador al software del SO encargado de asignar los recursos de un sistema entre los procesos que los solicitan. Siempre que haya que tomar una decisión, el planificador debe decidir cual de los procesos que compiten por la posesión de un determinado recurso (Procesador, dispositivo E/S) lo recibirá.

Hay dos tipos fundamentales de planificadores que coexisten en un sistema operativo: el planificador a largo plazo (PLP) o planificador de trabajos y el planificador a corto plazo (PCP) o planificador del procesador (Distribuidor). También existe un planificador a medio plazo (PMP).

PROCESOSPLANIFICADOR DE PROCESOS

Page 42: Introduccion a Los Sistemas Operativos_2012-2013

El PLP determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados en la memoria disponible.

El PLP es el principal responsable de que se cumplan los criterios de gestión establecidos para la utilización global del sistema; para ello debe realizar una mezcla adecuada de trabajos "destinados" al procesador y trabajos "destinados" al sistema de E/S, con el fin de mantener en todo momento un uso adecuado de los recursos ⇒ MEJORAR LA EFICIENCIA DEL SISTEMA

Entre dos instantes de gestión del PLP los procesos se gestionan por el planificador PCP, más sencillo que aquel ya que no soporta la sobrecarga del cálculo de las prioridades.

PROCESOSPLANIFICADOR DE PROCESOS / PLP

Page 43: Introduccion a Los Sistemas Operativos_2012-2013

PROCESOSPLANIFICADOR DE PROCESOS / PCP

El PCP selecciona al proceso que pasará al estado activo de entre todos los procesos residentes en memoria que están en el estado preparado.

La función esencial del PCP es la de reestablecer el contexto del nuevo proceso que pasa del estado preparado a activo.

Entre los eventos que suelen producir una invocación al PCP están:

1. Las señales del reloj del sistema.2. Las interrupciones.3. La finalización de las operaciones de E/S.4. Las llamadas al sistema operativo.5. La activación de programas interactivos.

Page 44: Introduccion a Los Sistemas Operativos_2012-2013

PROCESOSPLANIFICADOR DE PROCESOS / PMP

En un sistema en que se gestiona la memoria con intercambio, y con más procesos en ejecución concurrente de los que admite la memoria principal, un proceso bloqueado puede ser transvasado a disco ⇒ ESTADO DE BLOQUEADO INTERCAMBIADO.

Si la carga de procesos es grande, incluso los procesos preparados pueden transvasarse a disco ⇒ESTADO DE PREPARADO INTERCAMBIADO.

El PLANIFICADO A MEDIO PLAZO se encarga de seleccionar el momento en los que un proceso intercambiado debe pasar de disco a memoria principal.

Page 45: Introduccion a Los Sistemas Operativos_2012-2013

Otro motivo para llevar un proceso suspendido a la memoria secundaria es el de conseguir una mezcla adecuada de procesos destinados al procesador y procesos destinados al sistema de E/S.

El proceso de salvar una tarea suspendida en la memoria secundaria se denomina intercambio (swapping).

PROCESOSPLANIFICADOR DE PROCESOS / PMP

Page 46: Introduccion a Los Sistemas Operativos_2012-2013

BLOQUEADOACTIVO

PREPARADO

NONATO

BLOQUEADO INTERCAMBIADO

PREPARADO INTERCAMBIADO

CONCLUIDO

DISCO DURO O UNIDAD DE ALMACENAMIENTO SECUNDARIA

MEMORIA PRINCIPAL

FIN DE E/S

FIN DE E/S

E/S

CANCELADO O ERROR

CANCELADO O ERROR

FIN, CANCELADO O ERROR

PLP

PCP

PMPPMP

PROCESOSPLANIFICADOR DE PROCESOS

Page 47: Introduccion a Los Sistemas Operativos_2012-2013

PLANIFICADOR DE PROCESOS

POLITICAS DE PLANIFICACIÓN

FCFS: En esta política de planificación el procesador ejecuta cada proceso hasta que termina; por tanto, los procesos que entren en cola de procesos preparados permanecerán encolados en el orden en que lleguen hasta que les toque su ejecución. Este método se conoce también como "El primero en entrar, primero en salir" (First In, First Out: FIFO). Sus características son:

1.- No apropiativa.

2.- Justa, aunque los procesos largos hacen esperar mucho a los cortos.

3.- Es una política predecible.

4.- El tiempo medio de servicio es muy variable en función del número de procesos y su duración.

Page 48: Introduccion a Los Sistemas Operativos_2012-2013

PLANIFICADOR DE PROCESOS

POLITICAS DE PLANIFICACIÓN

SJN (Shortest Job Next) : Esta política toma de la cola de procesos preparados el que necesite menos tiempo de ejecución para realizar su trabajo. Para ello debe saber el tiempo de procesador que necesita cada proceso, lo cual no es tarea nada fácil.

1.- No apropiativa.

2.- El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el tiempo medio de espera con respecto a otras políticas es óptimo.

3.- Es poco predecible.

4.- No es justa con los procesos largos.

5.- Buen tiempo de servicio.

6.- Resulta difícil de poner en práctica por los datos que necesita.

Page 49: Introduccion a Los Sistemas Operativos_2012-2013

PLANIFICADOR DE PROCESOS

POLITICAS DE PLANIFICACIÓN

SRT: Próximo proceso, el de tiempo restante más corto (Shortest Remaining Time). Sus características son las siguientes:

1.- Apropiativa.

2.- El tiempo de espera aumenta de acuerdo con la longitud de los procesos, pero el tpe con respecto a otras políticas es óptimo.

3.- Es poco predecible.

4.- Puede ser injusta, ya que un proceso corto puede echar a un proceso largo que esté haciendo uso del procesador.

5.- Presenta una mayor sobrecarga.

6.- Excelente tiempo medio de servicio y es muy eficiente .

7.- Resulta difícil de poner en práctica por los datos que necesita para realizarse la planificación.

Page 50: Introduccion a Los Sistemas Operativos_2012-2013

Round-Robin (RR): Asignación cíclica o planificación en rueda, es una mejora de la FCFS. Consiste en conceder a cada proceso en ejecución un determinado período de tiempo denominado quantum transcurrido el cual, si el proceso no ha terminado, se le devuelve al final de la cola de procesos preparados, concediéndose el procesador al siguiente proceso. Las características de esta política de planificación son:

1.- Apropiativa.

2.- Baja sobrecarga si el cambio de contexto es eficiente y los procesos siempre están en la memoria principal.

3.- Es la política más utilizada para sistemas de tiempo compartido.

4.- Ofrece un índice de servicio uniforme para todos los procesos.

PROBLEMA: ELEGIR EL QUANTUM ADECUADO (puede ser variable).

PLANIFICADOR DE PROCESOS

POLITICAS DE PLANIFICACIÓN

Page 51: Introduccion a Los Sistemas Operativos_2012-2013

PLANIFICADOR DE PROCESOS

POLITICAS DE PLANIFICACIÓN

En esta política se asocia a cada proceso una prioridad, de manera que el procesador se asigna al proceso de mayor prioridad.

El principal problema de esta política es el bloque o postergación indefinida, ya que un proceso de baja prioridad puede estar esperando su turno indefinidamente. Para evitarlo se suele utilizar lo que se denomina envejecimiento de las prioridades, que aumenta gradualmente las prioridades de los procesos que están a la espera de utilizar el procesador.

Cualquier algoritmo basado en esta política puede ser apropiativo o no apropiativo. En el primer caso, un proceso puede ser retirado del procesador si aparece otro de mayor prioridad en la cola de procesos preparados.

Page 52: Introduccion a Los Sistemas Operativos_2012-2013

Cuando un proceso debe acceder a un recurso, comprueba si está ocupado por otro. En ese caso el proceso se duerme hasta que el otro proceso lo libera. En ese momento, el proceso que libera el recurso manda la señal de despertar, los procesos dormidos la escuchan, se despiertan e intentan de nuevo acceder al recurso. El que lo consigue lanza una señal de "dormir" para que los que no han llegado a tiempo se esperen ⇒ CONDICIONES DE CARRERA.

INTERBLOQUEO: El proceso que ha tomado control del recurso lo libera antes de que otro entre en la fase de "dormido", su señal de "despertar" no será oída, de esa manera el otro proceso puede quedarse dormido de forma indefinida.

Solución ⇒ SEMÁFOROS Y MONITORES

PLANIFICADOR DE PROCESOS

COMUNICACIÓN ENTRE PROCESOS

Page 53: Introduccion a Los Sistemas Operativos_2012-2013

COMUNICACIÓN ENTRE PROCESOS

SEMÁFOROS

Buscan regular el acceso a los recursos generando una variable (semáforo) para cada uno de los recursos. Este semáforo tomará diferentes valores para indicar si está libre u ocupado. Tipos:

-binarios: toman valores 0 (recurso libre) y 1 (recurso ocupado).

-generales: toman valores mayores que cero, permiten un mayor control sobre el recurso (por ejemplo saber cuantos procesos esperan a que quede liberado).

Sobre los semáforos se permiten las siguientes operaciones:

wait(s): incrementa el valor de s (semáforo).

signal(s): decrementa el valor de s.

initial(s,valor): inicializar el semáforo a un valor determinado (no está presente en todos los sistemas).

Page 54: Introduccion a Los Sistemas Operativos_2012-2013

En este caso los procesos no acceden directamente a los recursos ni los gestionan directamente mediante semáforos. Lo que se hace es acceder a una serie de procedimientos dados (monitor).

En el monitor se encontrarán todos los algoritmos necesarios para gestionar el recurso, es decir decidir que procesos accederán al recurso y todos los sistemas necesarios para ello.

Con esto se consigue que la programación de acceso a los recursos sea más estructurada.

COMUNICACIÓN ENTRE PROCESOS

MONITOR

Page 55: Introduccion a Los Sistemas Operativos_2012-2013

Si se pretende que los procesos estén preparados para su ejecución es necesario cargarlos en la memoria principal, ya que ningún proceso se puede activar antes de que se asigne el espacio de memoria que requiere ⇒ Problema: Memoria Finita

Solucion ⇒ GESTION DE LA MEMORIA PRINCIPAL

La misión del gestor de la memoria es la asignación de memoria principal a los procesos que la solicitan.

GESTION DE MEMORIA

MEMORIA PRINCIPAL

Page 56: Introduccion a Los Sistemas Operativos_2012-2013

Sin gestor: No existe ningún sistema de gestión de la memoria. Esto nos permite una gran flexibilidad y simplicidad pero no hay monitor (para conocer el estado de la memoria) ni existe un control para las interrupciones.

Monitor residente: La memoria se divide en dos partes, en una de ellas se cargarán las rutinas del sistema operativo necesarias para que el sistema funcione correctamente que quedarán cargadas de forma permanente y el resto se deja libre para que el usuario pueda utilizarla.

Cuando el usuario quiere ejecutar un proceso, éste se carga en memoria para empezar a funcionar. Cuando termina, se libera la memoria para que pueda utilizarla otro proceso. Existen algunos programas que se quedarán constantemente en memoria realizando sus tareas o esperando su invocación (relojes, utilidades de teclado ...) es lo que se conoce como programas residentes.

GESTION DE MEMORIA PRINCIPAL

SISTEMAS ELEMENTALES

Page 57: Introduccion a Los Sistemas Operativos_2012-2013

GESTION DE MEMORIA PRINCIPAL

MULTIPROGRAMACION

PARTICIONES (ESTATICAS Y DINAMICAS)

SEGMENTACION

PAGINACION

MEMORIA VIRTUAL

Page 58: Introduccion a Los Sistemas Operativos_2012-2013

GESTION DE MEMORIA SECUNDARIA

SISTEMA DE ARCHIVOS

La informacion se guarda en ficheros.

Estos ficheros se irán distribuyendo por los sectores del disco pero teniendo en cuenta una condición: un sector solo podrá contener información de un fichero, si este no lo llena la diferencia entre lo que ocupa y la capacidad del sector se considera inusable y, por lo tanto, se desaprovecha.

Page 59: Introduccion a Los Sistemas Operativos_2012-2013

El principal problema del mapa es la cantidad de información que se utiliza para direccionar el disco. Si se emplean 16 bits para guardar donde se va a situar cada bloque de información se pueden direccionar 216 lugares diferentes, es decir 65.536. Si consideramos los sectores de 512 bytes independientemente, podríamos apuntar a 65.536 sectores, es decir, a 32 Mb. Si queremos apuntar a más información, se deben agrupar los sectores, así, si en lugar de a 65.536 sectores apuntamos a 65.536 grupos de 4 sectores (2 Kb), nuestra partición podría tener hasta 128 Mb.

GESTION DE MEMORIA SECUNDARIA

UNIDAD DE ASIGNACION

Page 60: Introduccion a Los Sistemas Operativos_2012-2013

Cada uno de esos bloques se denomina de una forma distinta según el sistema operativo, para nuestro propósito los llamaremos bien Bloques (UNIX) bien Clusters (MS-DOS/Windows en inglés) bien Unidades de Asignación (MS-DOS/Windows en castellano).

Su significado es siempre el mismo, es el espacio mínimo que ocupa un fichero. Así, un fichero que tenga un tamaño de 100 bytes, en el disco estará ocupando el espacio completo de una unidad de asignación, si esta es de 2.048 bytes, tendremos 1948 bytes desperdiciados y sin posibilidad de uso.

Lo ideal, para evitar perdida de espacio es tener las unidades de asignación lo más pequeñas posible (con un mínimo de un sector), pero esto supone utilizar más espacio para el mapa y por tanto perderemos espacio para almacenamiento de información ⇒ DESFRAGMENTACIÓN

GESTION DE MEMORIA SECUNDARIA

UNIDAD DE ASIGNACION

Page 61: Introduccion a Los Sistemas Operativos_2012-2013

GESTION DE MEMORIA SECUNDARIA

SISTEMA DE FICHEROS

Los sistemas de ficheros más conocidos son:

FAT: Para MS-DOS, Windows 95, 98 y ME.NTFS: Para Windows NT.HPFS: Original en OS/2, actualmente en UNIX y Novell Netware. EXT3/EXT4: GNU/Linux