Вы находитесь на странице: 1из 38

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO:

SISTEMAS OPERATIVOS

Piura, 19 de Mayo de 2012

AUTOR ING. CIP GUIOMAR WILDER VILELA SALAZAR

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

SILABO DE SISTEMAS OPERATIVOS

I.

DATOS GENERALES Programa curricular Mdulo Cdigo del curso Semestre Acadmico Duracin Crditos Horas semanales Docente Email : PROGRAMA DE EXPERIENCIA LABORAL : SISTEMAS OPERATIVOS : : : 4 SEMANAS : 5 CREDITOS : 15 HORAS SEMANALES : ING CIP GUIOMAR WILDER VILELA SALAZAR : guiomar0208@hotmail.com

II.

FUNDAMENTACIN

El curso consta de Teora y Laboratorio. La parte terica est orientada a brindar al estudiante una idea clara de los fundamentos de la operacin de los Sistemas Informticos y de la forma en la que los Sistemas operativos llevan a cabo la administracin de los recursos del sistema. Asimismo se ocupa de afirmar los conocimientos tericos con la presentacin de casos hipotticos y/o reales en los que se vea la aplicacin de las diferentes tcnicas estudiadas III. COMPETENCIA Utiliza los conceptos bsicos y avanzados del funcionamiento y administracin de los recursos de un sistema operativo valorando la importancia que este tiene para el entendimiento del funcionamiento de una computadora. Identifica, Relaciona y Analiza los diferentes recursos de una computadora caracterizndola desde la perspectiva del sistema operativo. Instala, configura, administra y utiliza de manera avanzada el sistema operativo de una computadora Optimiza el funcionamiento

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 2

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

IV.

PROGRAMACIN ACADEMICA

CAPACIDADES Y ACTITUDES

CONOCIMIENTOS

ESTRATEGIAS DE APRENDIZAJE

FUEN TES DE INFO RMA CIN

PRIMERA UNIDAD: SEMANA 1 EVOLUCION Y APLICACIN DE SISTEMAS OPERATIVOS El estudiante explicar los componentes de un sistema operativo, as como el objetivo, la funcin y las caractersticas de diferentes sistemas operativos. Investigar y redactar los 1, 2, conceptos de la lista de palabras 3, 6, clave. 8 Realizar un trabajo de investigacin acerca de un S.O comercial incluyendo: historia, objetivo, funciones, modo de funcionamiento de los administradores de los recursos (procesador, memoria, perifricos y archivos). Se recomienda equipos de 3 a 4 estudiantes. Presentar el resultado de la investigacin ante el grupo. De esa forma todos conocen de todos los sistemas operativos investigados. Si es posible, realizar una visita a una instalacin con ambiente multiusuario. PRIMERA UNIDAD: SEMANA 1 ORGANIZACION DE PROCESOS. Entender la alternancia del procesador durante la multiprogramacin. 2.1 Descripcin y control de procesos. 2.2 Multitareas. 2.3 Estructura de informacin de procesos. 2.4 Estados del Proceso. 2.5 Procesos ligeros. 2.6 Planificacin. 2.7 Seales y excepciones. 2.8 Temporizadores. 2.9 Servidores y demonios. Investigar y redactar los conceptos de la lista de palabras clave. Identificar los conceptos investigados y su aplicacin mediante un ejemplo de multiprogramacin proporcionado en clase. Desarrollar las prcticas de esta unidad. 1, 2, 3, 4, 5, 6, 7, 11 1.1 Definicin y funciones de un S.O. 1.2 Historia y evolucin de los S.O. 1.3 Estructuras de los sistemas operativos

PRIMERA UNIDAD: SEMANA 2 PLANIFICACION DE PROCESOS. Aplicar las diferentes tcnicas de corto, mediano y largo plazo de asignacin del procesador. 3.1 Planeacin de trabajos (jobscheduling). 3.2 Conceptos bsicos. 3.3 Tipos de planeacin. 3.3.1 First In First Out (FIFO). Investigar y redactar los conceptos de la lista de palabras clave. Identificar los conceptos investigados y su aplicacin 1, 2, 3, 4, 5, 6, 7, 11

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 3

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

3.3.2 Round Robin (RR). 3.3.3 Shortest Job First (SJF). 3.3.4 Shortest Remaining Time (STR). 3.3.5 Highest Response Ratio Next(HNR). 3.4 Multiprocesamiento. 3.5 Conceptos bsicos. 3.6 Paralelismo. 3.7 Sistemas multiprocesamiento. 3.8 Organizacin del multiprocesador. 3.9 Sistemas operativos del multiprocesador.

durante el ejemplo del multiproceso proporcionado en clase. Desarrollar las prcticas de esta unidad.

PRIMERA UNIDAD : SEMANA 2 ORGANIZACION DE LA MEMORIA Entender las diferentes estrategias de obtencin colocacin, asignacin y reemplazo. 4.1 Gestin de memoria. 4.1.1 Organizacin de la memoria. 4.1.2 Administrador de la memoria. 4.1.3 Jerarqua de la memoria. 4.1.4 Estrategias para la administracin de la memoria. 4.1.5 Multiprogramacin con particiones fijas y variables. 4.2 Memoria real. 4.2.1 Administracin de la memoria con mapa de bits. 4.2.2 Administracin de la memoria con listas enlazadas. 4.2.3 Distribucin del espacio para intercambio. 4.3 Memoria virtual. 4.3.1 Paginacin. 4.3.2 Segmentacin. 4.3.3 Algoritmos de sustitucin de pginas. 4.3.4 Aspectos de diseo para el sistema. 4.3.5 Liberacin de pginas. Investigar y redactar los conceptos de la lista de palabras clave. Integrar grupos de trabajo para desarrollar los temas de la unidad. Investigar y exponer su tema. Desarrollar las prcticas de esta unidad. 1, 2, 3, 4, 5, 6, 9

PRIMERA UNIDAD: SEMANA 2 SISTEMAS DE ENTRADA/SALIDA Explicar el objetivo, las funciones y los principios de Hardware y Software de los dispositivos de E/S con especial atencin a discos y terminales. 5.1 Principios de hardware de I/O. 5.1.1 Dispositivos de I/O. 5.1.2 Controladores de dispositivos. 5.2 Principios de software de I/O. 5.2.1 Objetivos del software de I/O. Investigar y redactar los conceptos de la lista de palabras clave. Generar grupos de trabajo para desarrollar los temas de la unidad. Investigar y exponer su tema. 1, 2, 3, 4, 6

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 4

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

5.2.2 Manejadores de interrupciones. 5.2.3 Manejador de dispositivos. 5.2.4 Software de I/O independiente de los dispositivos. 5.2.5 Espacio del usuario para software de I/O. 5.3 Discos RAM. 5.4 Discos. 5.4.1 Hardware de discos. 5.4.2 Software para discos. 5.5 Relojes. 5.5.1 Hardware de discos. 5.5.2 Software reloj. 5.5.3 Manejador del reloj. 5.6 Terminales. 5.6.1 Hardware de terminales. 5.6.2 Manejadores. SEGUNDA UNIDAD: SEMANA 3 SISTEMA DE ARCHIVOS. Explicar el objetivo, las funciones y las caractersticas de diseo de un sistema de archivos e identificar el sistema administrador de archivos de diferentes sistemas operativos. 6.1 Sistema de archivos. Investigar y redactar los 6.2 Jerarqua de datos. conceptos de la lista de palabras 1, 2, 6.3 tipos de archivos. clave. 3, 4, 6.4 Interfase con el usuario. Generar grupos de trabajo para 5, 6 6.4.1 El sistema de archivo visto desarrollar los temas de la por el usuario. unidad. 6.4.2 Diseo del sistema de Investigar y exponer su tema. archivos. 6.4.3 Servidor de archivos. 6.4.4 Seguridad en los archivos. 6.4.5 Mecanismos de proteccin. 6.4.6 Implementacin. 6.5 Llamadas al sistema (systemcalls). 6.6 Tipos de interfaz. 6.7 Lenguaje de comunicacin (comandos de control) y pipelines o conductos. SEGUNDA UNIDAD: SEMANA 3 SISTEMAS OPERATIVOS DISTRIBUIDOS Y COMUNICACIONES. Evaluar el desempeo de los sistemas operativos distribuidos, as como las comunicaciones . 7.1 Sistemas Distribuidos 7.1.1 Caractersticas de Sistemas Distribuidos 7.1.2 Redes e interconexin 7.1.3 Protocolos de comunicacin 7.2 Sistemas Operativos Distribuidos. 7.3 Comunicacin de Procesos en sistemas distribuidos 7.3.1 Sockets. 7.3.2 Llamadas a procedimientos remotos. 7.3.3 Comunicacin de grupos. Investigar y redactar los conceptos de la lista de palabras clave. Generar grupos de trabajo para desarrollar los temas de la unidad. Investigar y exponer su tema. Desarrollar las prcticas de esta unidad. 1, 2, 3, 4

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 5

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

SEGUNDA UNIDAD: SEMANA 3 MODELOS DE REFERENCIA (PROTOCOLOS ISO OSI CLIENTE/SERVIDOR). SEGUNDA UNIDAD: SEMANA 4 ADMINISTRACION DE SISTEMAS OPERATIVOS Evaluar en tiempo real 9.1 Top de los sistemas Investigar y exponer su tema. las prestaciones de los operativos Expondr las ventajas vividas de sistemas operativos 9.2 Windows 2003 Server un sistema operativo para con licenciados( Windows 9.3 Linux otro 2003 server) as como los sistemas operativos libres(Linux) V.- ESTRATEGIAS METODOLOGICAS Se aplicar la metodologa constructiva y activa del aprendizaje, desarrollando sesiones tericas y prcticas, con: Exposicin y dilogo Trabajo de investigacin fuera de aula que se presentar y sustentar Anlisis del contexto contable empresarial con activa participacin del alumno. Debate para definir e intercambiar ideas, informacin y aportes del grupo. VI.- MEDIOS Y MATERIALES En el presente curso se emplearn materiales impresos proporcionados por el docente, como separatas, formatos, casos para desarrollo; equipos multimedia calculadora, pizarra y plumones de acuerdo a las circunstancias y desarrollo propio de la materia segn la programacin, as como libros de consulta obligatoria por parte de los participantes. Tambin se empleara el laboratorio de computo, para sobre todo instalar los sistemas operativos de manera practica VII.-EVALUACION 7.1.- CRITERIOS DE EVALUACION

Nota Actitudinal. Nota de trabajo escrito. PROMEDIO DE UNIDAD 1: ( ) ( ) ( )

PROMEDIO DE UNIDAD 2: ( ) (
(

(
)

PROMEDIO FINAL:

7.2.- CONDICIONES DE EVALUACIN.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 6

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Estar matriculado en el mdulo. El estudiante que haya acumulado ms del 30% de inasistencias durante el desarrollo del curso ser INHABILITADO, salvo que justifique sus inasistencias con el soporte de pruebas documentaria, caso en el cual, la justificacin operar hasta un lmite que no exceda el 20% del nmero total de clases. (Segn el artculo 29 del Reglamento de Evaluacin del Aprendizaje de la Universidad Csar Vallejo). Es deber del estudiante con respecto a la evaluacin: Cancelar las tasas que correspondan por evaluaciones especiales y estar al da en el pago de sus pensiones para poder ser evaluados. (Segn Art. 40 inciso d del Captulo II de los deberes y derechos de los estudiantes previsto en el Reglamento de Evaluacin del Aprendizaje de la Universidad Csar Vallejo). El primer y segundo promedio de unidad sern registrados considerando un (01) decimal y en el promedio final ser redondeado, considerando el medio punto a favor del estudiante.

VIII.- CRONOGRAMA

FECHA DE INICIO FECHA DE TERMINO

19 de mayo del 2012 10 de junio del 2012

IX.- REFERENCIAS BIBLIOGRAFICAS/FUENTES DE CONSULTA 1. Harvey M. Deitel. Introduccin a los Sistemas Operativos. Addison Wesley Iberoamericana. 2. Andrew S. Tanenbaum. Sistemas Operativos Modernos. Pearson. 3. Abraham Silberschatz y James L. Paterson. Sistemas Operativos. Addison Wesley. 4. Stallings. Sistemas Operativos. Megabyte. Noriega Editores. 5. Mrquez Garca Francisco Manuel. UNIX. Programacin Avanzada.Rama. 6. Carretero Perez, Jess; Garca Carballeira, Felix; Prez Costoya Fernando. Prcticas Sistemas Operativos. De la base al diseo. Mc Graw Hill. 7. Andrew S. Tanenbaum. Sistemas Operativos. Diseo e Implementacin

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 7

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

MODULO DE SISTEMAS OPERATIVOS


La evolucin del hardware ha sido constante: del monoprocesador a los multiprocesadores, memorias ultrarrpidas, incorporacin de nuevos dispositivos, interconexin con otros sistemas... pero qu ha pasado con los sistemas operativos? Los sistemas operativos debieron acompaar la evolucin. Conceptos comunes de lo que es un sistema operativo es que es un manejador de recursos, un programa de control, el programa que se ejecuta constantemente en una computadora, etc. Tanenbaum lo expresa desde dos puntos de vista (complementarios): como mquina extendida o virtual ms fcil de entender y programar que el hardware puro y como administrador de recursos, entendiendo por .recursos. a los componentes tanto fsicos como lgicos: el procesador, memoria, discos, ratones o archivos. (Ver Tanenbaum & Woodhull .Sistemas Operativos, diseo e implementacin. Un sistema operativo es un programa que acta como intermediario entre el usuario (en su sentido amplio) de un computador y el hardware del computador. El propsito de un sistema operativo es crear un entorno en el que el usuario pueda ejecutar programas de forma cmoda y eficiente. Los sistemas operativos deben acompaar la evolucin de los sistemas de cmputo, brindando: portabilidad, interoperabilidad, interconectividad, ambiente multitareas, multiusuario, seguridad, proteccin (entre usuarios y desde el exterior), fcil administracin, independencia de dispositivo, abstraccin del hardware. EVOLUCION Y APLICACIONES DE LOS SISTEMAS OPERATIVOS Definicin de Sistemas Operativos Sistema tipo software que controla la computadora y administra los servicios y sus funciones como as tambin la ejecucin de otros programas compatibles con ste. Ejemplos de familias de sistemas operativos: Windows, Unix, Linux, DOS, Mac OS, etc. Un sistema operativo permite interactuar con el hardware de computadoras, telfonos celulares, PDAs, etc. y ejecutar programas compatibles en stos. Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los dispositivos de entrada y salida, facilitar la conexin a redes y el manejo de archivos. Caractersticas Bsicas.- En computadoras, el sistema operativo comienza a funcionar cuando finaliza el trabajo del BIOS al encenderse o reiniciar la computadora. Los sistemas operativos poseen una interfaz que puede ser grfica (GUI) o de texto (lnea de comandos). Los sistemas operativos forman una plataforma para que otros sistemas o aplicaciones la utilicen. Aquellas aplicaciones que permiten ser ejecutadas en mltiples sistemas operativos son llamadas multiplataforma. La mayora de los sistemas operativos actuales son tambin multiusuario, aunque existen los monousuario (por ejemplo, DOS). Tambin pueden clasificarse en multitarea o monotarea. Cada programa que se ejecuta en un sistema operativo, ya sea aplicacin o servicio de fondo, es llamado proceso. Los sistemas operativos pueden ser centralizados, si permiten utilizar recursos de una sola computadora, o distribuido si permiten utilizar recursos de ms de una computadora al mismo tiempo. Todos los sistemas operativos deben incluir un soporte para uno o ms sistemas de archivos. Por ejemplo, el sistema operativo Windows XP soporta NTFS y FAT32, en tanto Windows Vista slo soporta NTFS. Otra caracterstica de los actuales sistemas operativos es que poseen un gran conjunto de controladores (drivers) para permitir rpida compatibilidad con dispositivos de hardware.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 8

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Principales Funciones de los Sistemas Operativos Permitir la comunicacin usuario-mquina.- Proporcionar ya sea una interfaz de lnea de comando o una interfaz grfica al usuario, para que este ltimo se pueda comunicar con la computadora. Gestin de recursos del ordenador.- Administrar los dispositivos de hardware en la computadora. Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, mdems, etc). El sistema operativo sirve de intermediario entre los programas y el hardware. Control de lo que hace el ordenador y de cmo lo hace., Organizar los datos y los programas. Administrar y mantener los sistemas de archivo de disco. Los Sistemas Operativos agrupan la informacin dentro de compartimientos lgicos para almacenarlos en el disco. Estos grupos de informacin son llamados archivos. Los archivos pueden contener instrucciones de programas o informacin creada por el usuario. El sistema operativo mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. Evolucin Histrica de los Sistemas Operativos La primera computadora digital verdadera fue diseada por el matemtico ingls Charles Babbage (1792-1871). Como acotacin histrica interesante, diremos que Babbage se dio cuenta de que necesitara software para su mquina analtica, as que contrat a una joven mujer, Ada Lovelace, hija del famoso poeta britnico, Lord Byron, como la primera programadora de la historia. El lenguaje de programacin Ada recibi su nombre en honor a ella. Primera Generacin (1945-1955): .- La lgica o software de los ordenadores se ha complicado conforme han evolucionado stos. Los primeros ordenadores, a partir de 1944 en que Aiken construy el Mark-I, slo podan programarse en lenguaje mquina, y puede decirse que el Sistema Operativo an no exista. J. V. Neumann fue quien dio el primer paso en la informtica y en las relaciones hombre-mquina con el concepto de programa almacenado, que consiste en archivar en el ordenador un conjunto de instrucciones mquina para posteriormente ejecutarlas. Apareci Assembler, lenguaje nemotcnico-simblico. En 1948, con Noam Chomsky, surge la teora de las gramticas generativas transformacionales, que es la base de los traductores de lenguajes. En 1955 comenz el desarrollo de los lenguajes de alto nivel, y al mismo tiempo se empez a dividir el trabajo entre personas: operadores y programadores. Actualmente, al estar superado el concepto de mono programacin, es frecuente que tengamos que familiarizarnos con los conceptos de multiprogramacin, tiempo compartido, multiproceso y tiempo real. Segunda Generacin (1955-1965).Multiprocesamiento: Durante la segunda generacin, al menos un proveedor ofreca un sistema de multiprocesamiento, que era un sistema de cmputo que tena ms de una unidad central de proceso. En realidad el sistema consista en dos computadoras completas; la computadora ms pequea tena un sistema operativo y controlaba ambas mquinas. La computadora ms grande era esclava de la ms pequea. La computadora pequea procesaba la entrada de informacin y ordenaba e imprima toda la salida utilizando todos los discos como entrada de almacenamiento temporal.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 9

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Un sistema operativo ubicado en la computadora ms grande indicaba a la mquina de control que necesitaba servicio. Sistemas en lnea: Los primeros sistemas en lneas presentaban programas de sistema operativo diseados especialmente para controlar los recursos de la computadora. Los programas de aplicacin de un sistema en lnea expresan la lgica de aplicacin y los llamados mediante programas de sistemas El nacimiento del tiempo compartido: Los primeros sistemas de negocios tambin estaban utilizando sistemas operativos para sus equipos de segunda generacin. Cuando fue anunciada la tercera generacin de computadoras los fabricantes claramente haban abrazado la idea de un sistema operativo. La lnea 360 de la IBM no poda funcionar sin la ayuda de tal sistema operativo maneja toda la entrada/salida por medio de interrupciones. De hecho existen interrupciones especiales que la computadora solo puede ejecutar cuando est en estado supervisor, bajo el control de los sistemas operativos. Esta generacin se caracteriza por la utilizacin de la tecnologa que incluye transistores. La programacin, en este perodo se ve apoyada por la creacin de lenguajes ensambladores y lenguajes de alto nivel; como Fortran y Cobol. Para optimizar el tiempo de utilizacin del sistema computacional, se adopt el Procesamiento por Lotes. Como consecuencia de la utilizacin de tecnologa de mejores caractersticas, el procesamiento por lotes, la utilizacin de un operador de sistema y un sistema operativo primitivo se logr minimizar el tiempo ocioso de los computadores Tercera Generacin (1965-1980): Multisistemas : El estudio del hardware se menciona el desarrollo de los canales de datos para absorber algo de carga de E/S de la CPU. Sin embargo, todava exista un equilibrio entre la UCP y la E/S an con la ayuda de los canales en la mayor parte de los sistemas comerciales que tienen mucha actividad de E/S se puede tener la UCP ociosa ms del 50% del tiempo principalmente debido a la espera de la terminacin de operaciones de entrada/salida. No debe confundirse la multiprogramacin con el multiprocesamiento. En un sistema de multiprogramacin, la unidad central de procesamiento ejecuta solamente un programa a la vez. Varios programas estn presentes en la memoria en un estado semiactivo; su ejecucin ha sido suspendida temporalmente. Algunos sistemas de la tercera generacin tambin presentan el multiprocesamiento, o sea la presencia de ms de una unidad central de proceso. Estos procesadores estn controlados por el sistema operativo y, por supuesto, son multiprogramados ya que por lo menos existe el potencial para ejecutar un programa en cada procesador al mismo tiempo Sistemas en lnea: Durante la tercera generacin, los sistemas operativos vinieron con ms mdulos para facilitar el desarrollo de los sistemas en lnea, especialmente para respaldar el procesamiento de terminales y telecomunicaciones. Los sistemas estaban diseados para apoyar una mezcla de procesamiento batch y consultas en lnea. Tiempo compartido: Durante la tercera generacin, el proyecto MAC del MIT desarroll tambin un nuevo sistema de tiempo compartido llamado MULTICS. Este sistema presenta una importante innovacin que influy en los sistemas de cmputo posteriores. La tecnologa utilizada en este perodo corresponde a la de circuitos integrados, lo cual permiti construir mquinas ms baratas y con mejor rendimiento. La empresa IBM fue la primera en utilizar esta tecnologa. Una de las principales caractersticas de los sistemas operativos de hoy, que aparecen en esta generacin es la Multiprogramacin. Esta tcnica consiste en particionar la memoria de manera de contener simultneamente muchos trabajos, lo que permite independencia en las acciones de la mquina. Por ejemplo, si un trabajo est esperando por Entrada/Salida,

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 10

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

otro trabajo puede estar utilizando la CPU. Con la utilizacin de la multiprogramacin, se mejora el tiempo de utilizacin de la CPU, pero se crean problemas de proteccin y seguridad, debido al particionamiento de la memoria. Otra caracterstica importante de los sistemas operativos de esta generacin es la aparicin de la tcnica de Spooling (Operacin simultnea y en lnea de perifricos). Esta consiste en la capacidad de leer los trabajos de cinta al disco, haciendo posible que a medida que hubiera espacio en memoria se poda pasar al siguiente trabajo. De esta manera las operaciones de perifricos se realizan en paralelo con la utilizacin de la CPU. Durante esta generacin aparecen los primeros sistemas de Tiempo compartido, esto consiste en que se le asigna a cada trabajo un tiempo fijo de utilizacin de CPU, este perodo de tiempo (denominado time slot) es pequeo, pues el uso de tiempo compartido tiene como objetivo manejar a distintos usuarios mediante terminales que tengan la ilusin de estar ocupando la mquina como si fueran nicos. El primer sistema operativo importante de tiempo compartido es el (CTSS) y fue desarrollado en MIT (Massachusetts Institute of Technology). Cuarta Generacin (1980-1990).- Esta generacin se caracteriza por la utilizacin de los microprocesadores para la construccin de computadores de menor tamao, haciendo posible que una sola persona tuviera su propio computador personal. Los computadores personales con mayores capacidades y que se empezaron a utilizar en la empresa y en las universidades recibieron el nombre de estaciones de trabajo. Los sistemas operativos que cobran gran popularidad en este perodo son MS-DOS de Microsoft y UNIX. Este ltimo tuvo sus primeros desarrollos en Berkeley y posteriormente en AT&T. Quinta Generacin (1990 - Actualidad): .- Desde aproximadamente mediados de los '80 surgi el crecimiento de las redes de computadores con sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red cada computador tiene su propia copia de sistema operativo, los usuarios saben que existen varios computadores, pueden conectarse explcitamente a diferentes mquinas remotas para transferir archivos, hacer bsquedas, etc. En los sistemas operativos distribuidos existe una integracin real de los recursos, la red es transparente a los usuarios, es decir, que stos pueden no darse cuenta de la existencia de varias mquinas conectadas. Sobre este tipo de sistema operativo, una tarea puede ser ejecutada en varios nodos a la vez, pues existen facilidades de migracin de procesos. Adems este sistema computacional puede crecer fcilmente y la tolerancia a fallas se realiza en mejor forma (la tolerancia a fallas est relacionada con la confiabilidad, por ejemplo, si un computador falla puede seguir operando en su reemplazo). El desarrollo de los sistemas computacionales de los ltimos tiempos ha generado un conjunto de estndares, que han servido de base para futuros desarrollos de fabricantes que trabajan en conjunto. Dentro de los estndares ms conocidos se encuentran los siguientes: o o o o Estndares de comunicaciones abierto Modelo OSI (Open System Interconection), desarrollado por I SO. Estndares de sistemas operativos abiertos POSIX (IEEE standar 1003.1) SVID (System V Interfase Definition) Estndares de interfaces de usuarios abiertos X Windows desarrollado por MIT Estndares de aplicaciones de usuarios abiertos o X/Open

Sistemas Operativos para Celulares y Mobiles.- Los sistemas operativos para mviles van tomando un puesto, pues ya las aplicaciones y funciones que posee un sistema operativo mvil son un factor que los usuarios ven con atencin. Los sistemas

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 11

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

operativos para mviles adquieren terreno y cada vez ms rpido. Cada vez tienen ms utilidades, pero tambin son ms difciles de manejar, no se puede obviar la parte de que la tecnologa mvil es muy usada por casi todo el mundo y as como hay personas que van de la mano con la tecnologa tambin hay personas que no, y mientras ms modernos son los sistemas operativos de los mviles menos personas lo entienden. Entre los sistemas operativos para mviles las compaas que desarrollan softwares estn como ms populares como Symbian, Windows Mobile, Linux, Java y ANDROID por mencionar a algunos. ESTRUCTURA DEL SISTEMA OPERATIVO Tenemos cuatro estructuras distintas que se han probado, a fin de tener una idea de la variedad de posibilidades. stas no son de ninguna manera las nicas estructuras posibles, pero nos darn una idea de algunos diseos que se han llevado a la prctica. Los cuatro diseos son los sistemas monolticos, los sistemas por capas, las mquinas virtuales y los sistemas cliente-servidor. Sistemas monolticos.- Este enfoque, que es por mucho la organizacin ms comn, bien podra subtitularse El Gran Desorden. La estructura consiste en que no hay estructura. El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede invocar a cualquiera de los otros cuando necesita hacerlo. Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados, y cada uno est en libertad de invocar a cualquier otro, si este ltimo realiza algn clculo til que el primero necesita. Para construir el programa objeto real del sistema operativo cuando se adopta este enfoque, lo primero que se hace es compilar todos los procedimientos individuales, o archivos que contienen los procedimientos, y luego se vinculan en un solo archivo objeto usando el vinculador (linker) del sistema. En trminos de ocultacin de la informacin, prcticamente no hay tal; todos los procedimientos son visibles para todos los dems (en contraposicin a una estructura que contiene mdulos o paquetes, en la que gran parte de la informacin se oculta dentro de los mdulos, y slo se pueden invocar desde fuera del mdulo los puntos de entrada designados oficialmente). No obstante, incluso en los sistemas monolticos es posible tener al menos un poco de estructura. Los servicios (llamadas al sistema) proporcionados por el sistema operativo se solicitan colocando los parmetros en lugares bien definidos, como en registros o en la pila, y ejecutando despus una instruccin de trampa especial conocida como llamada al kernel o llamada al supervisor. Esta organizacin sugiere una estructura bsica para el sistema operativo: Un programa principal que invoca el procedimiento de servicio solicitado. Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema. Un conjunto de procedimientos de utilera que ayudan a los procedimientos de servicio.

En este modelo, para cada llamada al sistema hay un procedimiento de servicio que se ocupa de ella. Los procedimientos de utilera hacen cosas que varios procedimientos de servicio necesitan, como obtener datos de los programas de usuario. Esta divisin de los procedimientos en tres capas se muestra en la Fig. 1-17.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 12

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Sistemas por capas.- Una generalizacin del enfoque de la Fig. 1-17 consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la que est abajo de ella. El primer sistema que tuvo esta estructura fue el sistema THE construido en la Technische Hogeschool Eindhoven de los Pases Bajos por E. W. Dijkstra (1968) y sus estudiantes. El sistema THE era un sencillo sistema por lotes para una computadora holandesa, la Electrologica X8, que tena 32K de palabras de 27 bits (los bits eran costosos en esos tiempos). Mquinas virtuales.- Las primeras versiones de OS/360 eran sistemas estrictamente por lotes. No obstante, muchos usuarios de 360 queran tener tiempo compartido, de modo que diversos grupos, tanto dentro como fuera de IBM, decidieron escribir sistemas de tiempo compartido para l. El sistema de tiempo compartido oficial de IBM, TSS/360, se entreg tarde, y cuando por fin lleg era tan grande y lento que pocos sitios realizaron la conversin. Finalmente, este sistema fue abandonado despus de que su desarrollo haba consumido unos 50 millones de dlares (Graham, 1970). Por otro lado, un grupo del Centro Cientfico de IBM en Cambridge, Massachusetts, produjo un sistema radical- mente diferente que IBM finalmente acept como producto, y que ahora se utiliza ampliamente en las macrocomputadoras IBM que quedan. Este Sistema, llamado originalmente CP/CMS y que ms adelante fue rebautizado como VM/ 370 (Seawright y MacKinnon, 1979), se basaba en una astuta observacin: un sistema de tiempo compartido ofrece (1) multiprogramacin y (2) una mquina extendida con una interfaz ms cmoda que el hardware solo. La esencia de VM!370 consiste en separar por completo estas dos funciones. El corazn del sistema, conocido como monitor de mquina virtual, se ejecuta en el hardware solo y realiza la multiprogramacin, proporcionando no una, sino varias mquinas virtuales a la siguiente capa superior. Sin embargo, a diferencia de otros sistemas operativos, estas mquinas virtuales no son mquinas extendidas, con archivos y otras caractersticas bonitas; ms bien, son copias exactas del hardware solo, incluido el modo de kernel/usuario, E/S, interrupciones y todo lo dems que la mquina real tiene. Puesto que cada mquina virtual es idntica al verdadero hardware, cada una puede ejecutar cualquier sistema operativo que se ejecutara directamente en el hardware solo. Diferentes mquinas virtuales pueden, y con frecuencia lo hacen, ejecutar diferentes sistemas operativos.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 13

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Algunos ejecutan uno de los descendientes de OS/360 para procesamiento por lotes o de transacciones, mientras que otros ejecutan un sistema interactivo monousuario llamado CMS (Sistema de Monitoreo de Conversaciones) para usuarios de tiempo compartido. Cuando un programa de usuario ejecuta una llamada al sistema, la llamada se atrapa y se enva al sistema operativo de su propia mquina virtual, no al VM/370, tal como se hara si el programa se estuviera ejecutando en una mquina real en lugar de una virtual. A continuacin, CMS emite las instrucciones de E/S del hardware normal para leer su disco virtual, o lo que sea que se necesite para llevar a cabo la llamada. Estas instrucciones de E/S son atrapadas por el VM/370, el cual, entonces, las ejecuta como parte de su simulacin del hardware real. Al separar por completo las funciones de multiprogramacin y de suministro de una mquina extendida, cada uno de los componentes puede ser mucho ms sencillo, flexible y fcil de mantener. El concepto de mquina virtual se usa mucho hoy da en un contexto diferente: la ejecucin de viejos programas para MS-DOS en una Pentium (u otra CPU Intel de 32 bits). Al disear la Pentium y su software, tanto Intel como Microsoft se dieron cuenta de que habra una gran de- manda por ejecutar software viejo en el nuevo hardware. Por esta razn, Intel provey un modo 8086 virtual en la Pentium. En este modo, la mquina acta como una 8086 (que es idntica a una 8088 desde la perspectiva del software) incluido direccionamiento de 16 bits con un lmite de 1 MB. Este modo es utilizado por WINDOWS, OS2 y otros sistemas operativos para ejecutar programas de MS-DOS. Estos programas se inician en modo 8086 virtual y, en tanto ejecuten instrucciones normales, operan en el hardware solo. Sin embargo, cuando un programa trata de entrar por una trampa al sistema operativo para efectuar una llamada al sistema, o trata de realizar E/S protegida directamente, ocurre una trampa al monitor de la mquina virtual. En la capa ms baja, ejecutndose en modo de kernel, hay un programa llamado exokernel, cuyo trabajo consiste en repartir recursos a las mquinas virtuales y luego verificar los intentos por usarlos para asegurarse de que ninguna mquina est tratando de usar los recursos de alguien ms. Cada mquina virtual en el nivel de usuario puede ejecutar su propio sistema operativo, como en VM/370 y el modo 8086 virtual de la Pentium, excepto que cada uno slo puede usar los recursos que ha solicitado y que le han sido asignados. La ventaja del esquema de exokernel es que ahorra una capa de mapeo. En otros diseos, cada mquina virtual cree que tiene su propio disco, cuyos bloques van desde O hasta algn mximo, de modo que el monitor de mquina virtual debe mantener tablas para establecer la correspondencia con las direcciones de disco reales (y todos los dems recursos). Con el exokernel, no es necesario realizar este segundo mapeo. Lo nico que el exokernel tiene que hacer es mantenerse al tanto de qu recursos se han asignado a cada mquina virtual. Este mtodo sigue teniendo la ventaja de separar la multiprogramacin (en el exokernel) y el cdigo de sistema operativo del usuario (en el espacio del usuario), pero el gasto extra es menor, ya que todo lo que el exokernel tiene que hacer es evitar que las mquinas virtuales tomen cosas que no les pertenecen. Modelo cliente-servidor .- VM1370 se simplifica mucho al desplazar una parte importante del cdigo de sistema operativo tradicional (que implementa la mquina extendida) a una capa superior, CMS. No obstante, el VM/370 en s sigue siendo un programa complejo porque simular varias 370 virtuales no es tan fcil (sobre todo si se desea hacerlo con una eficiencia razonable).

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 14

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Una tendencia en los sistemas operativos modernos es llevar an ms lejos esta idea de trasladar cdigo a capas superiores y quitarle lo ms que se pueda al sistema operativo, dejando un kernel mnimo. El enfoque usual consiste en implementar la mayor parte de las funciones del sistema operativo en procesos de usuario. Para solicitar un servicio, como leer un bloque de un archivo, un proceso de usuario (ahora llamado proceso cliente) enva la solicitud a un proceso servidor, el cual realiza el trabajo y devuelve la respuesta. Otra ventaja del modelo cliente-servidor es su adaptabilidad para usarse en sistemas distribuidos. Si un cliente se comunica con un servidor envindole mensajes, el cliente no necesita saber si el mensaje ser atendido localmente en su propia mquina o si se envi a travs de la red a un servidor en una mquina remota. En lo que al cliente concierne, sucede lo mismo en ambos casos: se enva una solicitud y se obtiene una respuesta. La otra solucin consiste en incorporar una cantidad mnima de mecanismo en el kernel pero dejar las decisiones de poltica a los servidores en el espacio de usuarios. Por ejemplo, el kernel podra darse cuenta de que un mensaje enviado a cierta direccin especial implica que debe tomarse el contenido de ese mensaje y cargarlo en los registros de dispositivo de E/S de algn disco, a fin de iniciar una lectura de disco. En este ejemplo, el kernel ni siquiera inspeccionara los bytes del mensaje para verificar si son vlidos o significativos; slo los copiara ciegamente en los registros del dispositivo de disco. (Obviamente, debe utilizarse algn esquema para limitar tales mensajes slo a los procesos autorizados.) La divisin entre mecanismo y poltica es un concepto importante; aparece una y otra vez en los sistemas operativos en diferentes contextos. PROBLEMAS 1. Seale las dos funciones principales de un sistema operativo. 2. Qu es la multiprogramacin? 3. Qu es el spooling Cree usted que las computadoras personales avanzadas contarn con spooling como capacidad estndar en el futuro? 4. Cules de las siguientes instrucciones slo deben permitirse en modo de kernel? a) Inhabilitar todas las interrupciones. b) Leer el reloj de hora del da. c) Establecer el reloj de hora del da. d) Cambiar el mapa de memoria. 5. Cite algunas diferencias entre los sistemas operativos de las computadoras personales y los de las macro computadoras. 6. El modelo cliente-servidor es popular en los sistemas distribuidos. Puede usarse tambin en los sistemas de una sola computadora?

ORGANIZACIN DE PROCESOS. PLANIFICACION DE PROCESOS Una primera definicin sencilla: un proceso es un programa en ejecucin Diferencias entre un programa y un proceso
PROGRAMA ES ESTATICO NO TIENE CONTADOR DE PROGRAMA EXISTE DESDE QUE SE EDITA HASTA QUE SE BORRA PROCESO ES DINAMICO TIENE CONTADOR DE PROGRAMA SU CICLO DE VIDA COMPRENDE DESDE QUE SE LE DISPARA HASTA QUE TERMINA

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 15

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Los tipos de llamadas al sistema referidas a los procesos, que un sistema operativo normalmente ofrece son: Finalizar, abortar Cargar, ejecutar. Crear proceso, terminar proceso Obtener atributos de proceso, establecer atributos de proceso. Esperar un lapso de tiempo. Esperar suceso, indicar la ocurrencia del suceso. Asignar y liberar memoria. Estados de un proceso: En su ciclo de vida el proceso pasa por diferentes estados. Bsicamente: Nuevo (new). Ejecutndose (running) En espera (waiting) Listo para ejecutar (ready) Terminado (terminated)

Bloque de control de procesos: Cada proceso se representa en el sistema operativo con un bloque de control de proceso (PCB, process control block) tambin llamado bloque de control de tarea.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 16

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Estado del proceso: El estado puede ser: nuevo, listo, en ejecucin, en espera, detenido, etc. Contador de programa: El contador indica la direccin de la siguiente instruccin que se ejecutar para este proceso. Registros de CPU: El nmero y el tipo de los registros vara dependiendo de la arquitectura del computador. Los registros incluyen acumuladores, registros, ndice, punteros de pila y registros de propsito general, as como cualquier informacin de cdigos de condicin que haya. Junto con el contador de programa, esta informacin de estado se debe guardar cuando ocurre una interrupcin, para que el proceso pueda continuar correctamente despus. Informacin de planificacin de CPU: Esta informacin incluye una prioridad del proceso, punteros a colas de planificacin y cualquier otro parmetro de planificacin que haya. Informacin de gestin de memoria: Esta informacin puede incluir datos tales como el valor de los registros de base y lmite, las tablas de pginas o las tablas de segmentos, dependiendo del sistema de memoria empleado por el sistema operativo. Informacin contable: Esta informacin incluye la cantidad de tiempo de CPU y tiempo real consumida, lmites de tiempo, nmeros de cuenta, nmeros de trabajo o proceso, y dems. Informacin de estado de E/S: La informacin incluye la lista de dispositivos de E/S asignadas a este proceso, una lista de archivos abiertos, etc.

El PCB sirve como depsito de cualquier informacin que pueda variar de un proceso a otro. Jerarqua de procesos: La secuencia de creacin de procesos genera un rbol de procesos. Para referirse a las relaciones entre los procesos de la jerarqua se emplean los trminos de padre, hermano o abuelo. Cuando el proceso A solicita al sistema operativo que cree el proceso B, se dice que A es padre de B y que B es hijo de A. Bajo esta ptica, la jerarqua de procesos puede considerarse como un rbol genealgico. Algunos sistemas operativos, como Unix, mantienen de forma explcita esta estructura jerrquica de procesos - un proceso sabe quin es su padre -, mientras que otros sistemas operativos como el Windows NT no la mantienen.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 17

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Planificador y activador: El planificador (scheduler) forma parte del ncleo del sistema operativo. Entra en ejecucin cada vez que se activa el sistema operativo y su misin es seleccionar el proceso que se ha de ejecutar a continuacin. El activador (dispatcher) tambin forma parte del sistema operativo y su funcin es poner en ejecucin el proceso seleccionado por el planificador. Cambio de contexto: La activacin del sistema operativo se realiza mediante el mecanismo de las interrupciones. Cuando se produce una interrupcin se realizan las dos operaciones siguientes: Se salva el estado del procesador en el correspondiente PCB. Se pasa a ejecutar la rutina de tratamiento de interrupcin del sistema operativo. Llamaremos cambio de contexto (context switch)al conjunto de estas operaciones. El tiempo de conmutacin de contexto es exclusivamente gasto extra (overhead), porque el sistema no realiza trabajo til durante la conmutacin. Por ser un cuello de botella tan importante para el desempeo del sistema operativo se estn empleando estructuras nuevas (hilos) para evitarla hasta donde sea posible. Procesos ligeros, hilos o threads: Un proceso ligero es un programa en ejecucin (flujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Un proceso puede contener un solo flujo de ejecucin, como ocurre en los procesos clsicos, o ms de un flujo de ejecucin (procesos ligeros). Desde el punto de vista de la programacin, un proceso ligero se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main. Todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el cdigo, los datos y las pilas de los diferentes procesos ligeros. El proceso ligero constituye la unidad ejecutable en Windows NT.

Planificacin en POSIX (Linux): POSIX especifica una serie de polticas de planificacin, aplicables a procesos y procesos ligeros, que debe implementar cualquier sistema operativo que ofrezca esta interfaz. Planificacin en Windows NT/2000: En Windows NT la unidad bsica de ejecucin es el proceso ligero y, por tanto, la planificacin se realiza sobre este tipo de procesos.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 18

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

PLANIFICACION La planificacin es una funcin fundamental del sistema operativo. Siendo la CPU uno de los principales recursos, la planificacin de su uso es sumamente importante. En un ambiente de multiprogramacin, el sistema operativo debe decidir a qu proceso le da la CPU entre los que estn listos para ejecutarse. Cul es el criterio por el cual se prefiere la ejecucin de uno sobre los otros? Existen diferentes algoritmos de seleccin, pero para escoger cul es el que corresponde a nuestro sistema debemos tener claro bajo qu criterios nos interesa fijar las pautas. Por ejemplo: Maximizar el uso de la CPU: que se mantenga ocupada el mayor tiempo posible. Maximizar la Productividad (throughput), considerando que productividad (o rendimiento) es el nmero de procesos que se ejecutan por unidad de tiempo. Minimizar el Tiempo de retorno (turnaround time), que es el tiempo transcurrido desde que el proceso ingresa hasta que termina, sumando espera para entrar en memoria, en cola de procesos listos, ejecutndose en CPU y haciendo E/S. Minimizar el Tiempo de espera (waiting time), que es el tiempo que el proceso est en la cola de listos. Minimizar el Tiempo de respuesta (response time), que es el tiempo que transcurre desde que se presenta una solicitud hasta que se tiene respuesta. Es el tiempo que tarda en comenzar a responder, no incluyendo el tiempo de la respuesta en s. Lo ideal es maximizar el uso de la CPU y la productividad y minimizar los tiempos de retorno, respuesta y espera. Son otros criterios: La equidad: que todos los procesos tienen que ser tratados de igual forma y a todos se les debe dar la oportunidad de ejecutarse, para que ninguno sufra inanicin. Recursos equilibrados: la poltica de planificacin que se elija debe mantener ocupados los recursos del sistema, favoreciendo a aquellos procesos que no abusen de los recursos asignados, sobrecargando el sistema y bajando la performance general.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 19

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Organizacin. Colas y schedulers Colas En un sistema operativo los recursos compartidos exigen la organizacin en colas de las solicitudes pendientes. Tenemos colas para la planificacin del uso de la cpu como tambin colas para el uso de dispositivos, device queues, que son utilizadas para ordenar los requerimientos que varios procesos pueden tener sobre un dispositivo especfico. Al ser creados, los procesos se colocan en la cola de trabajos, formada por los procesos que an no residen en la memoria principal, pero listos para su ejecucin. La residencia en memoria es imprescindible para la ejecucin de un proceso. La cola de trabajos listos (ready queue) es aqulla formada por los procesos que estn listos para la ejecucin, en memoria principal. Son los procesos que compiten directamente por CPU. Un proceso que est en la cola de listos no puede estar en las colas de dispositivo, pues en este ltimo caso est esperando por E/S, por lo tanto no puede estar compitiendo por cpu. Los elementos de cualquiera de estas colas no son los procesos en s, sino sus PCB.s, que estn en memoria. La cola de procesos listos (ready queue) se almacena como una lista enlazada donde la cabecera (header) de la ready queue tiene punteros al primer y al ltimo PCB de los procesos de la lista. Cada PCB apunta al prximo en la lista. Schedulers, dispatchers . Planificadores, activadores Hay mdulos del sistema operativo para elegir un proceso para su ejecucin de entre los que estn compitiendo por CPU. Esa eleccin depender del criterio adoptado (segn lo explicado en el primer punto). La eleccin estar asociada al carcter del sistema. Por ejemplo, en un sistema batch no hay tanta exigencia en cuanto al tiempo de respuesta. En un sistema interactivo minimizar este tiempo es imprescindible. El algoritmo que se eligir para la eleccin de procesos ser diferentes en cada caso. Recordemos que los sistemas operativos modernos permiten la convivencia de las dos modalidades (batch e interactivo): cmo lo solucionamos? Necesitamos que el sistema operativo, a travs de sus mdulos, elija un proceso de acuerdo al criterio elegido, haga el cambio de contexto, lo cargue en memoria y le d la CPU. Cuando un proceso termina, normal anormalmente, debe elegirse otro proceso para cargar en memoria. Qu pasa cuando un proceso de mayor prioridad debe ejecutarse y no hay memoria suficiente? Un mdulo debe encargarse de seleccionar uno de los procesos que est en memoria y sacarlo temporariamente a memoria secundaria para dar lugar (swapping), pero teniendo en cuenta que sigue compitiendo por CPU y que se debe resguardar su contexto. Estos mdulos del sistema operativo son rutinas especiales y depender de la implementacin cmo las funciones que citamos se realizan en cada sistema. En un sistema hay procesos con mayor proporcin de rfagas E/S (I/O bound process) y otros con mayor necesidad de cpu que de E/S (CPU bound). Si cuando se seleccionan procesos para ejecutar se eligieran todos I/O bound, tendramos las colas de dispositivo llenas de solicitudes y, probablemente, la CPU ociosa. Si se eligen muchos procesos limitados por CPU la cola de listos estar llena y las colas de dispositivo, vacas. Por eso es muy importante de qu manera se realiza la seleccin de trabajos para mantener el sistema en equilibrio. Esta seleccin la realizan los planificadores o schedulers. Hay distintos planificadores que participan en diferentes momentos: El de largo plazo o long term, que elige entre la cola de listos, para cargarlo en memoria;

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 20

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

El de corto plazo o short term (tambin llamado CPU scheduler), que elige entre los que estn listos en memoria para darle la CPU; El de medio plazo o medium term, que selecciona un proceso de entre los que estn en memoria para llevarlo temporariamente a memoria secundaria por necesidades de espacio en memoria. Es importante aclarar que en las colas los registros son normalmente las PCB.s de los procesos. Otro mdulo de importante participacin en la planificacin es el activador o dispatcher. Es el que da el control de la CPU al proceso elegido por el planificador de corto plazo. Debe ser muy rpido pues una de sus funciones es encargarse del cambio de contexto (context switch). Al tiempo entre detener un proceso y comenzar a correr otro se le llama dispatch latency. El dispatcher es tambin el que se encarga de pasar a modo usuario el proceso que est activando y .saltar. a la direccin de la instruccin que comienza la ejecucin del programa. Anlisis sobre la productividad Hemos hablado que en un ambiente de multiprogramacin cuando un proceso se bloquea a la espera de algn evento, la CPU atiende al primer proceso que se halle en la cola de procesos listos (ready) para su ejecucin. Si un proceso P0 dura en total 11 segundos, intercalndose las rfagas de cpu y de E/s, si no existiera la posibilidad de atender otro proceso P1 en los momentos que P0 hace E/S, P1 debera esperar hasta la culminacin de P0 para ejecutarse. Si vamos en cambio intercalando el proceso de CPU de P0 con el de P1 (en el momento que P0 hace E/S) aumentaremos la productividad pues en un perodo menor de tiempo aumentamos la cantidad de trabajos realizados Incidencia del Cambio de contexto (context switching) El tiempo del cambio de contexto vara segn el hardware. La velocidad de memoria, nmero de registros y si hay o no instrucciones especiales, inciden en ese tiempo. En el anlisis que haremos aqu no consideramos el tiempo para el context switching pues este debera ser despreciable en comparacin con el quantum que se elija. Vase que un sistema donde este tiempo es considerable, el sistema operativo tendr mucho tiempo dedicado a esta operacin, en vez de dedicarlo a procesar. Procesos orientados a la E/S y procesos orientados a la CPU Hay procesos orientados a la E/S y procesos orientados a la CPU. Los procesos orientados a la CPU tienen proporcionalmente rfagas de CPU mayores a las de E/S, siendo estas ltimas adems, pocas. Normalmente los procesos de este tipo utilizan toda su porcin de tiempo o quantum al no tener que abandonar la CPU por E/S. Los procesos orientados a la E/S tienen proporcionalmente rfagas de E/S mayores a las de CPU y muy seguidas. En un ambiente de multiprogramacin donde haya preponderancia de estos procesos, habr una intervencin muy frecuente del planificador de corto plazo, y mucho cambio de contexto.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 21

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Algoritmos de planificacin Estos algoritmos tratan sobre la decisin de elegir a cul de los procesos que estn en la cola de listos se le asignara la CPU. Veamos algunos de ellos: FCFS (first-come, first-serve) Primero en llegar, primero en ser atendido.- Se le asigna la CPU al proceso que la requiri primero. Se maneja a travs de una cola FIFO (First In First Out), tal que cuando un proceso requiere CPU, su PCB se coloca la final de la cola. Cuando se debe elegir un proceso para asignarle CPU se elige el proceso cuya PCB esta primera en la cola. El cdigo para implementar este algoritmo es simple y comprensible. Pero el tiempo promedio de espera puede ser largo. El efecto convoy del FCFS.- Una situacin indeseable que puede ocurrir cuando se mezclan procesos CPU bound con proceso I/O bound es el efecto convoy. El proceso CPU bound toma la CPU y la mantiene pues el resto de los procesos al tener tanto I/O se la pasa circulando por las diferentes colas (de ready, de dispositivo) o en espera. El resultado es un bajo rendimiento de la CPU, que esta prcticamente atendiendo un solo proceso. Este efecto podra evitarse atendiendo procesos ms cortos primero, aumentando la productividad. Shortest-job-first Scheduling (SJF). Planificacin .primero el trabajo mas corto.- Este algoritmo elige entre los procesos de la cola de listos, aquel que tenga la prxima rfaga de CPU mas corta. Para ello este dato debe ser conocido, obviamente. Es un algoritmo que permite que el tiempo de espera promedio sea bajo. Se puede utilizar en planificadores de largo plazo, pero no en los de corto plazo pues no hay manera de conocer la medida de la prxima rfaga. Se podra aproximar considerando el valor de la previa. Por prioridad.- Se le asocia un valor a cada proceso que representa la prioridad, y se le asigna la CPU al proceso de la cola de ready que tenga la mayor prioridad. Los valores asociados a la prioridad son un rango fijo, de 0 a n, segn cada sistema. Tambin lo determina cada sistema si el nmero mas bajo es la mas alta o la mas baja prioridad. La prioridad puede ser fija o variable, externa o interna Si es fija, ese valor no varia en el ciclo de vida del proceso. Si es variable, significa que ese valor puede cambiar dinmicamente de manera tal que haya factores, por ejemplo, el tiempo que lleva esperando en colas, que puedan .ayudar. a que haya un mejor nivel de competencia elevando la prioridad de procesos postergados y evitar una situacin indeseable llamada starvation (inanicin). A la tcnica de elevar la prioridad a un proceso de acuerdo al tiempo que hace que esta en el sistema se le llama aging. Si la prioridad es interna, es determinada en funcin del uso de los recursos (memoria, archivos abiertos, tiempos). Si es externa, puede decidirse darle alta prioridad a un proceso de importancia, a consideracin del operador.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 22

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

POSIX proporciona planificacin basada en prioridades. Round-Robin Scheduling (RR). Planificacin por turno circular..- Se la asigna a cada proceso de la cola de listos un intervalo de tiempo de CPU. Ese intervalo es llamado time slice o quantum. Para implementar este algoritmo la cola de listos se mantiene como una cola FIFO. Y la CPU se va asignando dndole un mximo de 1 quantum a cada proceso. Si el proceso no va a usar todo ese tiempo, usa lo necesario y libera la CPU. Se elige entonces otro proceso de la cola. Si excede el quantum, se produce una interrupcin. En ambos casos al dejar la CPU hay un cambio de contexto. El tiempo promedio de espera puede ser largo. Su performance depende fuertemente de la eleccin del quantum. Y el tiempo gastado en context switch es una variable que se debe tener muy en cuenta. Se debe determinar un quantum que sea mucho mayor que el tiempo de context switch. Se utiliza en los sistemas time-sharing. Colas multinivel.- En un sistema conviven procesos mixtos. Puede haber requerimientos de tiempo de respuesta distintos si conviven procesos interactivos con procesos batch (o para aquellos que provienen del Unix, procesos en foreground y procesos en background). Existen algoritmos que contemplan esta situacin dividiendo la cola de ready en distintas colas segn el tipo de proceso, estableciendo una competencia entre las colas y entre los procesos del mismo tipo entre si. Cada cola puede tener su algoritmo de scheduling: los procesos batch pueden ser .planificados. por un algoritmo FCFS y la cola de procesos interactivos, por un RR. Colas multinivel En un sistema conviven procesos mixtos. Puede haber requerimientos de tiempo de respuesta distintos si conviven proceso interactivos con procesos batch (o para aquellos que provienen del Unix, procesos en foreground y procesos en background). Existen algoritmos que contemplan esta situacin dividiendo la cola de ready en distintas colas segn el tipo de proceso, estableciendo una competencia entre las colas y entre los procesos del mismo tipo entre si. Cada cola puede tener su algoritmo de scheduling: los procesos batch pueden ser .planificados. por un algoritmo FCFS y la cola de procesos interactivos, por un RR. Colas multinivel con retroalimentacion En el caso planteado anteriormente, un proceso permaneca en la cola asignada hasta su atencin. En el modelo con retroalimentacion, un proceso puede .moverse. entre colas, es decir, segn convenga puede llegar a asignarse a otra cola. Los procesos se separan de acuerdo a la rfaga de CPU que usan. Si est usando mucha CPU se lo baja a una cola de menor prioridad. Se trata de mantener los procesos interactivos y de mucha I/O en las colas de mayor prioridad. Si adems un proceso estuvo demasiado tiempo en una cola de baja prioridad puede moverse a una cola de mayor prioridad para prevenir inanicin (starvation). Scheduling apropiativo, expropiativo o expulsivo (preemptive) Hay que considerar en el esquema de planificacin en que momento se realiza la seleccin. Un algoritmo no apropiativo es aquel que una vez que le da la CPU a un proceso se ejecuta hasta que termina o hasta que se bloquea hasta la ocurrencia de determinado evento. En cambio, un algoritmo apropiativo es aquel en que un proceso que se est ejecutando puede ser interrumpido y pasado a cola de listos (ready queue) por decisin del sistema operativo. Esta decisin puede ser porque llego un proceso de mayor prioridad, por ejemplo. Si bien los algoritmos apropiativos tienen un mayor costo que los no apropiativos, el sistema se ve beneficiado con un mejor servicio pues se evita que algn proceso pueda apropiarse

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 23

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

de la CPU. No obstante si se utilizaran algoritmos apropiativos debe considerarse si el sistema operativo est preparado para desplazar en cualquier momento un proceso. Por ejemplo, si ese proceso en ese momento, a causa de una llamada al sistema (system call) esta modificando estructuras de kernel y se lo interrumpe, esas estructuras pueden quedar en un estado inconsistente. O puede ocurrir con procesos que comparten datos y uno de ellos est modificndolos al ser interrumpido. En Unix, por ejemplo se espera que se termine de ejecutar el system call para permitir apropiacin. Relacionemos la idea de apropiacin con los diferentes algoritmos vistos. FCFS es no apropiativo. Cuando se le da la CPU a un proceso, este la mantiene hasta que decide liberarla, porque termino, o porque requiere I/O. SJF puede ser apropiativo o no. Si mientras se est ejecutando un proceso llega uno cuya prxima rfaga de CPU es ms corta que lo que queda de ejecutar del activo, puede existir la decisin de interrumpir el que se esta ejecutando o no. Al SJF apropiativo, se le llama shortest-remaining-time-first. (primero el de tiempo restante ms corto). Prioridades puede ser apropiativo o no. Si mientras se esta ejecutando un proceso llega a la cola de ready un proceso de mayor prioridad que el que se esta ejecutando puede existir la decisin de interrumpir el que se esta ejecutando o no. Si es no apropiativo, en lugar de darle la CPU al nuevo proceso, lo pondr primero en la cola de ready. RR es apropiativo pues si el proceso excede el tiempo asignado, hay una interrupcin para asignarla la CPU a otro proceso. POSIX (ver Carretero p. 137) especifica tres tipos de polticas de planificacin: FIFO. Pero pueden ser expulsados por procesos de mayor prioridad y RR (round robin) (turno circular). Los procesos dentro del mismo nivel de prioridad ejecutan segn una poltica de planificacin RR. Son expulsados de la CPU cuando acaba su rodaja de tiempo o cuando son expulsados por un proceso de mayor prioridad. El tercer tipo se denomina: OTHER, que queda libre a la implementacin y se debe documentar adecuadamente La planificacin de procesos en ambientes multiprocesador En el caso en que los procesadores son idnticos, cualquier procesador disponible puede usarse para atender cualquier proceso en la cola. No obstante, debemos tener en cuenta que puede haber dispositivos asignados de manera privada o nica a un procesador, y si un proceso quiere hacer uso de ese dispositivo deber ejecutarse en ese procesador. Otra ventaja es implementar load sharing (carga compartida), permitiendo que si un procesador esta ocioso puedan pasarse procesos de la cola de otro procesador a este, o hacer una cola comn, y la atencin se realiza de acuerdo a la actividad de cada uno. En ambientes de procesadores heterogneos no olvidemos que un procesador podra ejecutar solo aquellos procesos que fueron compilados de acuerdo a su conjunto de instrucciones. En otros sistemas se asume un estructura de procesadores master-slave que asigna a un procesador la toma de decisiones en cuanto a scheduling y otras actividades, dedicndose los otros procesadores a ejecutar cdigo de usuario. La ventaja es que solo el procesador master accede a estructuras del kernel, evitando inconsistencias. Un ejemplo: Windows NT El sistema operativo Windows NT es un ejemplo de diseo moderno que utiliza modularidad para incrementar la funcionalidad y reducir el tiempo necesario para

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 24

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

implementar nuevas caractersticas. NT apoya mltiples entornos operativos o subsistemas con los que los programas de aplicacin se comunican empleando un sistema de transferencia de mensajes. Los programas de aplicacin se pueden considerar como clientes del servidor de subsistemas NT. El recurso de transferencia de mensajes en Windows NT se llama Recurso de Llamada a Procedimiento Remoto (LPC, Local Procedure Call), y sirve para que se comuniquen entre s dos procesos que estn en la misma mquina. El mecanismo es similar al de llamada a procedimientos remotos estndar de uso general pero optimado y especfico para NT. Windows NT, al igual que Mach, utiliza un objeto puerto para establecer y mantener una conexin entre dos procesos. Cada cliente que invoca un subsistema necesita un canal de comunicacin, mismo que el objeto puerto proporciona y que nunca se hereda. NT maneja dos tipos de puertos, puertos de conexin y puertos de comunicacin, que en realidad son iguales pero reciben diferentes nombres segn la forma en que se usa. Los puertos de conexin son objetos con nombre, visibles para todos los procesos, y ofrecen a las aplicaciones una forma de establecer un canal de comunicacin. La comunicacin funciona como sigue: El cliente abre un mando para el objeto puerto de conexin del subsistema. El cliente enva una solicitud de conexin. El servidor crea dos puertos de comunicacin privados y devuelve el mando de uno de ellos al cliente. El cliente y el servidor usan el mando de puerto correspondiente para enviar mensajes o devoluciones de llamada y esperar respuestas. ORGANIZACIN DE LA MEMORIA La memoria es un recurso importante que se debe administrar con cuidado. Si bien hoy da la computadora casera media tiene cincuenta veces ms memoria que la IBM 7094, que era la computadora ms grande en el mundo a principios de los aos sesenta, los programas estn aumentando de tamao con tanta rapidez como las memorias. Parafraseando la ley de Parkinson, "los programas se expanden hasta llenar la memoria disponible para contenerlos". Idealmente, lo que a todo programador le gustara es una memoria infinitamente grande y rpida que adems no sea voltil, es decir, que no pierda su contenido cuando se interrumpa la alimentacin elctrica. Ya entrados en materia, por qu no pedimos tambin que sea econmica? Desafortunadamente, la tecnologa no proporciona tales memorias. En consecuencia, la mayor parte de las computadoras tienen una jerarqua de memoria, con una cantidad pequea de memoria cach muy rpida, costosa y voltil, algunos megabytes de memoria principal (RAM) voltil de mediana velocidad y mediano precio, y cientos o miles de megabytes de almacenamiento en disco lento, econmico y no voltil. Corresponde al sistema operativo coordinar el uso de estas memorias. La parte del sistema operativo que administra la jerarqua de memoria se denomina administrador de memoria. Su trabajo consiste en mantenerse al tanto de qu partes de la memoria |t8tnenuso y cules no lo estn, asignar memoria a los procesos cuando la necesitan y recuperarla | cuando terminan, y controlar el intercambio entre la memoria principal y el disco cuando la primera es demasiado pequea para contener todos los procesos. En los sistemas ms sencillos no realizan intercambios ni paginacin. Una vez que un programa se carga en la memoria, permanece ah hasta terminar. Algunos sistemas operativos slo permiten un proceso a la vez en la memoria, mientras que otros apoyan la multiprogramacin.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 25

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

El siguiente paso hacia arriba es el intercambio. Cuando se usa intercambio, el sistema puede manejar ms procesos que los que cabran en la memoria. Los procesos para los cuales no hay espacio se intercambian al disco. Puede seguirse la pista al espacio libre en la memoria y en el disco mediante un mapa de bits o una lista de agujeros. Las computadoras ms avanzadas suelen tener alguna forma de memoria virtual. En la forma ms simple, el espacio de direcciones de cada proceso se divide en bloques de tamao uniforme llamados pginas, que se pueden colocar en cualquier marco de pgina que est disponible en la memoria. Hay muchos algoritmos de reemplazo de pginas; dos de los ms conocidos son el de segunda oportunidad y el de maduracin. No basta escoger un algoritmo para lograr que los sistemas de paginacin funcionen bien; deben cuidarse aspectos tales como la determinacin del conjunto de trabajo, la poltica de asignacin de memoria y el tamao de las pginas. La segmentacin ayuda a manejar estructuras de datos que cambian de tamao durante 1 ejecucin, y simplifica la vinculacin y la comparticin. Adems, cuando se usan segmentos ms fcil proporcionar distintos niveles de proteccin a los diferentes segmentos. En algunos casos se combina la segmentacin con paginacin para crear una memoria virtual bidimensional. El sistema MULTICS y el Pentium de Intel apoyan la segmentacin y la paginacin. Varias llamadas al sistema reconocen seales estilo POSIX, y puesto que la accin predeterminada de la mayor parte de las seales es terminar el proceso al que se envi la seal, resulta apropiado manejarlas en el administrador de memoria, que inicia la terminacin de todos los procesos. El administrador de memoria tambin maneja varias llamadas al sistema que no estn relacionadas directamente con la memoria, principalmente porque es ms pequeo que el sistema de archivos, as que result ms cmodo colocarlas ah. PROBLEMAS 1. Un sistema de computadora tiene suficiente espacio para contener cuatro programas en su memoria principal. La mitad del tiempo, estos programas estn ociosos esperando E/S. Qu fraccin del tiempo de CPU se desperdicia? 2. Considere un sistema de intercambio en el que la memoria tiene agujeros con los siguientes tamaos en orden segn su posicin en la memoria: 10K, 4K, 20K, 18K, 7K, 9K, 12K y 15K. Cul agujero se toma cuando hay solicitudes de segmento sucesivas de (a) 12K (b) 10K (c) 9K si se usa primer ajuste? Repil;). usando mejor ajuste, peor ajuste y siguiente ajuste. 3. Qu diferencia hay entre una direccin fsica y una direccin virtual? 4. Empleando la tabla de pginas de la Fig. 4-8, d la direccin fsica que corresponde a cada una de las siguientes direcciones virtuales: (a) 20 (b) 4100 (c) 8300 5. El procesador Intel 8086 no apoya la memoria virtual. No obstante, algunas compaas vendieron previamente sistemas que contenan una CPU 8086 no modificada y realizaban paginacin. Utilice lo que sabe para sugerir cmo lo hicieron. (Sugerencia: piense en la ubicacin lgica de la MMU.) 6. Si una instruccin tarda 1 microsegundo y una falla de pgina tarda n microsegundos adicionales, deduzca una frmula para el tiempo de instruccin efectivo si ocurren fallas de pgina cada k instrucciones. 7. Una mquina tiene un espacio de direcciones de 32 bits y pginas de 8K. La tabla de pginas est totalmente en hardware, con una palabra de 32 bits por cada entrada. Cuando un proceso inicia, la tabla de pginas se copia en el hardware desde la

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 26

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

memoria, a razn de una palabra cada 100 ns. Si cada proceso se ejecuta durante 100 ms (incluido el tiempo que toma cargar la tabla de pginas), qu fraccin del tiempo de CPU se dedica a cargar las tablas de pginas? 8. Una computadora con direcciones de 32 bits usa una tabla de pginas de dos niveles. Las direcciones virtuales se dividen en un campo de tabla de pginas de nivel superior de nueve bits y un campo de tabla de pginas de segundo nivel de once bits, adems de una distancia. Qu tamao tienen las pginas y cuntas de ellas hay en el espacio de direcciones? 9. Una computadora tiene cuatro marcos de pgina. A continuacin se muestran el tiempo de carga, el tiempo de ltimo acceso y los bits R y M para cada pgina (los tiempos estn en tics del reloj): Pgina Cargada ltima ref. R M O 126 279 O O 1 230 260 1 O 2 120 272 1 1 3 160 280 1 1 (a) Cul pgina se reemplazar si se usa NRU? (b) Cul pgina se reemplazar si se usa FIFO? (c) Cul pgina se reemplazar si se usa LRU? (d) Cul pgina se reemplazar si se usa segunda oportunidad? SISTEMAS DE ARCHIVOS Todas las aplicaciones de computadora necesitan almacenar y recuperar informacin. Mientras un proceso se est ejecutando, puede almacenar una cantidad de informacin limitada dentro de su propio espacio de direcciones. Sin embargo, la capacidad de almacenamiento est restringida al tamao del espacio de direcciones virtual. En el caso de algunas aplicaciones, este tamao es adecuado, pero en el de otras, como las de reservaciones de lneas areas, las aplicaciones bancadas o las bases de datos corporativas, dicho tamao resulta excesivamente pequeo. Un segundo problema de mantener la informacin dentro del espacio de direcciones de un proceso es que cuando el proceso termina la informacin se pierde. En muchas aplicaciones (como las bases de datos), la informacin debe retenerse durante semanas, meses, o incluso eternamente. No es aceptable que la informacin desaparezca cuando el proceso que la est usando termina. Adems, la informacin no debe perderse cuando una cada de la computadora termina el proceso. Un tercer problema es que en muchos casos es necesario que mltiples procesos accedan a (partes de) la informacin al mismo tiempo. Si tenemos un directorio telefnico en lnea almacenado dentro del espacio de direcciones de un solo proceso, nicamente ese proceso tendr acceso a l. La forma de resolver este problema es hacer que la informacin misma sea independiente de cualquier proceso individual. Por tanto, tenemos tres requisitos esenciales para el almacenamiento de informacin a largo plazo: 1. Debe ser posible almacenar una gran cantidad de informacin. 2. La informacin debe sobrevivir a la terminacin del proceso que la usa. 3. Mltiples procesos deben poder acceder a la informacin de forma concurrente. La solucin usual a todas estas exigencias es almacenar la informacin en discos y otros medios externos en unidades llamadas archivos. As, los procesos pueden leerlos y escribir archivos nuevos si es necesario. La informacin almacenada en archivos debe ser persistente, es decir, no ser afectada por la creacin y terminacin de procesos. Un archivo slo debe desaparecer cuando su propietario lo elimina explcitamente. Los archivos son administrados por el sistema operativo. La forma como se estructuran, nombran, acceden, usan, protegen e implementan son temas importantes

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 27

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

en el diseo de sistemas operativos. Globalmente, la parte del sistema operativo que se ocupa de los archivos se denomina sistema de archivos. Desde el punto de vista del usuario, el aspecto ms importante de un sistema de archivos es la cara que presenta ante l, es decir, qu constituye un archivo, cmo se nombran y protegen los archivos, qu operaciones pueden efectuarse con los archivos, etc. Los detalles de si se usan listas enlazadas o mapas de bits para mantenerse al tanto del espacio de almacenamiento disponible y de cuntos sectores hay en un bloque lgico tienen menos inters, aunque son de gran relevancia para los diseadores del sistema de archivos. Visto desde fuera, un sistema de archivos es una coleccin de archivos y directorios, junto con operaciones para manejarlos. Podemos leer y escribir archivos, crear y destruir directorios, y pasar archivos de un directorio a otro. La mayor parte de los sistemas de archivos modernos utiliza un sistema de directorios jerrquico en el que los directorios pueden tener subdirectorios ad infinitum. Visto desde el interior, un sistema de archivos tiene un aspecto muy distinto. Los diseadores de un sistema de archivos deben preocuparse por la forma de asignar almacenamiento, y del mecanismo para saber siempre qu bloque corresponde a cul archivo. Los diferentes sistemas tienen diferentes estructuras de directorio. La confiabilidad y el rendimiento del sistema de archivos tambin son cuestiones importantes. La seguridad y la proteccin son asuntos vitales tanto para los usuarios como para los diseadores de un sistema de archivos. Comentamos algunas fallas de seguridad en sistemas viejos y los problemas genricos que muchos sistemas padecen. Adems, estudiamos la verificacin de autenticidad, con y sin contraseas, listas de control de acceso y capacidades, as como un modelo de matriz para razonar acerca de la proteccin. SISTEMAS DE ENTRADA/SALIDA Una de las principales funciones de un sistema operativo es controlar todos los dispositivos de E/S (entrada/salida) de una computadora. El sistema operativo debe enviar comandos a los dispositivos, detectar interrupciones y manejar errores; tambin debe proveer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fcil de usar. Se debe tratar al mximo que la interfaz sea la misma para todos los dispositivos (independencia respecto al dispositivo). El cdigo de E/S representa una parte significativa del sistema operativo total. Primero se examinara brevemente algunos de los principios del hardware de E/S, y luego estudiaremos el software de E/S en general. El software de E/S puede estructurarse en capas, cada una de las cuales tiene una tarea bien definida que realizar. Analizar estas capas para ver qu hacen y cmo se relacionan entre s. A continuacin viene una seccin sobre los bloqueos mutuos. Definiremos stos de forma precisa, indicaremos sus causas, presentaremos dos md para analizarlos y estudiaremos algunos algoritmos para prevenir su incidencia. Examinaremos cuatro dispositivos de E/S con detalle: el disco en RAM, el disco duro, el reloj y la terminal. La entrada/salida es un tema importante que muchas veces se descuida. Una fraccin sustancia de todo sistema operativo se ocupa de E/S. Comenzamos por examinar el hardware de E/S y la relacin entre los dispositivos de E/S y los controladores en hardware de E/S, que son los que deben manejar el software. Los cuatro niveles de software de E/S: las rutinas de interrupcin, los controladores de dispositivos, el software de E/S independiente del dispositivo y las bibliotecas de E/S y los spoolers que se ejecutan en el espacio de usuario. Ocurre un bloqueo mutuo cuando se concede a cada uno de un grupo de procesos acceso exclusivo a ciertos recursos, y cada uno quiere adems otro recurso que pertenece a otro proceso del grupo. Todo ellos se bloquean y ninguno puede

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 28

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

ejecutarse jams. Se puede evitar el bloqueo mutuo estructurando el sistema de modo que nunca pueda ocurrir, por ejemplo, decretando que un proceso slo puede aduearse de un recurso a la vez. Tambin puede evitarse el bloqueo mutuo examinando todas las peticiones de recursos para determinar si dan pie a una situacin en la que es posible el bloqueo mutuo (un estado inseguro) y rechazar o diferir las peticiones que pudieran causar problemas. Los controladores de dispositivos tienen relaciones variables con el sistema de interrupciones. Los dispositivos que pueden completar su trabajo rpidamente, como el disco en RAM y la pantalla mapeados en la memoria, ni siquiera usan interrupciones. La tarea controladora del disco duro realiza la mayor parte de su trabajo en el cdigo de la tarea mismo, y los manejadores de interrupciones se limitan a devolver informacin de estado. El manejador de interrupciones del reloj realiza varias operaciones de contabilidad por s mismo y slo enva un mensaje a la tarea del reloj cuando hay trabajo del que el manejador no se puede ocupar. El manejador de interrupciones del teclado guarda en buffers las entradas y nunca enva mensajes a su tarea; ms bien, modifica una variable inspeccionada por el manejador de interrupciones del reloj, el cual enva posteriormente un mensaje a la tarea de la terminal. LOS SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS. Un sistema distribuido es un conjunto de computadoras independientes que se presenta a los usuarios como un sistema nico. En el sistema distribuido cualquier computadora puede tener acceso a el software o hardware y el centralizado solo se encuentra en una computadora a la cual se le pide en servicio. Ventajas y Desventajas de un sistema distribuido contra un sistema centralizado Distribuidos Ventajas Tiene procesadores mas poderosos y menos costosos Desarrollo de estaciones con mas capacidad Las estaciones satisfacen las necesidades de los usuarios Uso de nuevas interfaces

Desventajas Requerimientos de mayores controles de procesamiento Velocidad de programacin de informacin (muy lenta) Mayores controles de acceso Centralizado Ventajas Mayor aprovechamiento de recursos

Desventajas El software es mucho ms complejo Ventajas de los sistemas distribuidos sobre los centralizados Economa Velocidad global de la instalacin Solucin a problemas, pasan por el empleo de computadoras fsicamente distantes

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 29

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

La seguridad ante la falla de un CPU puede reorganizarse y seguir operando correctamente pero con menos precisin Un sistema distribuido permite la aportacin de nuevos recursos de computo a fin de elevar su potencial global y el crecimiento es muy util a las empresas y en computadora normal soporta continuamente un aumento de la carga de trabajo debido al crecimiento de la empresa y llegara el momento en que deber ser sustituida e invertir en una nueva computadora.

Modelo Cliente Servidor Arquitectura Cliente- Servidor.- Una arquitectura es un conjunto de reglas, definiciones, trminos y modelos. Que se emplea para producir la arquitectura clienteservidor agrupa conjuntos de elementos que efectan procesos distribuidos y computo operativo. Beneficios Mayor aprovechamiento de la potencia de computo Reduce el trfico en la red Opera bajo sistemas abiertos Permite el uso de interfaces graficas variadas

Cliente.- Conjunto de software y hardware que invoca los servicios de uno o varios servidores. Caractersticas Hardware Sistemas Distribuidos.- Debemos considerar las diversas formas en que es posible interconectar varias computadoras o bien varias CPUS. Flynn propuso cuatro diferentes categoras en que se podran clasificar lo sistemas hardware existen de acuerdo a dos parmetros nmero de flujo de instrucciones y nmeros de flujos de datos. SISD Un flujo de instruccin con flujo de datos SIMD Un flujo de instruccin varios flujos de datos MISD Varios flujos de instrucciones un flujo de datos (no se usa) MIMD Varios flujos de instrucciones y varios flujos de datos

Dentro de esta categora se pueden encontrar dos tipos distintos de la forma en que se pueden interconectar el hardware. Es as, como tenemos los siguientes grandes grupos MULTIPROCESADORES MULTICOMPUTADORES

Cada uno de estos tipos permite una interconexin de su componente tipo bus y tipo conmuta. Desde el punto de vista de las velocidades de comunicacin que pueden alcanzar estos dos grandes grupos se tienen dos conceptos asociados. Sistemas fuertemente acoplados Sistemas dbilmente acoplados SFA Tasa de transmisin alta, retraso de mensajes alto (mensajes cortos) SDA retraso de mensajes entre maquines grande y tasa de transmisin baja

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 30

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

MULTIPROCESADOR.- Los multiprocesadores corresponden a un conjunto de CPUS conectadas entre s que utilizan un espacio de direccionamiento virtual comn. MULTIPROCESADORES CON CONEXIN DE BUS.- En este caso los CPUS estn interconectados entre s, mediante un bus. Cada vez que una CPU quiere realizar un acceso de lectura o escritura debe acceder al bus. MULTIPROCESADORES CON CONEXIN CONMUTA.- En este caso la memoria se divide en diversos bancos y las CPUS se interconectan con ellas no mediante un canal tipo bus, si no de otra manera. MULTICOMPUTADORES.- Esto se refiere a sistemas de computa con memoria distribuida, en esta caso cada computadora pasee su propia memoria local. MULTICOMPUTADORES CON CONEXIN DE BUS.- Esta sistema es similar al caso de los multiprocesadores. Con conexin tipo bus, solo que no se requiere que el canal de comunicacin sea tan alto como en el caso de los multiprocesadores. Caractersticas Software Sistemas Distribuidos TRANSPARENCIA.- Se define como la ocultacin al usuario y al programador de aplicaciones de la superacin de los componentes de un sistema distribuido. TOLERANCIA A FALLOS.- Esto se basa en dos Curt iones complementaras entre si. Redundancia hardware y recuperacin del software. COMPARTICIN DE RECURSOS.- El trmino RECURSO es bastante abstracto pero es el que mejor caracteriza el abanico de entidades que pueden compartirse en un sistema distribuido. APERTURA (Openeness).- Un sistema puede ser abierto o cerrado con respecto a extensiones hardware o con respecto a las extensiones software. CONCURRENCIA.- Cuando existen varios procesos en una nica maquina decimos que se estn ejecutando. Direccionamiento Lgico Fsico Sistemas Distribuidos STUBS.- El stup se implementa en el cliente como una rutina de biblioteca ESPECIFICACIN DE INTERFAZ.- El servidor RPC puede ser considerado como un mdulo u objeto que implementa operaciones sobre datos ocultos y da a conocer estas operaciones a los clientes mediante lo que se denomina interface constituida por las declaraciones de los mtodos que soporta. El primer paso es definir la interfaz es decir el conjunto de los prototipos de los procedimientos de servicios mediante un lenguaje determinado de interfaz, un compilador especial toma como estrada el fichero escrito en el lenguaje de interfaz y como salida genera el cdigo objeto de los procedimientos que constituyen el stups del cliente, por una parte y el stup servidor por la otra, el programa cliente se enlaza con estos procedimientos objetos para generar el ejecutable, en cuanto al servidor los procedimientos de servicio escritos por el compilador se compilan previamente al lenguaje objeto y se enlazan con los procedimientos de stup en los que figura el procedimiento principal del servidor

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 31

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Concepto Caractersticas Sor Cada elemento de cmputo tiene su propia memoria y su propio sistema operativo. Control de recursos locales y remotos. Sistemas abiertos (facilidades de cambio y crecimiento). No existe una plataforma estndar (unix, NT, Intel etc). Medios de comunicacin (Redes, protocolos, dispositivos etc). Capacidad de procesamiento en paralelo. Dispersin y parcialidad.

Factores que han afectado el desarrollo del sistema distribuido Avances tecnolgicos Nuevos requerimientos Globalizacin Aspectos externos (culturales, polticos y econmicos) Integracin

Concepto Caractersticas del Sod Caractersticas El cliente pide servicios a un nodo denominado servidor Detecta e intersecta peticiones de otras aplicaciones y puede redireccionarlas Dedicado a la seccin de usuario El mtodo ms comn por el que se solicitan los servicios es atravs de RPC (llamadas a procedimientos remotos)

FUNCIONES COMUNES DEL CLIENTE Mantener y procesar todo el dialogo con el usuario Manejo de pantallas Mens e interpretacin de comandos Entrada de datos y validacin Procesamiento de ayuda Recuperacin de errores

RPC Funcionamiento Cliente: Proceso realiza llamada a funcin Llamada empaqueta ID de funcin y argumentos en mensaje y los enva a otro proceso Queda a la espera del resultado

Servidor: Recibe mensajes con id de funcin y argumentos Se invoca funcin en el servidor Resultado de la funcin se empaqueta en mensaje que se retransmite al cliente

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 32

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

COMUNICACIN EN LOS SISTEMAS OPERATIVOS DISTRIBUIDOS COMUNICACIN.- La comunicacin entre procesos en sistemas con un nico procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexin fsica entre las distintas memorias de los equipos, la comunicacin se realiza mediante la transferencia de mensajes. Comunicacin Cliente-Servidor Sockets.- Es un mecanismo de comunicacin, Permite a los sistemas cliente/servidor ser desarrollados Localmente en una sola mquina A travs de redes. Funciones tales como impresin, utileras de red, tales como rlogin y ftp, usualmente usan sockets para comunicarse. Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada. Un socket queda definido por una direccin IP, un protocolo y un nmero de puerto. Explicacin detallada Para que dos programas puedan comunicarse entre s es necesario que se cumplan ciertos requisitos: Que un programa sea capaz de localizar al otro. Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad. Para ello son necesarios los tres recursos que originan el concepto de socket: Un protocolo de comunicaciones, que permite el intercambio de octetos. Una direccin del Protocolo de Red (Direccin IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora. Un nmero de puerto, que identifica a un programa dentro de una computadora. Los sockets permiten implementar una arquitectura cliente-servidor. La comunicacin ha de ser iniciada por uno de los programas que se denomina programa cliente. El segundo programa espera a que otro inicie la comunicacin, por este motivo se denomina programa servidor. Un socket es un fichero existente en la mquina cliente y en la mquina servidora, que sirve en ltima instancia para que el programa servidor y el cliente lean y escriban la informacin. Esta informacin ser la transmitida por las diferentes capas de red. Comunicacin RPC.- Otro paso en el diseo de un sistema operativo distribuido plantea las llamadas a procedimientos remotos o RPCs. Los RPC amplan la llamada local a procedimientos, y los generalizan a una llamada a un procedimiento localizado en cualquier lugar de todo el sistema distribuido. En un sistema distribuido no se debera distinguir entre llamadas locales y RPCs, lo que favorece en gran medida la transparencia del sistema. Una de las dificultades ms evidentes a las que se enfrenta el RPC es el formato de los parmetros de los procedimientos. Un ejemplo es la posibilidad de que en un sistema distribuido formado por diferentes tipos de

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 33

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

ordenadores, un ordenador con formato little endian llamara a un procedimiento de otro ordenador con formato big endian, etc. Este problema se podra solucionar si tenemos en cuenta que ambos programas conocen el tipo de datos de los parmetros, o estableciendo un estndar en el formato de los parmetros, de forma que sea usado de forma nica. Por ltimo queda por solucionar la tolerancia a fallos. Una llamada a un procedimiento remoto puede fallar por motivos que antes no existan, como la prdida de mensajes o el fallo del cliente o del servidor durante la ejecucin del procedimiento. La limitacin del RPC ms clara en los sistemas distribuidos es que no permite enviar una solicitud y recibir respuesta de varias fuentes a la vez, sino que la comunicacin se realiza nicamente entre dos procesos. Por motivos de tolerancia a fallos, bloqueos, u otros, sera interesante poder tratar la comunicacin en grupo. Comunicacin en grupo.- La comunicacin en grupo tiene que permitir la definicin de grupos, as como caractersticas propias de los grupos, como la distincin entre grupos abiertos o que permiten el acceso y cerrados que lo limitan, o como la distincin del tipo de jerarqua dentro del grupo. Igualmente, los grupos han de tener operaciones relacionadas con su manejo, como la creacin o modificacin. Tolerancia a fallos.- Que el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor original. Adems, se ha de aplicar un algoritmo que nos permita mantener todas las copias actualizadas de forma consistente, o un mtodo alternativo que slo nos permita acceder al archivo actualizado, como invalidar el resto de copias cuando en cualquiera de ellas se vaya a realizar una operacin de escritura. El uso de memorias cache para agilizar el acceso a los archivos tambin es recomendable, pero este caso requiere analizar con especial atencin la consistencia del sistema. SINCRONIZACIN.- El modelo cliente-servidor basa la comunicacin en una simplificacin del modelo OSI. Las siete capas que proporciona producen un desaprovechamiento de la velocidad de transferencia de la red, con lo que slo se usarn tres capas: fsica (1), enlace de datos (2) y solicitud/respuesta (5). Las transferencias se basan en el protocolo solicitud/respuesta y se elimina la necesidad de conexin. Relojes fsicos.- El algoritmo de Lamport proporciona un orden de eventos sin ambigedades, pero: Los valores de tiempo asignados a los eventos no tienen por qu ser cercanos a los tiempos reales en los que ocurren. En ciertos sistemas (ej.: sistemas de tiempo real), es importante la hora real del reloj: Se precisan relojes fsicos externos (ms de uno). Se deben sincronizar: Con los relojes del mundo real. Entre s.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 34

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

La medicin del tiempo real con alta precisin no es sencilla. Desde antiguo el tiempo se ha medido astronmicamente. Se considera el da solar al intervalo entre dos trnsitos consecutivos del sol, donde el trnsito del sol es el evento en que el sol alcanza su punto aparentemente ms alto en el cielo. El segundo solar se define como 1 / 86.400 de un da solar. Como el perodo de rotacin de la tierra no es constante, se considera el segundo solar promedio de un gran nmero de das. Los fsicos definieron al segundo como el tiempo que tarda el tomo de cesio 133 para hacer 9.192.631.770 transiciones: Se tom este nmero para que el segundo atmico coincida con el segundo solar promedio de 1958. Relojes Lgicos.- Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Es un cronmetro consistente en un cristal de cuarzo de precisin sometido a una tensin elctrica que: Oscila con una frecuencia bien definida que depende de: La forma en que se corte el cristal. El tipo de cristal. La magnitud de la tensin. A cada cristal se le asocian dos registros: Registro contador. Registro mantenedor. Cada oscilacin del cristal decrementa en 1 al contador. Cuando el contador llega a 0: Se genera una interrupcin. El contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronmetro para que genere una interrupcin x veces por segundo. Cada interrupcin se denomina marca de reloj. Para una computadora y un reloj: No interesan pequeos desfasajes del reloj porque: Todos los procesos de la mquina usan el mismo reloj y tendrn consistencia interna. Importan los tiempos relativos. Para varias computadoras con sus respectivos relojes: Es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia. Habr una prdida de sincrona en los relojes (de software), es decir que tendrn valores distintos al ser ledos.

Uso de la sincronizacin

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 35

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

La Oficina Internacional de la Hora en Pars (BIH) recibe las indicaciones de cerca de 50 relojes atmicos en el mundo y calcula el tiempo atmico internacional (TAI). Como consecuencia de que el da solar promedio (DSP) es cada vez mayor, un da TAI es 3 mseg menor que un DSP: La BIH introduce segundos de salto para hacer las correcciones necesarias para que permanezcan en fase: El sistema de tiempo basado en los segundos TAI. El movimiento aparente del sol. Surge el tiempo coordenado universal (UTC). El Instituto Nacional del Tiempo Estndar (NIST) de EE. UU. y de otros pases: Operan estaciones de radio de onda corta o satlites de comunicaciones. Transmiten pulsos UTC con cierta regularidad establecida (cada segundo, cada 0,5 mseg, etc.). Se deben conocer con precisin la posicin relativa del emisor y del receptor: Se debe compensar el retraso de propagacin de la seal. Si la seal se recibe por mdem tambin se debe compensar por la ruta de la seal y la velocidad del mdem. Se dificulta la obtencin del tiempo con una precisin extremadamente alta. TOP 10 DE SISTEMAS OPERATIVOS
Chrome OS obtiene el puesto N 10 por su velocidad, simplicidad y tecnologa nos muestran lo que verdaderamente van a ser los SO, igual, para lo que est hecho es una verdad, todo lo podemos tener almacenado en la internet ya que es eso lo que est ocurriendo y para que desperdiciar dinero pagando en discos duros, si tan solo lo que necesitamos es una buena conexin a internet. Windows XP a pesar de que XP es tecnologa del principio de siglo, ha sido uno de los SO ms usados, incluso todava muchas personas lo usan, y las cualidades de que usa pocos recursos y permite hacer las mismas tareas que cualquier sistema operativo moderno lo convierten en un gran so y por eso ocupa el puesto N 9. Linux Mint ocupa el puesto N 8 de nuestra lista porque contiene un paquete de software que permiten al usuario promedio tener un uso ms fcil de este y lograr poder sacar el mayor provecho a nuestras maquinas. Debian ocupa el puesto N 7 de la lista porque ha sido un software que ha sido desarrollada por una gran comunidad de gente y se ha probado que tiene una muy excelente estabilidad y utilidad, adems que ha sido la base de ms de 125 distribuciones lo que han hecho un so muy aclamado por las personas. Windows Vista es un gran so aunque muchos no lo consideren ya que el error que cometi microsoft fue el de la compatibilidad y el rendimiento ya que para el ao en que salio windows vista eran muy caras las pc que tenan capacidad para correr bien el so as el hecho de que muchas persona hayan migrado a windows vista y vuelto a xp es porque sus pc no tenian la capacidad parar el uso de este so y por eso recibi tan malas crticas, por eso yo nombro aqu el windows vista service pack 1 ya que es un so muy estable (para maquinas que tienen el rendimiento requeridos) y su tecnologa y su

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 36

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

interfaz han ello que este so se muy fcil su uso y su compatibilidad y por windows vista sp1 llega al puesto N 6. Archlinux llega al puesto N 5 porque es un so de una ligera estructura base sin agregados innecesarios, modificaciones, o complicaciones, que permite a un usuario individual modelar el sistema de acuerdo a sus propias necesidades. OpenSUSE incluye todo aquello que ha hecho tan grande a SUSE durante aos, como su gestor de sistema YaST, desde el que controlar hardware, preferencias del sistema y qu programas queremos tener, y el instalador grfico YaST2, uno de los ms sencillos y automatizados. lo que lo ha convertido en el so N 4 de nuestra Lista. Ubuntu ocupa el puesto N 3 de nuestra lista porque es uno de los sos ms estables existentes y no solo eso sino su gestor de instalacin (synaptec) ha hecho que instalar un programa sea tan o incluso ms fcil que en windows, adems de ser un so muy rpido. Windows 7 se ha convertido en el so mas rpido, eficaz y estable de todos los windows, ya que con su interfaz Aero ha hecho que las tareas sean ms fciles de hacer y ms rpidas, Y no solo eso sino que tambin ha mejorado su inicio hacindole mas rpido logrando llegar al puesto N 2 de nuestra lista. Mac os X se ha convertido en el puesto N 1 de nuestra lista porque es el so ms estable, fcil de usar, y muy rpido todo esto gracias a la combinacin hardwaresoftware, y que para los que lo han usado en pc se han dado cuenta de que es un so muy intuitivo y con los mejores programas para uso diario.

INSTALACION Y ADMINISTRACION DE SISTEMAS OPERATIVOS LINUX Introduccin Paquete RPM sudo Paquete RPM openldap-clients Arranque y parada Usuarios y grupos Recursos del sistema (mulmatrices.c) Sistemas de ficheros Impresin Copias de seguridad NFS y NIS WINDOWS Administracin del Equipo W2003 Procesos, Servicios y Sucesos Configuracin del Active Directory Configuracin de cuentas de grupo, equipo y usuario. Directivas Administracin de discos

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 37

ESCUELA DE INGENIERIA DE SISTEMAS PROGRAMA DE EXPERIENCIA LABORAL

CURSO: SISTEMAS OPERATIVOS

Impresoras Copias de seguridad Para la instalacin de estos programas, emularemos mquinas virtuales segn sea el caso, para cargar los programas arriba descritos, para el mejor desenvolvimiento del alumno.

I N G

C I P

G U I O M A R

W I L D E R

V I L E L A

S A L A Z A R

Pgina 38

Вам также может понравиться