• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Le
 

Le

on

  • 310 views

 

Statistics

Views

Total Views
310
Views on SlideShare
310
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Le Le Presentation Transcript

    • 1758315489585<br />Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. <br />Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento. <br />Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.<br />E<br />l sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc. <br />En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema. <br />Los sistemas operativos pueden ser clasificados de la siguiente forma: <br />Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo. <br />Multiprocesador: soporta el abrir un mismo programa en más de una CPU. <br />Multitarea: Permite que varios programas se ejecuten al mismo tiempo. <br />Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo. <br />Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real. <br />1405255-1833<br />Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.<br />Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que también se utilizan, como por ejemplo Linux.<br />Cómo se utiliza un Sistema Operativo<br />Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla.<br />A continuación detallamos algunos ejemplos de sistemas operativos:<br />Familia Windows <br />Windows 95<br />Windows 98<br />Windows ME<br />Windows NT<br />Windows 2000<br />Windows 2000 server<br />Windows XP<br />Windows Server 2003<br />Windows CE<br />Windows Mobile<br />Windows XP 64 bits<br />Windows Vista (Longhorn) <br />Familia Macintosh 1267232657608<br />Mac OS 7<br />Mac OS 8 z<br />Mac OS 9<br />Mac OS X<br />Familia UNIX <br />AIX<br />AMIX<br />GNU/Linux<br />GNU / Hurd<br />HP-UX<br />Irix<br />Minix<br />System V<br />Solaris<br />UnixWare<br />Un sistema operativo es una capa de software que permite la comunicación maquina-persona, también se le puede entender como un administrador de los recursos (hardware) que nos ofrece la maquina para permitir un buen uso de ella por medio de los programas o aplicaciones.<br />Ejemplos de sistemas operativos:<br />DOS<br />GNU/Linux<br />Microsoft Windows<br />Mac OS X<br />BSD<br />Solaris<br />Curso de Sistemas Operativos:<br /> <br />rightbottom<br /> <br />Los primeros computadores no tenían sistema operativo. El programador cargaba en lenguaje máquina, y tenía que hacer todo el software.<br />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.<br />Conceptos básicos de un sistema operativo<br />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, periféricos y otros).<br />Sin un sistema operativo, las personas no podrían usar las computadoras o los programas que se ejecutan sobre estas.<br />Los usuarios no dan las instrucciones a las computadoras, sino al sistema operativo. El sistema operativo dará la instrucción al hardware para ejecutar las tareas requeridas. La tarea de un sistema operativo es llevar a cabo las solicitudes de los usuarios.<br />Para que los usuarios tengan la habilidad de utilizar una computadora, el sistema operativo tiene un número de tareas que debe llevar a cabo. Algunas de estas son:<br />Dar a las aplicaciones la posibilidad de almacenar y cargar datos<br />Controlar el flujo de datos de la computadora<br />Permitir a los programas ejecutarse sin interferir con los demás programas<br />Compartir datos y trabajar entre programas independientes<br />Manejar los errores<br />Administrar los recursos en una computadora<br />Hay muchos y diferentes sistemas operativos en el mercado. Algunos ejemplos son: Windows XP, Windows 2000, Windows 2003, Solaris, GNU/Linux.<br />Procesos<br />Definición de proceso<br />+ Se podría definir proceso como: ‘Un programa en ejecución’<br />+ Para el Sistema Operativo un proceso es: ‘Un conjunto de estructuras de datos, registros y campos con valores.’<br />Estructuras de Control<br />1º) Tablas de memoria:<br />+ emplean para saber que uso reciben las memorias principal y secundarias.<br />+ Y también para obtener cualquier otro tipo de información , relacionada con la memoria.<br />2º) Tablas de ficheros:<br />+ Almacenan toda la información que contiene un fichero o archivo.<br />3º) Tablas de dispositivos de E/S:<br />+ Almacenan toda la información sobre los periféricos o dispositivos de E/S.<br />4º) Tablas de procesos:<br />+ Se utilizan para gestionar toda la información que utiliza el Sistema Operativo al manejar los distintos procesos. Estructuras de Control de Procesos:<br />Imagen del proceso<br />1º) Espacio en memoria para almacenar los distintos procesos.<br />2º) Espacio en memoria para almacenar la ‘pila de ejecución’ (Estructura de tamaño intermedio, donde se almacenan datos temporales necesarios en un proceso.)<br />3º) ‘Bloque de control de proceso (PCB)’, (Registro con el cual el Sistema Operativo, toma información sobre cada proceso.)<br />La Tabla de Procesos<br />+ Si enlazamos todos los ‘bloques de control de procesos’ (PCBs), mediante un array o bien una lista enlazada, obtenemos la ‘tabla de procesos’.<br />- Esta, toma información de cada uno de los procesos.<br />- Cada proceso consta de un identificador (PI, Identificador de Procesos) para un correcto uso y control.<br />Que contiene la imagen del proceso: Esta esta formada por: 1)PCB 2)Pila 3)código 4)Datos<br />Información de Estado<br />+ Se encarga de almacenar el contenido de los registros del procesador cuando el proceso, no esta ejecutándose.<br />+ Este proceso normalmente esta supervisado y dirigido por el hardware de la máquina.<br />Información de control<br />+ Es la información que se utiliza para obtener datos relacionados con el control del proceso.<br />Los privilegios del proceso<br />+ Debido a que el microprocesador, no dispone de memoria ilimitada para la ejecución de los procesos, a estos se les aplica un ‘sistema de privilegios de proceso’.<br />+ De esta forma un proceso con ‘mayor privilegio de proceso’ puede interrumpir uno de menor ‘privilegio’, pero nunca al revés.<br />Comunicación entre procesos<br />+ Son todos esos datos que guardan la información de las operaciones realizadas entre procesos.<br />Módulos de Ejecución<br />+ El Sistema Operativo utiliza estructuras para controlar los distintos procesos.<br />Existen dos formas de ejecución:<br />+ El modo núcleo: Este modo es controlado y utilizado por el Sistema Operativo.<br />+ El módulo usuario: En este modo se ejecutan los procesos del usuario, no se puede acceder a las estructuras del sistema.<br />+ Para cambiar entre modos se utilizan ciertos métodos:<br />- Para pasar de modo núcleo a modo usuario, basta con realizar la instrucción:<br />Changemode (CM)<br />- Para pasar de modo usuario a modo núcleo el sistema es mucho más complejo.<br />+ Si el usuario necesita utilizar las estructuras del sistema, deberá realizar una ‘llamada al sistema.’<br />La llamada al sistema:<br />+ Funciona como una interrupción pero proviene del software.<br />+ De esta manera al producirse la interrupción se pasa automáticamente al modo núcleo.<br />+ Cuando se produce una de estas ‘interrupciones’ el microprocesador hace ‘un cambio de contexto’, es decir guarda toda la información en registros PCB.<br />Estados de un Proceso:<br />+ El estado describe la situación actual de un proceso.<br />+ Dependiendo de este, el Sistema Operativo considera la acción que llevará a cabo.<br />+ La clasificación más simple viene dada por el ‘Modelo de 2 Estados’<br />+ No todos los procesos que no ejecutan están en la misma situación<br />+ Un modelo que representa mejor este proceso es el ‘Modelo de 5 Estados’<br />El Modelo de 5 Estados<br />+ Si el Sistema Operativo se queda sin recursos el proceso se queda en ‘Nuevo’.<br />+ Cuando recibe suficientes recursos pasa al estado ‘Listo’.<br />- Este ya es un proceso completamente funcional, aunque el Sistema Operativo no permite que haya más de un proceso ejecutándose simultáneamente.<br />+ Cuando el Sistema Operativo permite continuar el proceso, este pasa al estado de ‘Ejecución’.<br />+ Una vez finalizada la ejecución, el proceso acaba en el estado ‘Terminado’.<br />- Durante ciertos instantes se mantiene la información del proceso en el PCB, con el objetivo de obtener datos sobre este.<br />+ Por último el Sistema Operativo repite todos los pasos anteriores con el resto de procesos, que se encontraban ‘en espera’.<br />+ Un estado especial sería ‘bloqueado’, por el cuál el proceso es interrumpido hasta que cumpla ciertos requisitos.<br />El Modelo de 7 Estados<br />+ La mayoría de los Sistemas Operativos pueden llevar los procesos desde la memoria principal, hasta la secundaria, mediante un mecanismo denominado ‘swapping’ (Intercambio).<br />+ Esto permite el intercambio de procesos.<br />+ Una gran ventaja de este método es cuando el proceso ‘liberado’ no puede ejecutarse, y el ‘introducido’ si puede hacerlo.<br />+ Un proceso ‘Suspendido’, esta en memoria secundaria<br />+ Un proceso ‘Bloqueado’, va siempre a memoria secundaria antes que un proceso ‘listo’.<br />+ Un proceso solo regresa a memoria principal [De ‘Listo y Suspendido’ a ‘Listo’] cuando lo decide el Sistema Operativo.<br />+ Un proceso ‘Bloqueado y Suspendido’ nunca regresa a la memoria principal [De ‘Bloqueado y Suspendido’ a ‘Bloqueado’], hasta que se desbloquee.<br />+ Con el intercambio es posible sacar de la memoria principal a procesos bloqueados, para dejar espacio a otros procesos totalmente funcionales.<br />Políticas de Planificación:<br />+ Se utilizan por el Sistema Operativo para tomar las decisiones, que cambian el estado de un proceso.<br />Planificaciones a Largo Plazo (‘PLP’):<br />+ Decide que procesos llegan al estado ‘Listo’.<br />+ Este tipo de política mide el grado de multiprogramación<br />+ La PLP requiere un algoritmo muy complejo que se ejecuta cada cierto tiempo.<br />Planificaciones a Medio Plazo (‘PMP’):<br />+ Controla el intercambio de procesos entre la memoria principal y la secundaria<br />+ En un sentido u otro<br />Su ejecución se realiza con más frecuencia que la ‘PLP’ por lo que su tiempo de ejecución será menor.<br />Planificaciones a Corto Plazo (‘PCP’):<br />+ Controla cuando un proceso comienza su ejecución, y cuando debe finalizar.<br />+ Este algoritmo debe ser muy simple, pues el proceso se ejecuta muy frecuentemente.<br />Planificaciones de un Procesador:<br />+ Los algoritmos más frecuentes y a los que además vamos a prestar más atención son los ‘PCP’ + Para comparar los distintos algoritmos <br />De planificación se deben establecer una serie de criterios que permitan esta comparación:<br />1) El Uso de la CPU:<br />- Mide el porcentaje de tiempo que el procesador pasa ejecutando los procesos<br />Valores Adecuados [40% - 90%]<br />Valores Imposibles [> 90%]<br />Valores Catastróficos [< 40%]<br />2) La Productividad:<br />- Es el número de trabajos realizados por unidad de tiempo<br />3) El Tiempo de Retorno:<br />- El tiempo que el proceso pasa en el sistema<br />- Cuanto menos mejor.<br />4) El Tiempo de Espera:<br />- El tiempo que el proceso gasta en estado de espera (Sin hacer nada).<br />5) El Tiempo de Retorno Normalizado:<br />TRNorm = Tretorno / Tservicio<br />- Permite realizar comparaciones absolutas<br />- Por lo que el ‘TRN’ es relativo.<br />6) El Tiempo de Respuesta Interactivo:<br />- Es el tiempo que pasa desde que el sistema interacciona con el usuario.<br />- Tiempo desde que el usuario ejecuta una aplicación, y el programa responde.<br />7) La Prioridad:<br />- El procesador muestra más prioridad en unos procesos que en otros.<br />FÓRMULAS:<br />Tret = Tfin – Tinicio<br />Tret = Tcpu + Tespera + Te/s<br />Tservicio = Tcpu + Te/s<br />TRNorm = Tretorno / Tservicio<br />Algoritmos de Planificación<br />leftbottom<br />Existen dos categorías<br />Apropiativos<br />El Sistema Operativo puede expulsar del procesador un proceso en ejecución (línea punteada.)<br />No Apropiativos<br />Estos procesos, no pueden ser expulsados por el Sistema Operativo.<br />Clases de algoritmos<br />Algoritmo de planificación FCFS:<br />Este algoritmo emplea los procesos en la cola de ‘listos’ Algoritmo no apropiativo.<br />Una petición no puede ser desplazada por la llegada de una petición con prioridad mas alta.<br />No hay reordenamiento de la cola de peticiones pendientes.<br />Se ignoran las relaciones posicionales entre las peticiones pendientes.<br />Ofrece una varianza pequeña aunque perjudica a las peticiones situadas al finale de la cola.<br />Algoritmo de planificación SJF:<br />El algoritmo de primero el trabajo más corto (SJF, shortest Job frist), que asocia a cada proceso la longitud de la siguiente ráfaga de CPU de ese proceso. Cuando la CPU queda disponible, asigna al proceso cuya siguiente ráfaga de CPU sea más corta. Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma duración, se emplea planificación FCFS (first come, first served) para romper el empate. Consideremos el conjunto de procesos siguiente (la duración de la ráfaga está en milisegundos):<br />ProcesoTiempo respuestaP16P28P37P43<br />Utilizando una politica SJF, planificariamos estos procesos según el diagrama de Gantt siguiente:<br />P4P1P3P2<br />0391624<br />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 mínimo 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á más de lo que aumenta el tiempo de espera del proceso largo. En consecuencia, el tiempo de espera promedio disminuye. Lo realmente difícil del algoritmo SJF es conocer la duración de la siguiente solicitud de CPU. Para la planificación a largo plazo en un sistema por lotes, podemos usar como duración el límite de tiempo de proceso que el usuario especifica cuando presenta el trabajo. Esto motiva a los usuarios para estimar con precisión el límite de tiempo en sus procesos, ya que un valor más bajo podría significar una respuesta más rápida.<br />Algoritmo de planificación SRT (Es un SJF apropiativo)<br />Este algoritmo siempre ejecuta primero aquellos procesos a los que les queda menos tiempo para terminar Este algoritmo también es conocido como ‘optimo’, pues con el se obtienen los mejores resultados.<br />Algoritmo de prioridades:<br />Selecciona aquellos procesos que se encuentran en la cola de ‘listos’.<br />En este algoritmo, los criterios de rendimiento, no son los más necesarios.<br />El criterio principal es hacer que los procesos ‘en espera’ sean los primeros en ejecutarse<br />El principal inconveniente, es que puede producir ‘inanición’, es decir si tenemos un proceso de prioridad baja, y muchos de alta, puede ocurrir que el primero no se ejecute nunca.<br />Se puede llevar a cabo un proceso de envejecimiento, el cual hace ganar prioridad al primer proceso, permitiendo que se ejecute.<br />Algoritmo de Turno Rotatorio (Round Robin, RR):<br />La desventaja principal es que cambia los procesos en ejecución con demasiada frecuencia. Lo que supone una pequeña perdida de tiempo. El tiempo perdido depende, del ‘tiempo de ejecución dado al proceso’ (Quantum). Para valores de ‘Quantum’ pequeños, el resultado es malo. Para valores grandes el algoritmo equivale al ‘FCFS’.<br />Turno Rotatorio Virtual (Virtual Round Robin, VRR):<br />Intenta solucionar un problema que afecta al ‘quanto’ Estos procesos abandonan la CPU, para no consumir el quanto completo. (ráfagas pequeñas) Por lo que deben esperar de nuevo en la cola de ‘listos’ Los procesos con ráfagas grandes consumen un cuarto del quanto completo.<br />Existen dos tipos<br />Procesos con carga de E / S<br />Procesos sin carga de E / S<br />El RR perjudica a los procesos del 1º tipo<br />Para solucionar este problema, el VRR crea dos colas de ‘listos’<br />Se podría decir que una es la cola ‘original’ y la otra es una cola ‘virtual’<br />La lista de procesos ‘listos’, número 2 tiene mayor prioridad<br />Los procesos de E / S, siempre se ejecutan antes, puesto que están en L2<br />Algoritmo HRRN:<br />Es el que muestra mayor tasa de respuesta Al ser no apropiativo, selecciona el proceso con mayor tasa de respuesta;<br />Trespuesta = (Tespera + Tservicio) / Tservicio<br />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<br />Algoritmos Multiproceso:<br />Se utilizan múltiples 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 retroalimentación, según esto un proceso no tiene que estar siempre en la misma cola Además 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.<br />Evaluación de Algoritmos:<br />Permite obtener valores de rendimiento para los distintos algoritmos y así decidir cual de ellos utilizar<br />La Evaluación Analítica:<br />Sirve para evaluar el funcionamiento de los distintos algoritmos Existen dos formas de desarrollo:<br />El Modelo Determinista:<br />Evalúa el funcionamiento dependiendo de una ‘carga de trabajo’<br />El Modelo de Colas:<br />Aplica técnicas estadísticas, para la función de pilas de colas Para cada técnica existe un tiempo de tratamiento según el cual se obtienen el resto de valores.....<br />El Método de Simulación:<br />Se construye un modelo simplificado del planificador (un simulador) para evaluar su comportamiento. A mayor semejanza, mejores resultados. Normalmente se construye para el menor número de planificadores posible (debido a los costes)<br />Sistemas de ficheros<br />Gestión de memoria<br />Elementos de comunicación y sincronización<br />