Sei sulla pagina 1di 11

Sistemas operativos

Un sistema operativo es una capa de software que permite la comunicacin maquinapersona, tambin se le puede entender como un administrador de los recursos (hardware) que nos ofrece la mquina para permitir un buen uso de ella por medio de los programas o aplicaciones. Ejemplos de sistemas operativos:

DOS GNU/Linux Microsoft Windows Mac OS X BSD

Curso de Sistemas Operativos:


Introduccin
Historia de los sistemas operativos Los primeros computadores no tenan sistema operativo. El programador cargaban en lenguaje mquina, y tena que hacer todo el software. De 1955 a 1965 se crean los sistemas de procesamiento por lotes (Batch Files). Se agrupaban varios trabajos en un lote, para agilizar el proceso. Conceptos bsicos de un sistema operativo Un sistema operativo (SO) es un programa(o un conjunto de programas) que dan a las personas la oportunidad de usar el hardware de una computadora (CPU, memoria, perifricos y otros). Sin un sistema operativo, las personas no podran usar las computadoras o los programas que se ejecutan sobre estas. Los usuarios no dan las instrucciones a las computadoras, sino al sistema operativo. El sistema operativo dar la instruccin al hardware para ejecutar las tareas requeridas. La tarea de un sistema operativo es llevar a cabo las solicitudes de los usuarios. Para que los usuarios tengan la habilidad de utilizar una computadora, el sistema operativo tiene un nmero de tareas que debe llevar a cabo. Algunas de estas son:

Dar a las aplicaciones la posibilidad de almacenar y cargar datos Controlar el flujo de datos de la computadora Permitir a los programas ejecutarse sin interferir con los dems programas

Compartir datos y trabajar entre programas independientes Manejar los errores Administrar los recursos en una computadora

Hay muchos y diferentes sistemas operativos en el mercado. Algunos ejemplos son: Windows XP, Windows 2000, Windows 2003, Solaris, GNU/Linux.

Procesos
Definicin de proceso
+ Se podra definir proceso como: Un programa en ejecucin + Para el Sistema Operativo un proceso es: Un conjunto de estructuras de datos, registros y campos con valores.

Preguntarle al ingeniero IRVIN cualquier consulta .... :-)

Estructuras de Control
1) Tablas de memoria: + Se emplean para saber que uso reciben las memorias principal y secundarias. + Y tambin para obtener cualquier otro tipo de informacin , relacionada con la memoria. 2) Tablas de ficheros: + Almacenan toda la informacin que contiene un fichero o archivo. 3) Tablas de dispositivos de E/S: + Almacenan toda la informacin sobre los perifricos o dispositivos de E/S. 4) Tablas de procesos: + Se utilizan para gestionar toda la informacin que utiliza el Sistema Operativo al manejar los distintos procesos. Estructuras de Control de Procesos:

+ Cada proceso del Sistema Operativo esta representado por un conjunto de estructuras, que forman la llamada imagen del proceso.

Imagen del proceso


1) Espacio en memoria para almacenar los distintos procesos. 2) Espacio en memoria para almacenar la pila de ejecucin (Estructura de tamao intermedio, donde se almacenan datos temporales necesarios en un proceso.) 3) Bloque de control de proceso (PCB), (Registro con el cual el Sistema Operativo, toma informacin sobre cada proceso.)

La Tabla de Procesos
+ Si enlazamos todos los bloques de control de procesos (PCBs), mediante un array o bien una lista enlazada, obtenemos la tabla de procesos. - Esta, toma informacin de cada uno de los procesos. - Cada proceso consta de un identificador (PI, Identificador de Procesos) para un correcto uso y control. Que contiene la imagen del proceso: Esta esta formada por: 1)PCB 2)Pila 3)codigo 4)Datos

Informacin de Estado
+ Se encarga de almacenar el contenido de los registros del procesador cuando el proceso, no esta ejecutndose. + Este proceso normalmente esta supervisado y dirigido por el hardware de la mquina.

Informacin de control
+ Es la informacin que se utiliza para obtener datos relacionados con el control del proceso.

Los privilegios del proceso


+ Debido a que el microprocesador, no dispone de memoria ilimitada para la ejecucin de los procesos, a estos se les aplica un sistema de privilegios de proceso. + De esta forma un proceso con mayor privilegio de proceso puede interrumpir uno de menor privilegio, pero nunca al revs.

Comunicacin entre procesos

+ Son todos esos datos que guardan la informacin de las operaciones realizadas entre procesos.

Mdulos de Ejecucin
+ El Sistema Operativo utiliza estructuras para controlar los distintos procesos.

Existen dos formas de ejecucin:


+ El modo ncleo: Este modo es controlado y utilizado por el Sistema Operativo. + El mdulo usuario: En este modo se ejecutan los procesos del usuario, no se puede acceder a las estructuras del sistema. + Para cambiar entre modos se utilizan ciertos mtodos: - Para pasar de modo ncleo a modo usuario, basta con realizar la instruccin:

Changemode (CM)
- Para pasar de modo usuario a modo ncleo el sistema es mucho ms complejo. + Si el usuario necesita utilizar las estructuras del sistema, deber realizar una llamada al sistema.

La llamada al sistema:
+ Funciona como una interrupcin pero proviene del software. + De esta manera al producirse la interrupcin se pasa automticamente al modo ncleo. + Cuando se produce una de estas interrupciones el microprocesador hace un cambio de contexto, es decir guarda toda la informacin en registros PCB.

Estados de un Proceso:
+ El estado describe la situacin actual de un proceso. + Dependiendo de este, el Sistema Operativo considera la accin que llevar a cabo. + La clasificacin ms simple viene dada por el Modelo de 2 Estados + No todos los procesos que no ejecutan estn en la misma situacin + Un modelo que representa mejor este proceso es el Modelo de 5 Estados

El Modelo de 5 Estados

+ Si el Sistema Operativo se queda sin recursos el proceso se queda en Nuevo. + Cuando recibe suficientes recursos pasa al estado Listo. - Este ya es un proceso completamente funcional, aunque el Sistema Operativo no permite que haya ms de un proceso ejecutndose simultneamente. + Cuando el Sistema Operativo permite continuar el proceso, este pasa al estado de Ejecucin. + Una vez finalizada la ejecucin, el proceso acaba en el estado Terminado. - Durante ciertos instantes se mantiene la informacin del proceso en el PCB, con el objetivo de obtener datos sobre este. + Por ltimo el Sistema Operativo repite todos los pasos anteriores con el resto de procesos, que se encontraban en espera. + Un estado especial sera bloqueado, por el cul el proceso es interrumpido hasta que cumpla ciertos requisitos.

El Modelo de 7 Estados
+ La mayora de los Sistemas Operativos pueden llevar los procesos desde la memoria principal, hasta la secundaria, mediante un mecanismo denominado swapping (Intercambio). + Esto permite el intercambio de procesos. + Una gran ventaja de este mtodo es cuando el proceso liberado no puede ejecutarse, y el introducido si puede hacerlo. + Un proceso Suspendido, esta en memoria secundaria + Un proceso Bloqueado, va siempre a memoria secundaria antes que un proceso listo. + Un proceso solo regresa a memoria principal [De Listo y Suspendido a Listo] cuando lo decide el Sistema Operativo. + Un proceso Bloqueado y Suspendido nunca regresa a la memoria principal [De Bloqueado y Suspendido a Bloqueado], hasta que se desbloquee. + Con el intercambio es posible sacar de la memoria principal a procesos bloqueados, para dejar espacio a otros procesos totalmente funcionales.

Polticas de Planificacin:

+ Se utilizan por el Sistema Operativo para tomar las decisiones, que cambian el estado de un proceso.

Planificaciones a Largo Plazo (PLP):


+ Decide que procesos llegan al estado Listo. + Este tipo de poltica mide el grado de multiprogramacin + La PLP requiere un algoritmo muy complejo que se ejecuta cada cierto tiempo.

Planificaciones a Medio Plazo (PMP):


+ Controla el intercambio de procesos entre la memoria principal y la secundaria + En un sentido u otro Su ejecucin se realiza con ms frecuencia que la PLP por lo que su tiempo de ejecucin ser menor.

Planificaciones a Corto Plazo (PCP):


+ Controla cuando un proceso comienza su ejecucin, y cuando debe finalizar. + Este algoritmo debe ser muy simple, pues el proceso se ejecuta muy frecuentemente.

Planificaciones de un Procesador:
+ Los algoritmos ms frecuentes y a los que adems vamos a prestar ms atencin son los PCP + Para comparar los distintos algoritmos de planificacin se deben establecer una serie de criterios que permitan esta comparacin: 1) El Uso de la CPU: - Mide el porcentaje de tiempo que el procesador pasa ejecutando los procesos Valores Adecuados [40% - 90%] Valores Imposibles [> 90%] Valores Catastrficos [< 40%] 2) La Productividad: - Es el nmero de trabajos realizados por unidad de tiempo 3) El Tiempo de Retorno:

- El tiempo que el proceso pasa en el sistema - Cuanto menos mejor. 4) El Tiempo de Espera: - El tiempo que el proceso gasta en estado de espera (Sin hacer nada). 5) El Tiempo de Retorno Normalizado: TRNorm = Tretorno / Tservicio - Permite realizar comparaciones absolutas - Por lo que el TRN es relativo. 6) El Tiempo de Respuesta Interactivo: - Es el tiempo que pasa desde que el sistema interacciona con el usuario. - Tiempo desde que el usuario ejecuta una aplicacin, y el programa responde. 7) La Prioridad: - El procesador muestra ms prioridad en unos procesos que en otros.

FRMULAS:

Tret = Tfin Tinicio Tret = Tcpu + Tespera + Te/s Tservicio = Tcpu + Te/s TRNorm = Tretorno / Tservicio

Algoritmos de Planificacin
Existen dos categoras
Apropiativos El Sistema Operativo puede expulsar del procesador un proceso en ejecucin (lnea punteada.) No Apropiativos Estos procesos, no pueden ser expulsados por el Sistema Operativo.

Clases de algoritmos

Algoritmo de planificacin FCFS:


Este algoritmo emplea los procesos en la cola de listos Algoritmo no apropiativo.

UNA PETICION NO PUEDE SER DESPLAZADA POR LA LLEGADA DE UNA PETICION CON PRIORIDAD MAS ALTA. NO HAY REORDENAMIENTO DE LA COLA DE PETICIONES PENDIENTES. SE IGNORAN LAS RELACIONES POSICIONALES ENTRE LAS PETICIONES PENDIENTES. OFRECE UNA VARIANZA PEQUEA AUNQUE PERJUDICA A LAS PETICIONES SITUADAS AL FINAL DE LA COLA.

Algoritmo de planificacin SJF:


El algoritmo de primero el trabajo ms corto (SJF, shortest job frist), que asocia a cada proceso la longitud de la siguiente rfaga de CPU de ese proceso. Cuando la CPU queda disponible, asigna al proceso cuya siguiente rfaga de CPU sea ms corta. Si hay dos procesos cuyas siguientes rfagas de CPU tienen la misma duracin, se emplea planificacin FCFS (first come, first served) para romper el empate. Consideremos el conjunto de procesos siguiente(la duracin de la rfaga est en milisegundos): Proceso Tiempo respuesta P1 6 P2 8 P3 7 P4 3 Utilizando una politica SJF, planificariamos estos procesos segn el diagrama de Gantt siguiente: P4 P1 P3 P2 0 3 9 16 24 El tiempo de espera es de 3 milisegundos para el proceso P1, 16 milisegundos para el proceso P3 y 0 milisegundos para el proceso P4. As, el tiempo de espera promedio es (3+16+9+0)/4=7 milisegundos. Se puede demostrar que el algoritmo SJF es ptimo, en cuanto a que da el tiempo de espera promedio mnimo para un conjunto dado de procesos. Si atendemos a un proceso corto antes que a uno largo, el tiempo de espera del proceso corto disminuir ms de lo que aumenta el tiempo de espera del proceso largo. En consecuencia, el tiempo de espera promedio disminuye. Lo realmente difcil del algoritmo SJF es conocer la duracin de la siguiente solicitud de CPU. Para la planificacin a largo plazo en un sistema por lotes, podemos usar como duracin el lmite de tiempo de proceso que el usuario especifica cuando presenta el trabajo. Esto motiva a los usuarios para estimar con precisin el lmite de tiempo en sus procesos, ya que un valor ms bajo podra significar una respuesta ms rpida.

Algoritmo de planificacin SRT (Es un SJF apropiativo)

Este algoritmo siempre ejecuta primero aquellos procesos a los que les queda menos tiempo para terminar Este algoritmo tambin es conocido como optimo, pues con el se obtienen los mejores resultados.

Algoritmo de prioridades:
Selecciona aquellos procesos que se encuentran en la cola de listos. En este algoritmo, los criterios de rendimiento, no son los ms necesarios. El criterio principal es hacer que los procesos en espera sean los primeros en ejecutarse El principal inconveniente, es que puede producir inanicin, es decir si tenemos un proceso de prioridad baja, y muchos de alta, puede ocurrir que el primero no se ejecute nunca. Se puede llevar a cabo un proceso de envejecimiento, el cual hace ganar prioridad al primer proceso, permitiendo que se ejecute.

] Algoritmo de Turno Rotatorio (Round Robin, RR):


La desventaja principal es que cambia los procesos en ejecucin con demasiada frecuencia. Lo que supone una pequea perdida de tiempo. El tiempo perdido depende, del tiempo de ejecucin dado al proceso (Quantum). Para valores de Quantum pequeos, el resultado es malo. Para valores grandes el algoritmo equivale al FCFS.

Turno Rotatorio Virtual (Virtual Round Robin, VRR):


Intenta solucionar un problema que afecta al quanto Estos procesos abandonan la CPU, para no consumir el quanto completo. (rfagas pequeas) Por lo que deben esperar de nuevo en la cola de listos Los procesos con rfagas grandes consumen un cuarto del quanto completo. Existen dos tipos Procesos con carga de E / S Procesos sin carga de E / S El RR perjudica a los procesos del 1 tipo Para solucionar este problema, el VRR crea dos colas de listos Se podra decir que una es la cola original y la otra es una cola virtual La lista de procesos listos, nmero 2 tiene mayor prioridad Los procesos de E / S, siempre se ejecutan antes, puesto que estn en L2

Algoritmo HRRN:
Es el que muestra mayor tasa de respuesta Al ser no apropiativo, selecciona el proceso con mayor tasa de respuesta; Trespuesta = (Tespera + Tservicio) / Tservicio El algoritmo pone a ejecutar el proceso con mayor tasa de respuesta. Donde el tiempo de espera es el insumido desde que el proceso pasa de la cola de nuevos a la cola de listos. s = Tiempo de llegada + Tiempo actual

Algoritmos Multiproceso:
Se utilizan mltiples colas en cada algoritmo Es necesario definir el algoritmo que elige entre las colas, y asigna un proceso a estas. La primera cola es un FCFS Para la segunda empleamos un Round Robin (RR) Y a la hora de seleccionar entre colas utilizamos las prioridades Las colas multinivel utilizan la retroalimentacin, segn esto un proceso no tiene que estar siempre en la misma cola Adems de los algoritmos necesarios para la cola multinivel, se necesita un algoritmo para cambiar entre colas Si el proceso consume el quanto pasa a la siguiente cola y si termina, regresa a la cola inicial. Evaluacin de Algoritmos: Permite obtener valores de rendimiento para los distintos algoritmos y as decidir cual de ellos utilizar La Evaluacin Analtica: Sirve para evaluar el funcionamiento de los distintos algoritmos Existen dos formas de desarrollo:

El Modelo Determinista:
Evala el funcionamiento dependiendo de una carga de trabajo

El Modelo de Colas:
Aplica tcnicas estadsticas, para la funcin de pilas de colas Para cada tcnica existe un tiempo de tratamiento segn el cual se obtienen el resto de valores.

El Mtodo de Simulacin:
Se construye un modelo simplificado del planificador (un simulador) para evaluar su comportamiento. A mayor semejanza, mejores resultados. Normalmente se construye para el menor nmero de planificadores posible (debido a los costes) Sistemas de ficheros

Gestin de memoria Elementos de comunicacin y sincronizacin Casos prcticos. POSIX y WIN32 Obtenido de "http://es.wikiversity.org/wiki/Sistemas_operativos" Categora: Sistemas operativos

Potrebbero piacerti anche