Está en la página 1de 61

SISTEMAS OPERATIVOS

FUNDAMENTOS Y GESTION DE RECURSOS

SOFTWARE
El software son los programas de informtica que le indican al computador como tiene que realizar una serie de funciones. Se considera tambin como software al conjunto de procedimientos, tcnicas y documentacin que acompaa a los programas. Todo proceso de manipulacin 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.

SOFTWARE
SOFTWARE DE SISTEMAS SOFTWARE DE PROGRAMACION SOFTWARE DE APLICACION

SOFTWARE
SOFTWARE 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 perifricos 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.

SOFTWARE
SOFTWARE DE PROGRAMACION
Software de programacin Son los programas a partir de los cuales se pueden realizar los programas de aplicacin, es decir, son los lenguajes de programacin. Un lenguaje de programacin est compuesto por un conjunto de palabras unidades en base a un conjunto de normas (sintaxis). Dependiendo del nivel de complejidad y para quin estn diseados (persona u ordenador) se distinguen tres tipo de lenguajes de programacin: Bajo nivel Nivel medio Alto nivel Lenguaje Mquin Ensamblador Alto nivel de abstraccin

SOFTWARE
SOFTWARE DE PROGRAMACION
Edicin: Se trata de generar el cdigo fuente. Compilacin: 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 mquina. Dos formas posibles: 1. Programa intrprete 2. Programa compilador Enlace: Asociar los ficheros objeto, creados mediante la compilacin de un fichero fuente, con las libreras donde se encuentran. El resultado final es un nuevo fichero ejecutable con la extensin .EXE.

SOFTWARE
SOFTWARE DE APLICACION

Los programas de aplicacin estn creados a partir de los lenguajes de programacin y estn diseados para resolver problemas especficos o generales. Dependiendo de la finalidad para la que estn creados se dividen en programas verticales, estndar o de propsito general, freeware y shareware.

SOFTWARE de APLICACIN
PROGRAMAS 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.

SOFTWARE de APLICACIN
PROGRAMAS DE PROPOSITO GENERAL
Estos programas fueron diseados para evitar los costes de los programas verticales y ser utilizados para diversos fines. Los programas estndar se dividen segn su funcin en: 1.- Procesadores de texto: diseados para la elaboracin de documentos. Simulan el funcionamiento de una mquina de escribir, aunque pueden combinar texto e imgenes y tienen infinidad de posibilidades. Destacan: Microsoft Office Word, Wordperfect, LibreOffice Writer, etc. 2.- Hoja de clculo: creados para trabajar con gran cantidad de datos numricos y realizar operaciones de clculo complejas. Permiten obtener grficos a partir de los datos. Destacan: Microsoft Excel, LibreOffice Calc, Lotus, etc.

SOFTWARE de APLICACIN
PROGRAMAS DE PROPOSITO GENERAL
3.-Bases de datos: permiten manipular informacin de distintos tipos, mediante fichas o registros. Se suelen agrupar por caractersticas comunes formando los ficheros de datos, que podrn ser modificados y actualizados. Los ms conocidos son : dBase, Microsoft Access, LibreOffice Base, Oracle, SQL Server, etc. 4.- Paquetes integrados. Son programas creados para reunir en uno solo las caractersticas fundamentales de los tres anteriores. Destacan: Microsoft Works, Frameworks. 5.- Diseo grfico. Sobresalen: CorelDraw, PhotoShop, Freelance Graphics, Autocad, etc.

SOFTWARE de APLICACIN
PROGRAMAS DE PROPOSITO GENERAL
5.- Autoedicin: dirigidos a profesionales de las publicaciones impresas, permiten combinar texto e imgenes para componer peridicos, 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 Gestin integrada: Para llevar la gestin completa de una empresa, desde la contabilidad hasta el almacn. Por ejemplo: Contaplus, Contawin, etc.

SOFTWARE de APLICACIN
FREEWARE

Software que el programador pone a disposicin 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 ofimticas en este formato, una de las mas conocidas es LibreOffice. En otros casos la gratuidad del producto se consigue por medio de publicidad.

SOFTWARE de APLICACIN
SHAREWARE 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 confa en que le pagar la cantidad estipulada (generalmente muy econmica). En muchos casos los productos shareware estn limitados en sus funcionalidades o en el tiempo de uso.

SOFTWARE
OTROS ELEMENTOS
Manuales y documentacin La 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 informticos es disponer de cursos tutoriales que expliquen el manejo de una aplicacin o sistema. Cada vez existen ms y mejores programas tutoriales que se aaden al software bsico. Utilidades Las mquinas de hoy en da disponen de utilidades, adems del sistema operativo bsico, para ayudarles a realizar otras labores complementarias.

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 ms preciso, se refiere a cuatro libertades de los usuarios del software: La libertad de usar el programa, con cualquier propsito (libertad 0). La libertad de estudiar cmo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al cdigo fuente es una condicin 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 pblicas las mejoras a los dems, de modo que toda la comunidad se beneficie (libertad 3). El acceso al cdigo fuente es un requisito previo para esto.

SOFTWARE LIBRE
POR QUE SU IMPORTANCIA
Ms del sesenta por ciento de los servidores de pginas Web utilizan Apache. A pesar de la existencia de Java y Active X, la mayora 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 ms utilizado. El paquete freeware Majordomo es el ms popular procesador de listas de correo en Internet La gran mayora del correo electrnico 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 coleccin y distribucin de artculos de noticias es manejado por INN, otro paquete freeware que corre en miles de sitios a lo ancho del mundo.

SISTEMAS OPERATIVOS
QUE ES?
El sistema operativo no es mas que un programa que controla la ejecucin de los programas de aplicaciones y acta como un interfaz entre los usuarios del computador y el hardware del mismo. Sus objetivos bsicos son: 1.- Comodidad para los usuarios: El SO hace que el computador sea ms fcil de utilizar. En este caso hace que los usuarios vean una mquina virtual o extendida, que es ms sencilla de programar y de utilizar que la mquina desnuda (Ej. Imprimir, Ordenadores en Red, ...) 2.- Eficiencia. El SO gestiona los recursos del sistema de forma ms eficaz. Su funcin es en este caso la de un gestor de recursos

SISTEMAS OPERATIVOS
FUNCIONES

GESTIN DEL PROCESADOR GESTIN DE LA MEMORIA GESTIN DE DISP. E/S GESTIN DE ARCHIVOS SEGURIDAD

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.
Generacin Cero (1940-1950): Abarca la dcada de los aos 40 y se caracteriza por la ausencia de sistemas operativos en los computadores (Lgica Cableada). El usuario tena acceso completo al lenguaje mquina y todas las instrucciones se codificaban manualmente. Los propios usuarios eran quienes controlaban la ejecucin de sus programas. Usaban tarjetas perforadas para introducirle las instrucciones que componen el programa. Primera generacin (1950-1964): Abarca los aos 50 (aparicin del transistor). Aparecen los ensambladores. El fin, de estos primeros sistemas operativos era permitir en la mquina la secuencia automtica de los trabajos de los usuarios. De esta forma se consegua evitar el tiempo que se perda, y que poda ser considerable, desde que un proceso terminaba su ejecucin hasta que comenzaba el siguiente. Para ello los trabajos se organizaron en lotes. Se empiezan a utilizar las cintas magnticas como soporte. Aparecen lenguajes de programacin como FROTAN (1957, 1er LenAlNi) y COBOL.

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.

ENIAC. 2 GUERRA MUNDIAL.

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.
Segunda generacin (1964-1972): Primera parte de los aos 60. Generalizacin de los transistores (aparicin de los CI) Desarrollo de los SO. Debido al elevado coste que tenan los computadores de aquella poca se intent mejorar el rendimiento en su utilizacin y aumentar el nmero de trabajos ejecutados en un intervalo de tiempo dado. Esto se consigui con el perfeccionamiento del procesamiento de trabajo por lotes, con la introduccin de la multiprogramacin (varios procesos simultneos) y el multiprocesamiento (varios procesadores simultneos), memoria virtual (1972), y utilizacin compartida de dispositivos de E/S (spooler). En esta poca aparecieron tambin los sistemas en tiempo real. Aparece UNIX (1969, Ken Thompson). Tercera generacin (1972-1981): Generalizacin de UNIX: multiprogramacin, multitarea, procesado interactivo, memoria virutal, etc. Revolucin de los lenguajes de programacin: Aparicin de C.

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.

SISTEMAS OPERATIVOS
HISTORIA GENERACIONES DE LOS S.O.
Cuarta generacin (1981-...): Esta generacin viene maracada por la aparicin del PC de IBM. Aparece MS-DOS (elegido por IBM para su PC). Es la generacin en la que se universalizan las redes de datos (Internet). Corresponde al estado actual del campo. Los ordenadores de esta generacin pueden disponer de: Multiprogramacin, Tiempo compartido, Memoria virtual, Procesos secuenciales que cooperan por medio de semforos, Sistemas de archivos jerrquicos, Redes de Ordenadores, Sistemas operativos distribuidos, GUI, Programacin orientada a objetos, Herramientas CASE, Herramientas RAD, Tecnologa cliente-servidor, Seguridad Posiblemente el ms 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.

SISTEMAS OPERATIVOS
MQUINA VIRTUAL O INTERMEDIARIO
Creacin 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 travs de l. Ejecucin de programas. El sistema debe ser capaz de cargar en memoria el programa y posteriormente ejecutarlo. Operaciones de Entrada/Salida. Cualquier programa en ejecucin puede solicitar un proceso de entrada/salida sobre un dispositivo o perifrico conectado al sistema. Manipulacin y control del sistema de archivos. Los ficheros son un elemento esencial dentro de un sistema para el proceso de la informacin, por lo que es obvio que los programas de aplicacin necesiten leer y escribir sobre este tipo de estructuras lgicas para realizar operaciones tales como aadir informacin, consultar datos, borrar, alterar, etc.

SISTEMAS OPERATIVOS
MQUINA VIRTUAL O INTERMEDIARIO
Deteccin 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 perifrico, fallos en la transmisin de los datos, errores de clculo 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 pblicos, el sistema operativo debe controlar el acceso al mismo, vigilando quin tiene acceso y a qu recursos. Elaboracin de informes estadsticos. Resulta muy conveniente conocer el grado de la utilizacin de los recursos y de los distintos parmetros del sistema, como el tiempo de respuesta. De esta forma se dispone de informacin que permite saber con antelacin las necesidades futuras y configurar al sistema par dar el mejor rendimiento.

SISTEMAS OPERATIVOS
CLASIFICACION POR SERVICIOS

SISTEMAS DE PROCESAMIENTO DE LOS TRABAJOS - POR LOTES (BATCH)


Se denomina proceso por lotes en sistemas multiprogramados al que no precisa intervencin del usuario durante la ejecucin de los trabajos, tratndose en general de trabajos largos que van solicitndose 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), realizndolos en paralelo. En estos sistemas se puede establecer un sistema de prioridades para que algn proceso ms importante no tenga que esperar en la cola a que acaben todos los que tiene por delante.

SISTEMAS DE PROCESAMIENTO DE LOS TRABAJOS MULTIPROGRAMACION

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 multiprogramacin varios programas podan residir a la vez en memoria y el procesador se poda conmutar rpidamente entre ellos lo que permita que un trabajo pudiera estar realizando clculos a la vez que otro lea de una cinta magntica, un tercero escriba en un disco, etc. Desde el punto de vista del usuario, se considera que los procesos se estn ejecutando en paralelo (a la vez) sin tener en cuenta que en cada momento slo se atiende a uno de ellos.

SISTEMAS DE PROCESAMIENTO DE LOS TRABAJOS MULTIPROGRAMACION


PROBLEMAS A SOLVENTAR: 1. El acceso al procesador debe seguir algn tipo de reglas o polticas que permitan la ejecucin de todos los trabajos. 2. Varios trabajos pueden necesitar la utilizacin de un recurso al mismo tiempo, dando lugar a problemas de concurrencia. 3. Se hace necesario algn tipo de gestin de la memoria, ya que sta tiene que ser compartida por todos los trabajos.

SISTEMAS DE PROCESAMIENTO DE LOS TRABAJOS MULTIPROCESO


Uno de los problemas actuales en el proceso de datos ha sido la aparicin de aplicaciones que manejan tal cantidad de informacin, que un solo procesador no es capaz de procesarla en el tiempo requerido. Descomposicin de algoritmos en subalgoritmos ms 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 porcin de informacin al mismo tiempo. Todo esto implica un SO muy complejo. Ej. Big Blue ( 32 procesadores en paralelo)

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 impresin a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y proteccin 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 asignacin 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 proteccin y control en el acceso de la informacin, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.

SISTEMAS DE PROCESAMIENTO DE LOS TRABAJOS SISTEMAS TIEMPO REAL


El tiempo real es otra modalidad de los sistemas operativos multiprogramados, en que se necesita un tiempo de respuesta pequeo ante en que peticin. 1. Fuertes restricciones en el tiempo de respuesta (milisegundos). 2. La informacin debe estar permanentemente actualizada. 3. El sistema debe permanecer prcticamente inactivo para atender lo ms rpidamente posible cualquier evento en la entrada. 4. Manejo eficaz de interrupciones. 5. Manejo sencillo de prioridades. 6. Gestin de memorial real. 7. Permite modificaciones en tiempo real sin parar la produccin. AUTOMATAS (Ej. Programacion en ADA)

ARQUITECTURA DE LOS SISTEMAS OPERATIVOS

1.- ESTRUCTURA MONOLTICA 2.- ESTRUCTURA DE CAPAS (ANILLOS CONCENTRICOS) 3.- MICRONUCLEO Y CLIENTE SERVIDOR

PROCESOS
Empieza a tomar importancia su signficado, con la aparicion de sistemas multiprogracion. Sus objetivos principales se pueden expresar como: permitir la creacin y comunicacin entre los procesos y gestionar entre ellos la utilizacin 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.

ESTADO DE LOS

PROCESOS

Un proceso es un elemento dinmico 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. 2. 3. 4.

Activo Preparado Bloqueado o Suspendido Muerto

PROCESOS
TRANSICIONES ENTRE ESTADOS
Paso a activo: El sistema operativo posee un mdulo, el distribuidor (dispatcher) que se encarga de activar los procesos que estn en el estado preparado de acuerdo con unos criterios determinados (por ejemplo en funcin 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 ejecucin puede pasar a bloqueado si solicita el servicio de un recurso sin cuyos resultados no puede continuar, por ejemplo una operacin de E/S, o bien, si necesita que tenga lugar algn evento para poder continuar. Paso a muerto: Un proceso pasa al estado muerto cuando finaliza o cuando queda eliminado por otro proceso.

PROCESOS
BLOQUE DE CONTROL DE PROCESOS
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. Localizacin de la informacin sobre el proceso por parte del sistema operativo. 2. Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecucin o reanudarla.

PROCESOS
BLOQUE DE CONTROL DE PROCESOS
Esta informacin 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, cdigos de condicin, punteros de pila, etc). La informacin para gestionar la memoria (punteros, tablas, registros). La informacin de estado del sistema de E/S (dispositivos de E/S asignados al proceso, lista de archivos abiertos, etc.). La informacin de contabilidad y planificacin.

PROCESOS
OPERACIONES SOBRE PROCESOS
1. Crear un proceso. Se produce con la orden de ejecucin 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 eliminacin del proceso con la cual el sistema operativo destruye su PCB. 3. Suspender un proceso. Es una operacin 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 ejecucin 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 perodo de tiempo fijo.

PROCESOS
PLANIFICADOR DE PROCESOS
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 decisin, el planificador debe decidir cual de los procesos que compiten por la posesin 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). Tambin existe un planificador a medio plazo (PMP).

PROCESOS
PLANIFICADOR DE PROCESOS / PLP
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 gestin establecidos para la utilizacin 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 gestin del PLP los procesos se gestionan por el planificador PCP, ms sencillo que aquel ya que no soporta la sobrecarga del clculo de las prioridades.

PROCESOS
PLANIFICADOR DE PROCESOS / PCP
El PCP selecciona al proceso que pasar al estado activo de entre todos los procesos residentes en memoria que estn en el estado preparado. La funcin 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 invocacin al PCP estn: 1. Las seales del reloj del sistema. 2. Las interrupciones. 3. La finalizacin de las operaciones de E/S. 4. Las llamadas al sistema operativo. 5. La activacin de programas interactivos.

PROCESOS
PLANIFICADOR DE PROCESOS / PMP
En un sistema en que se gestiona la memoria con intercambio, y con ms procesos en ejecucin 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 seleccionar el momento en los que intercambiado debe pasar de disco principal. encarga de un proceso a memoria

PROCESOS
PLANIFICADOR DE PROCESOS / PMP

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).

PROCESOS
PLANIFICADOR DE PROCESOS
DISCO DURO O UNIDAD DE ALMACENAMIENTO SECUNDARIA NONATO FIN DE E/S PREPARADO INTERCAMBIADO CONCLUIDO BLOQUEADO INTERCAMBIADO

PLP

CANCELADO O ERROR FIN, CANCELADO O ERROR ACTIVO PCP

PMP

CANCELADO O ERROR FIN DE E/S

PMP

PREPARADO MEMORIA PRINCIPAL E/S

BLOQUEADO

PLANIFICADOR DE PROCESOS
POLITICAS DE PLANIFICACIN
FCFS: En esta poltica de planificacin el procesador ejecuta cada proceso hasta que termina; por tanto, los procesos que entren en cola de procesos preparados permanecern encolados en el orden en que lleguen hasta que les toque su ejecucin. Este mtodo se conoce tambin como "El primero en entrar, primero en salir" (First In, First Out: FIFO). Sus caractersticas son: 1.- No apropiativa. 2.- Justa, aunque los procesos largos hacen esperar mucho a los cortos. 3.- Es una poltica predecible. 4.- El tiempo medio de servicio es muy variable en funcin del nmero de procesos y su duracin.

PLANIFICADOR DE PROCESOS
POLITICAS DE PLANIFICACIN
SJN (Shortest Job Next) : Esta poltica toma de la cola de procesos preparados el que necesite menos tiempo de ejecucin para realizar su trabajo. Para ello debe saber el tiempo de procesador que necesita cada proceso, lo cual no es tarea nada fcil. 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 polticas es ptimo. 3.- Es poco predecible. 4.- No es justa con los procesos largos. 5.- Buen tiempo de servicio. 6.- Resulta difcil de poner en prctica por los datos que necesita.

PLANIFICADOR DE PROCESOS
POLITICAS DE PLANIFICACIN
SRT: Prximo proceso, el de tiempo restante ms corto (Shortest Remaining Time). Sus caractersticas 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 polticas 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 difcil de poner en prctica por los datos que necesita para realizarse la planificacin.

PLANIFICADOR DE PROCESOS
POLITICAS DE PLANIFICACIN
Round-Robin (RR): Asignacin cclica o planificacin en rueda, es una mejora de la FCFS. Consiste en conceder a cada proceso en ejecucin un determinado perodo de tiempo denominado quantum transcurrido el cual, si el proceso no ha terminado, se le devuelve al final de la cola de procesos preparados, concedindose el procesador al siguiente proceso. Las caractersticas de esta poltica de planificacin son: 1.- Apropiativa. 2.- Baja sobrecarga si el cambio de contexto es eficiente y los procesos siempre estn en la memoria principal. 3.- Es la poltica ms 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 PLANIFICACIN

En esta poltica se asocia a cada proceso una prioridad, de manera que el procesador se asigna al proceso de mayor prioridad. El principal problema de esta poltica es el bloque o postergacin 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 estn a la espera de utilizar el procesador. Cualquier algoritmo basado en esta poltica 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.

PLANIFICADOR DE PROCESOS COMUNICACIN ENTRE PROCESOS


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 seal de despertar, los procesos dormidos la escuchan, se despiertan e intentan de nuevo acceder al recurso. El que lo consigue lanza una seal 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 seal de "despertar" no ser oda, de esa manera el otro proceso puede quedarse dormido de forma indefinida. Solucin SEMFOROS Y MONITORES

COMUNICACIN ENTRE PROCESOS

SEMFOROS
Buscan regular el acceso a los recursos generando una variable (semforo) para cada uno de los recursos. Este semforo 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 semforos se permiten las siguientes operaciones: wait(s): incrementa el valor de s (semforo). signal(s): decrementa el valor de s. initial(s,valor): inicializar el semforo a un valor determinado (no est presente en todos los sistemas).

COMUNICACIN ENTRE PROCESOS

MONITOR
En este caso los procesos no acceden directamente a los recursos ni los gestionan directamente mediante semforos. Lo que se hace es acceder a una serie de procedimientos dados (monitor). En el monitor se encontrarn todos los algoritmos necesarios para gestionar el recurso, es decir decidir que procesos accedern al recurso y todos los sistemas necesarios para ello. Con esto se consigue que la programacin de acceso a los recursos sea ms estructurada.

GESTION DE MEMORIA

MEMORIA PRINCIPAL
Si se pretende que los procesos estn preparados para su ejecucin es necesario cargarlos en la memoria principal, ya que ningn 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 misin del gestor de la memoria es la asignacin de memoria principal a los procesos que la solicitan.

GESTION DE MEMORIA PRINCIPAL

SISTEMAS ELEMENTALES
Sin gestor: No existe ningn sistema de gestin 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 cargarn las rutinas del sistema operativo necesarias para que el sistema funcione correctamente que quedarn 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 quedarn constantemente en memoria realizando sus tareas o esperando su invocacin (relojes, utilidades de teclado ...) es lo que se conoce como programas residentes.

GESTION DE MEMORIA PRINCIPAL

MULTIPROGRAMACION
PARTICIONES (ESTATICAS Y DINAMICAS) SEGMENTACION PAGINACION MEMORIA VIRTUAL

GESTION DE MEMORIA SECUNDARIA

SISTEMA DE ARCHIVOS
La informacion se guarda en ficheros.
Estos ficheros se irn distribuyendo por los sectores del disco pero teniendo en cuenta una condicin: un sector solo podr contener informacin 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.

GESTION DE MEMORIA SECUNDARIA

UNIDAD DE ASIGNACION
El principal problema del mapa es la cantidad de informacin que se utiliza para direccionar el disco. Si se emplean 16 bits para guardar donde se va a situar cada bloque de informacin se pueden direccionar 216 lugares diferentes, es decir 65.536. Si consideramos los sectores de 512 bytes independientemente, podramos apuntar a 65.536 sectores, es decir, a 32 Mb. Si queremos apuntar a ms informacin, 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 particin podra tener hasta 128 Mb.

GESTION DE MEMORIA SECUNDARIA

UNIDAD DE ASIGNACION
Cada uno de esos bloques se denomina de una forma distinta segn el sistema operativo, para nuestro propsito los llamaremos bien Bloques (UNIX) bien Clusters (MS-DOS/Windows en ingls) bien Unidades de Asignacin (MS-DOS/Windows en castellano). Su significado es siempre el mismo, es el espacio mnimo que ocupa un fichero. As, un fichero que tenga un tamao de 100 bytes, en el disco estar ocupando el espacio completo de una unidad de asignacin, 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 asignacin lo ms pequeas posible (con un mnimo de un sector), pero esto supone utilizar ms espacio para el mapa y por tanto perderemos espacio para almacenamiento de informacin DESFRAGMENTACIN

GESTION DE MEMORIA SECUNDARIA

SISTEMA DE FICHEROS
Los sistemas de ficheros ms 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

También podría gustarte