SISTEMAS OPERATIVOS I. OBJETIVOS  Interpretar el funcionamiento del S.O.  Conocer la Evolución de los S.O. y su aplicabilidad.  Interpretar la funcionalidad.

1 SISTEMAS OPERATIVOS I ...
Author: Rafael Pérez Segura
0 downloads 0 Views

1 SISTEMAS OPERATIVOS I

2 OBJETIVOS  Interpretar el funcionamiento del S.O.  Conocer la Evolución de los S.O. y su aplicabilidad.  Interpretar la funcionalidad que ofrecen los S.O. para que los usuarios accedan al hardware.  Interpretar que es un proceso, su funcionamiento, administrar procesos a través del S.O.  Conocer y administrar S.O.  Conocer el funcionamiento de la memoria, su administración.  Instalar, configurar y administrar recursos y aplicaciones a través del S.O. desde línea de comandos.  Ídem a través de una interface gráfica.

3 ESQUEMA CONCEPTUAL Concepto de SISTEMA OPERATIVO Estructura General del Sistema de Archivos Organización de la MEMORIA Arquitectura de Sistemas D.O.S. Implantación de los PROCESOS

4 SIST. OP. I UNIDAD 1

5 Objetivos Reconocer las distintas funciones del S.O. Identificar las distintas partes del sistema de archivos Interpretar la estructura de un Sistema de Archivos Comprender el concepto de proceso, identificar los estados de un proceso Comprender los diferentes estados de un proceso

6 ¿Cómo surgieron los S.O.?  Años 40-50: Los S.O. eran cargados bit a bit mediante llaves (switchs)  Años 60: Primeros ordenadores, se programaban en código de máquina (assembler) – Tarea muy pesada, mediante tarjetas perforadas. Bibliotecas de rutinas  Generalizar el uso de las rutinas, me modo de acceder al hardware y accesibles al programador a través de llamadas a subrutinas (API´s). Esto da nacimiento al S.O.  Procesamiento por lotes (batch)  Sistemas Operativos Multitarea: Se aprovechan los tiempos muertos de lectura de datos, para que el procesador ejecute un programa.  Sistemas Op. Distribuidos: Generalmente en una red de ordenadores, se aprovechan de los ordenadores ociosos para procesos. Son al momento la evolución de la tendencia moderna de los S.O. Concepto de threads

7 S.O. Concepto: Interface entre lenguaje de alto nivel – bajo nivel – hardware Conjunto de programas ó módulos, donde cada uno cumple un objetivo especifico Conjunto de programas que presta servicios al usuario (persona, otro proceso u otro programa del usuario)

8 Un programa de usuario, tiene las rutinas o funciones necesarias para manejar la electrónica del teclado, ó el monitor por ejemplo? NO Se necesita conocer el hardware de la computadora y los principios de control ó protocolos en los cuales se basa el hardware.- Es justamente la tarea del S.O. resolver el problema. El usuario solicita los servicios al S.O.

9 Recursos, administración y servicios El S.O. es el administrador de los recursos del sistema Administra y gestiona la memoria del sistema

10 Programa de usuario y los archivos ¿El programa del usuario, tiene la capacidad de manejar el disco y los archivos que hay en el mismo? NO Las estructuras lógicas como los archivos y también toda la infraestructura que organiza estos en un disco, se conoce como SISTEMA de ARCHIVOS (FILE SYSTEM) El Sistema de Archivos es también un recurso del Sistema.

11 El S.O. Es un administrador de los recursos El S.O. Presenta al usuario una imagen ideal o virtual de la máquina real

12 Secuencias de ejecución de un proceso APLICACIONES LIBRERIAS de LENGUAJE S.O. Software independiente del dispositivo Manejadores de dispositivos (DRIVERS) S.O. Software dependiente del dispositivo FIRMWARE (ROM-BIOS) HARDWARE ASSEMBLER. Rutinas sencillas a complejidad baja Lenguaje “C” y ASSEMBLER. Rutinas de complejidad media, software de bajo nivel Alto nivel de complejidad. Lenguajes C++, PascaL, Delphi, V.B.

13 Llamadas al Sistema Operativo Son ejecutadas por los programas de usuario, para obtener un servicio La única forma de obtener un servicio es a través de una llamada al S.O. Este es un mecanismo provisto por el propio sistema operativo, permitiendo a los usuarios acceder en forma ordenada a los recursos del sistema

14 Llamadas al sistema (System calls) Cuando el S.O. toma el control, este realiza una tarea de organización que le es propia para mantener y controlar la administración de los recursos del sist. Después el S.O., llama a un driver de dispositivo, quien finalmente interactuará con el firmware del hardware.

15 ¿Qué es la BIOS? Sistema Básico de Entrada / Salida Maneja las entradas y salidas a los dispositivos estándar del sistema Sirve para configurar nuestra PC

16 Sistema Operativo La misión e importancia del S.O. Qué funciones cumple el S.O. Cómo usar los servicios del S.O.

17 Maquina Real y Maquina virtual Maquina real: Es la computadora con sus periféricos tal cual se presenta físicamente al usuario, conjunto de circuitos y dispositivos que generan y reciben señales eléctricas con el fin de lograr distintos objetivos. Es la máquina a ser controlada.

18 Estructura de los S.O. Sistemas Operativos Monoliticos: –La estructura consiste, en que no hay una estructura prefijada. –Conjunto de procedimientos, cada uno de los cuales puede interactuar con otros cada vez que sea requerido –Todos los procedimientos se enlazan a un único archivo objeto

19 Tipos de S. Operativos: Sist. Op. Por Lotes El programa, los datos y ordenes al sistema son todos remitidos en forma de trabajo ó JOB Muy poca interacción con el usuario/programa en ejecución Conveniente para programas de largos tiempos de ejecución.(Ej.análisis estadísticos, nominas de personal) Se lo encuentra en computadores personales combinados con procesamiento serial Planificación de la CPU sencilla, típicamente por orden de llegada

20 Tipos de S. Operativos: Sist. Op. Por Lotes Planificación de memoria sencilla, generalmente dos partes, una para el S.O. Y otra para los programas transitorios y datos No requieren gestión crítica de dispositivos en el tiempo Proporcionan generalmente una gestión sencilla de manejo de archivos: requieren poca protección y ningún control de concurrencia para el proceso

21 Tipos de S. Operativos: Sist. Op. Multiprogramación Mejoran la productividad del sistema y utilización de los recursos Multiplexa recursos entre varios programas Generalmente son multiusuarios Proporcionan facilidades para mantener el entorno de usuarios individuales Requieren validación de usuario para seguridad y protección Contabilidad del uso de los recursos por parte del usuario

22 Tipos de S. Operativos: Sist. Op. Multiprogramación Multitarea sin soporte de multiusuario, se encuentran en algunos sistemas de tiempo real Sistemas multiprocesadores son multitarea por definición, ya que soportan la ejecución simultánea de distintos programas en diferentes CPU´s En general se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: CPU, memoria, dispositivos periféricos, etc.

23 Colección de sistemas autónomos capaces de comunicarse y cooperar mediante interconexiones hardware y software Proporcionan abstracción de máquina virtual a los usuarios El objetivo que se persigue es la transparencia para el usuario Generalmente proporcionan medios para compartir en forma global los recursos Tipos de S. Operativos: Sist. Op. Distribuidos

24 Categorías de Sistemas Op. Multitarea: Capacidad del S.O. De correr mas de un programa al mismo tiempo Se presentan dos esquemas: –Cooperación entre los programas del S.O. y los programas de aplicación –Multitarea con asignación de prioridades, el S.O. mantiene una lista de los procesos que están corriendo asignándoles una prioridad

25 Categorías de Sistemas Op. Multiusuario: Permiten a mas de un solo usuario acceder a los recursos del sistema, requiere que sea además multitarea

26 Categorías de Sistemas Op. Multiproceso: Las computadoras que tienen mas de un CPU se llaman multiproceso. Un S.O. Multiproceso coordina las operaciones de las Computadoras con multiprocesadores Dos esquemas principales: Asimétrico y Simétrico

27 ARCHIVOS El S.O. debe ocultar las particularidades de los discos, y demás dispositivos de E/S para presentar al programador un modelo agradable y nítido de archivos independientemente de los dispositivos Permisos de lectura, escritura y ejecución

28 Archivos Especiales: Los Dispositivos Los disquetes Los puertos Los CD-ROM Los archivos especiales aparecen como una forma de hacer que los dispositivos de E/S se vean como archivos, de esta forma se puede leer y escribir en ellos mediante llamadas al sistema, las mismas que se usan para los archivos comunes. Existen dos tipos de archivos especiales: de BLOQUE y de CARÁCTER

29 TUBERIAS ó TUBOS (pipe ó pipeline) Especie de pseudo archivo, sirve para conectar dos procesos El proceso A tiene como salida los datos de entrada del proceso B, por lo tanto los puedo conectar a través de un tubo ó pipe Esto se hace a través de una llamda especial al sistema UNIX y MS-DOS soportan tubos

30 Llamadas al Sistema (Call system) Los programas del Usuario se comunican con el S.O. A través de las llamadas al sistema, cada una corresponde a un procedimiento de biblioteca que son accesibles al usuario. El S.O. examina los parámetros para determinar si son válidos y así realizar la tarea solicitada.

31 Call System Al termino del procedimiento el S.O. coloca un código de estado en un registro, indicando si tuvo éxito ó no. Ejecuta además un return from trap para regresar el control al procedimiento de biblioteca. Ver ejemplo con READ

32 EL SHELL Interprete de comandos de la mayoría de los S.O. No forma parte del S.O. propiamente dicho. Hace uso extenso de muchas de las llamadas al S.O. Interfaz principal entre el usuario y el S.O.

33 EL SHELL El shell se inicializa cuando el usuario inicia sesión. Tiene un indicador que señala al usuario que esta listo para recibir comandos. Cuando se ingresa un comando el shell crea un proceso hijo el shell espera a que el hijo termine e informa el resultado.

34 EL SHELL Usa redirectores de entrada y salida. Usa los llamados pipe o tuberías. Salida estándar del shell es el monitor. Entrada estándar del shell es el teclado. Se pueden lanzar comandos en background.

35 MAQUINAS VIRTUALES El concepto nace a partir del OS/360. IBM presenta el TSS/360 sin mucho éxito. Basado en la experiencia del TSS/360, IBM desarrolla el CP/CMS, que después derivó en el VM/370. VM/370: Multiprogramación y maquina extendida.

36 MAQUINAS VIRTUALES La esencia de VM/370 es la separación total de las dos funciones: máquina extendida y multiprogramación. Cada maquina virtual es idéntica al hardware real, de modo que cada maquina virtual puede ejecutar cualquier S.O. Cuando se produce una llamada al sistema esta es atrapada por el S.O. de su propia máquina virtual.

37 MAQUINAS VIRTUALES Mediante el CMS se proporcionan las instrucciones normales de E/S al VM/370, para que las lleve a cabo sobre el hardware verdadero. CMS: Sistema interactivo para un solo usuario, (Conversational Monitor System) La separación de las funciones de multiprogramación y máquina extendida hace mas fácil el mantenimiento.

38 PROCESOS Se entiende por proceso a un programa en ejecución. La CPU alterna de programa en programa en un entorno de multiprogramación. Todo software ejecutable en la computadora se organiza en procesos secuenciales, inclusive el S.O.

39 PROCESOS: Modelo de Procesos Un programa en ejecución incluye los valores activos del contador de programa (PC – Program Counter), registros, y variables de programa. De manera conceptual cada proceso tiene su propia CPU. En este concepto se basa la Multiprogramación.

40 PROCESOS Receta de cocina: código o programa fuente Cocinero: CPU Ingredientes: Los datos del programa Actividad ó proceso, el cocinero busca los ingredientes y cocina el pastel. Un proceso es una actividad de cierto tipo.

41 PROCESOS: Jerarquía de los Procesos Los S.O. deben ofrecer alguna forma de crear los procesos necesarios para los servicios al usuario. En los S.O. sencillos (Monotareas) es posible que todos los procesos que podrían ser necesarios en algún momento pueden estar presentes en la inicialización del sistema, pero en la mayoría de los sistemas se necesita una forma de crear y destruir procesos.

42 PROCESOS: Jerarquía En UNIX/Linux, los procesos se crean mediante la llamada al sistema FORK. FORK crea una copia del proceso que hizo la llamada. Después el padre sigue su ejecución en paralelo con el hijo, el padre puede dar lugar a mas hijos, y los hijos a otros hijos mediante FORK, dando un árbol de procesos de profundidad arbitraria.

43 PROCESOS: Jerarquía En MS-DOS, cuando el padre crea un hijo, el S.O. suspende al padre hasta que el hijo finaliza su ejecución, no existe el paralelismo de proceso.

44 PROCESOS: Estados El scheduler o planificador maneja las cuotas de CPU para los distintos procesos según las características propias del S.O. Existen procesos de usuario (cuando se emite un comando desde el shell) y procesos propios del S.O. Es por estas razones que los procesos tienen estados, según se esten ejecutando, o en espera o terminado.

45 PROCESOS: Estados Ejecutando: El proceso se esta ejecutando en el CPU, es decir ha tomado el CPU. Listo: El proceso esta en condiciones de ejecutarse pero debe esperar su turno de CPU. Bloqueado: El proceso no esta en condiciones de ejecutarse, esta esperando algún evento, como la finalización de una operación de I/O.

46 Contexto y Conmutación de contexto. Distintos tipos de multitarea. En un ambiente multitarea tenemos varios programas concurrentes, o al mismo tiempo, aunque sabemos que en rigor esto no es así. Dos programas iguales pueden ejecutarse con distintas entrada de datos lo que da origen a dos procesos distintos.

47 Contexto y Conmutación de contexto. Distintos tipos de multitarea. De esta forma cada proceso tiene su propia individualidad, definida por los elementos que posee en memoria, incluido el código, que se utilizan en su ejecución. Estas características constituyen el contexto.

48 Contexto y Conmutación de contexto. Distintos tipos de multitarea. El contexto podría dividirse en dos partes: a) la que es utilizada cuando la tarea ó proceso se ejecuta mediante las instrucciones del propio programa, lo que se conoce como ejecución a nivel de usuario (contexto de usuario) b) La otra parte es aquella que se utiliza cuando la tarea se ejecuta a nivel de sist. Operativo (contexto de S.Operativo).

49 Contexto y Conmutación de contexto. Distintos tipos de multitarea. Cuando una tarea se suspende para dar paso a la otra, se dice que se produce una conmutación de contexto El microprocesador cambia de un ambiente a otro, lo que significa que cambian los valores de sus registros para procesar otra tarea, localiza en memoria otros datos, y posiblemente cambia el código. Cada tarea tiene su propio stack ó pila tanto para el código del usuario como para el código del S.O.

50 Contexto y Conmutación de contexto. Distintos tipos de multitarea. Todo S.O. multitarea tiene que tener el mecanismo necesario para realizar la conmutación de contexto. Los pasos a dar para realizar esta conmutación son: –Decidir la suspensión del proceso que se esta ejecutando y definir el nuevo proceso a ejecutar.

51 Contexto y Conmutación de contexto. Distintos tipos de multitarea. –Salvar o guardar en algún lugar de la memoria el contexto dinámico del proceso que se suspende (proceso actual) –Restaurar el contexto dinámico para el nuevo proceso. –Activar el nuevo proceso.

52 El Planificador ó Scheduler Para que ningún proceso acapare el CPU, existe una forma de multitarea que realiza una conmutación dinámica entre todos los procesos en condiciones de ejecutarse. Esto es una forma eficiente para la ejecución concurrente de las tareas, ya que es transparente para las mismas. Los S.O. Que funcionan de esta manera tienen un módulo muy importante que es el encargado del control de la multitarea: el planificador ó scheduler

53 El Planificador ó Scheduler: Criterios de Planificación Se encarga de mantener a los programas en constante ejecución. Por lo tanto es responsable en gran parte de la eficiencia del sistema. El planificador se ejecuta en forma periódica de manera de mantener un esquema de prioridades para todas las tareas que están compitiendo por el CPU. Al cabo de un tiempo fijo denominado quantum, el planificador decide la conmutación de contexto, y elige un nuevo proceso para ejecutarse.

54 El Planificador ó Scheduler: Criterios de Planificación El nuevo proceso en ejecución será aquel de mayor prioridad, puede ser algún proceso que mantiene en suspenso su ejecución, puede ser el mismo proceso que se estaba ejecutando, con lo cual gana un nuevo quantum de tiempo. El criterio adoptado por el planificador para la asignación de prioridades será lo suficientemente inteligente y sencillo para permitir la ejecución de aquel proceso que sea mas conveniente al rendimiento del sistema

55 El Planificador ó Scheduler: Criterios de Planificación El planificador debe usar un criterio ó algoritmo para asignar las prioridades a los procesos. Un algoritmo sencillo sería asignar turnos, con formación de cola. (sencillo pero poco conveniente), hay procesos con mayores privilegios que otro También hay tareas que son mas importantes que otras por el solo hecho de responder a un privilegio establecido arbitrariamente en el sistema.

56 El Planificador ó Scheduler: Criterios de Planificación Existe también lo que se llama prioridad intrínseca de cada proceso, que esta relacionada con la importancia que tiene su ejecución para que el sistema se desenvuelva con la mayor eficiencia posible. De dos procesos con igual prioridad de ejecución se ejecuta aquel que estuvo mas tiempo en espera de CPU

57 El Planificador ó Scheduler: Criterios de Planificación Resumen: Para optimizar el rendimiento del sistema: –El microprocesador NO debe quedar inactivo, si hay alguna tarea pendiente. –Todas las tareas deben ejecutarse con la mayor rapidez posible –Deben ejecutarse la mayor cantidad de tareas simultáneamente

58 El Planificador y la Multitarea La ejecución puede ser en modo usuario o en modo kernel (kernel: núcleo del S.O., este termino surgió a partir de UNIX) En modo usuario se ejecutan las instrucciones del programa. Cuando se necesita un servicio del S.O. ¿Qué sucede? Se produce una llamada al S.O.; y entonces se pasa a modo kernel, donde se ejecuta con las instrucciones del S.O. Terminado el servicio solicitado al S.O., se vuelve a modo usuario.

59 El Planificador y la Multitarea En modo kernel es el S.O. Quien maneja los recursos del sistema, si al tratar de usar algún recurso este se encuentra “capturado” por otro proceso que en ese momento no se ejecuta, ante la imposibilidad de disponer de dicho recurso, el proceso no puede seguir ejecutándose, entonces se lo pasa a bloqueado.

60 El Planificador y la Multitarea El proceso pasa a bloqueado en memoria, se suspende momentáneamente su ejecución hasta disponer del recurso. En este punto ocurre una nueva conmutación de contexto y el planificador decide cual proceso se va a ejecutar En el estado bloqueado en memoria, se pueden tener muchos procesos, tantos como cantidad de memoria se disponga. Si no se dispone de memoria suficiente, se guardan en disco (swaping)

61 El Planificador y la Multitarea Cuando el proceso dispone del recurso esperado, será desbloqueado, y pasará a listo en memoria. Listo en memoria: en este estado se encuentran todos los procesos en condiciones de ejecutarse. Los procesos listos en memoria y el proceso que se esta ejecutando son los que compiten por la CPU, y por lo tanto es de los que se ocupa de administrar el planificador.

62 El Planificador y la Multitarea Otra situación que puede darse es que al proceso que se esta ejecutando en modo usuario se le cumpla el quatum, entonces el planificador lo desactiva, realizando una conmutación de contexto. El proceso pasará de modo usuario a modo preempted que es el estado de todos los procesos desactivados por el planificador a los cuales se le venció el quantum de tiempo. En un momento dado algún proceso preempted alcanzará la prioridad suficiente y pasará a modo usuario para su ejecución.

63 El Planificador y la Multitarea Modo Usuario Modo Kernel RETORNO Llamada al S.O. PREEMPTED LISTO en MEMORIA BLOQUEADO DESBLOQUEO BLOQUEO EN EJECUCION Activado por el Planificador Desactivado por el Planificador Activado por el Planificador

64 Terminación de Procesos Una vez creados, los procesos ejecutan la tarea encomendada, sin embargo tarde ó temprano el proceso deberá terminar debido a una de las siguientes situaciones: –Terminación normal (voluntaria) –Terminación por error (voluntaria) –Error fatal (involuntaria) –Terminación por otro proceso (involuntaria)

65 Terminación de Procesos La mayoría de los procesos termina porque ya realizaron su trabajo Los procesos avisan de su termino, mediante la llamada exit en UNIX y ExitProcess en Windows Por ejemplo los programas por pantalla, también terminan en forma voluntaria, los procesadores de texto, los navegadores web, y otros similares tienen un elemento de menú, en el que el usuario indica al proceso que borre los temporales y termine.

66 Terminación de Procesos Otro motivo para terminar es que el proceso descubra un error fatal. –Por ejemplo: el comando #> cc ejemplo.c –Compilar el archivo ejemplo.c y no existe el archivo ejemplo.c, con lo cual el compilador cc terminará dando un mensaje de error. El tercer motivo para terminar es causado por el mismo proceso, a menudo un defecto en el código mismo del programa de usuario. Siguiendo con el ejemplo anterior: puede que el programa ejemplo al ejecutarse pierda el control. Por ejemplo una división por cero

67 Terminación de Procesos El cuarto motivo de terminación es que otro proceso B lo termine al proceso A. En UNIX se realiza mediante una llamada a la función kill. En windows es mediante la función TerminateProcess. En ambos casos el proceso que llama a la función, debe contar con el permiso o autorización para terminar al otro proceso.

68 Implementación de Procesos Todo lo visto hasta aquí sobre los procesos, conforma el llamado modelo de procesos. Para implementar el modelo de procesos, el S.O. mantiene una tabla, llamada Tabla de Procesos. Esta TABLA tiene una entrada por cada proceso. Las entradas tienen información relacionada con los procesos.

69 Implementación de Procesos La información de las entradas: contador de programa, stack de plia, asignación de memoria, estado de los archivos abiertos, calendarización, y toda información que debe guardarse cuando un proceso pasa de ejecución a listo ó bloqueado, y qué será usada para reanudar la ejecución.

70 Implementación de Procesos Administración de proceso  Registros  Contador de Programa  Apuntador de Pila  Estado del Proceso  Prioridad  Parámetros de Calendarización  ID de Proceso  Proceso padre  Grupo  Hora de inicio del proceso  Tiempo de CPU consumido Administración de memoria  Apuntador a Segmento de Texto  Apuntador a segmento de datos  Apuntador a segmento de pila Administración de archivos Directorio raíz Directorio de trabajo Descriptores de archivo ID de Usuario ID de Grupo

71 Implementación de Procesos Cada clase de dispositivo de E/S esta asociada a una posición de memoria, muchas veces en la parte baja de la memoria, llamada vector de interrupción Este vector contiene la dirección del procedimiento de servicio de interrupción.

72 Implementación de Procesos MEMORIA: Parte Baja Solicitud de interrupcion de disco Vector de Interrupción 1.El hardware guarda el contador de programa, la pila, etc. 2.El hardware carga un nuevo contador de programa tomándolo del vector de interrupción 3.Un proceso en assembler guarda los registros 4.El proceso en assembler crea una nueva pila, para el servico de interrupción (en C) 5.Se ejecuta el servicio de interrupción en C 6.El calendarizador ó scheduler decide que programa se ejecutará ahora. 7.El procedimiento en C regresa al código assembler 8.Un procedimiento en assembler arranca el nuevo proceso actual

73 El Planificador ó Scheduller Componente del S.O. responsable de decidir quién hará uso del CPU. La decisión dependerá del algoritmo de planificación implementado. El algoritmo elegido para lograr una óptima planificación es de fundamental importancia para lograr el máximo aprovechamiento del CPU.

74 Planificación: Características Utilización del CPU Desempeño (Throughput): Cantidad de trabajos completados por unidad de tiempo Tiempo de Vuelta (Turn-around time): Tiempo desde que el proceso entra hasta que termina. Tiempo de Espera: Reemplaza al anterior como parámetro. Tiempo de Respuesta.

75 ALGORITMOS de PLANIFICACIÓN Debemos distinguir primero:  Planificación a Largo Termino ó Plazo: Determina cuales trabajos están en condiciones para ser admitidos por el sistemas y ser procesados  Planificación a Termino ó Plazo: Selecciona los trabajos que están en la memoria en condición de ejecutarse, y así asignarle tiempo de CPU.

76 Algoritmos de Planificación FCFS (First Come – First Served): Tiempo de ejecución bastante alto. Fácil de implementar SJF (Shortest Job First): El proceso se ejecuta hasta que voluntariamente cambia de estado. Puede ser preemptivo (preempted) ó no preemptivo (no preempted)

77 Priotity Schedulling (Planificación por Prioridad): Asocia a cada proceso una prioridad. Selecciona el proceso con mayor prioridad, si dos procesos tienen la misma prioridad, para desempatar se usa alguno de los algoritmos anteriores. Puede ocurrir que los procesos con prioridad baja no se ejecuten nunca. Para solucionar este problema, después de un tiempo, “t”, el algoritmo aumenta la prioridad del proceso automáticamente. Algoritmos de Planificación

78 Round Robin: Implementa una lista circular basada en FCFS, donde cada proceso tiene un “quantum” de tiempo ó “time slice” de uso del CPU, en cada vuelta de la lista, este quantum puede ser de 10 a 100 ms. Los nuevos procesos se agregan al final de la cola de listos. Cuando un proceso agota su quantum de tiempo es enviado a la cola de listos.