Apuntes sistemas01092008

361
Sistemas Informáticos Revisión 01-09-2008 D. F co Vicente Zamora García Profesor Técnico de Formación Profesional

Transcript of Apuntes sistemas01092008

Page 1: Apuntes sistemas01092008

Sistemas Informáticos

Revisión 01-09-2008

D. Fco Vicente Zamora García Profesor Técnico de Formación Profesional

Page 2: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.2

1 . I N T R O D U C C I Ó N . ¿Qué es la informática?. La necesidad de disponer de datos exactos y la rapidez en la que deben conseguirse estos datos ha evolucionado sensiblemente a medida que la cantidad de información disponible se ha incrementado notablemente. Así pues una definición de la Ciencia Informática puede ser:

"La ciencia que estudia el tratamiento automático de la información" Esta definición continúa "... utilizando para ello especialmente Ordenadores ...". Así pues el concepto de ordenador esta íntimamente ligado al de Informática. Esta es la definición que el Real Diccionario da del término Informática. Si bien no podemos hablar realmente de antecedentes históricos de la informática, si podemos hacerlo del ordenador. En el siglo XVII, Blaise Pascal, famoso filósofo y matemático, construyó una máquina capaz de sumar con el objetivo de ayudar a su padre en las sumas que debía realizar pues era representante de Hacienda. Su funcionamiento se basaba en ruedas dentadas que al realizar un giro completo provocaba el incremento en una unidad de la rueda adyacente.

Posteriormente, Leibniz perfeccionó esta máquina permitiendo multiplicaciones y divisiones (pues no son más que sucesivas sumas y divisiones). Sin embargo no podemos hablar todavía del concepto de ordenador hasta el siglo XIX, cuando Jacquar diseñó un telar gobernado por unas tarjetas (igual que las tricotosas, preguntar a las abuelas ...) que producían un dibujo realizado en la tela. Cambiando las tarjetas se obtenía otro dibujo distinto. Por fin Torres-Quevedo (1920) con "El ajedrecista" definió: "... que es posible construir un autómata cuyos actos dependan todos de ciertas circunstancias más o menos numerosas, obedeciendo a reglas que se pueden imponer arbitrariamente en el momento de la construcción. Evidentemente estas reglas deberán

Page 3: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.3

ser tales que basten para determinar en cualquier momento, sin incertidumbre alguna, la conducta del autómata." En este párrafo se incluyen un nuevo concepto, vital para la informática, las reglas. Sin temor a equivocarnos podemos decir que la regla de un ordenador serán los programas que dirigirán su comportamiento. Así pues un ordenador se constituye de una parte mecánica, que el progreso convirtió en electrónica y una parte lógica que son las reglas que gobiernan estas partes mecánicas. Simplificando, y llamando a cada cosa por su nombre actual tenemos: La parte física o HARDWARE y la parte lógica o SOFTWARE. Este concepto nos introduce de lleno en el concepto de ordenador.

Page 4: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.4

2 . E V O L U C I Ó N D E L O S O R D E N AD O R E S . Es común dividir la evolución de los ordenadores en generaciones, de las que actualmente podemos contar hasta cuatro, o cinco según algunos. Cada cambio de generación ha sido marcado por: Una mayor fiabilidad del ordenador (menores errores). Una reducción del tamaño de sus componentes. Mayor potencia de cálculo, en cuanto a velocidad de procesamiento y resolución de problemas más complejos. Cambios en los modos de explotación de los ordenadores. Cada cambio generacional en el concepto de ordenador también ha marcado un cambio en los lenguajes de programación. 1ª Generación. (1940-50) Los ordenadores estaban construidos a base de tubos de vacío. Las válvulas que tanto uso tuvieron en los televisores y radios de los años cincuenta. El consumo eléctrico de estos ordenadores era tremendo y su tamaño no era menos. Sólo se podían programar en un código directamente reconocible por la máquina. El modo de explotación era muy burdo. Se introducía un trabajo, se esperaba a su conclusión, así sucesivamente. Como puede suponerse entre los distintos trabajos el ordenador estaba parado. 2ª Generación. (1950-60) La aparición del transistor permitió reemplazar las válvulas. Lo que supuso: Disminución del tamaño del ordenador. Menor consumo de energía. Mayor fiabilidad. El modo de explotación del ordenador cambió considerablemente al introducir un elemento especializado en las entradas y salidas de los datos. Este elemento era un ordenador de menor potencia que permitía que el ordenador principal estuviera más tiempo realizando cálculos. Este modo de explotación se denomina trabajo por lotes. Se introduce la secuencia de trabajos y estos se ejecutan uno detrás de otro. Para distinguir un trabajo de otro, se ideó

Page 5: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.5

un lenguaje de control (precursor de los Sistemas Operativos.) que indicara al ordenador las acciones a realizar. En cuanto a los lenguajes de programación, sufre un espectacular avance gracias a la aparición del FORTRAN y COBOL. 3ª Generación. (1960-1980) Se hace posible juntar varios transistores en un único circuito, apareciendo así los circuitos integrados. Miniaturización de los componentes de un ordenador. Altas velocidades de cálculo. El aumento de la velocidad de cálculo permite compartir el ordenador con varios programas. El sistema operativo debe controlar la ejecución de los distintos programas al mismo tiempo. Se introduce el concepto de teleproceso. Aparecen los lenguajes de 3ª generación, que permiten la definición de estructuras de datos más complejas. Aparece el primer microprocesador en una única pastilla. 4ª Generación. (1980-199x) La integración de componentes es cada vez mayor. El abaratamiento de los componentes permite la introducción del ordenador en todos los campos. Surge el concepto de ordenador compatible. Se crean los sistemas de redes y distribuidos para permitir un aprovechamiento de los recursos actuales. Los lenguajes de 4ª generación se orientan a los diseños de bases de datos. Surgen los sistemas expertos, capaces realizar un aprendizaje.

Page 6: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.6

3 . AP L I C AC I O N E S D E L A I N F O R M Á T I C A.

3.1 APLICACIONES CIENTÍFICO / TÉCNICAS. El empleo de los ordenadores ha permitido obtener cálculos que sin su uso hubieran necesitado meses en realizarse. Los ordenadores son una ayuda indiscutible en todos los procesos científicos. Además los resultados que produce son muy exactos. Veamos alguno de los campos C/T en los que el ordenador ha influido en mayor medida: Ingeniería . Muchos de los cálculos que debe resolver un ingeniero se transforman en sistemas de ecuaciones. Dependiendo del volumen del cálculo pueden llegar a miles de ecuaciones con miles de incógnitas. Es prácticamente imposible pensar en resolver estos sin la ayuda del ordenador. Los resultados tan exactos que producen permiten evaluar el funcionamiento de distintos materiales o sistemas bajo condiciones extremas. Fabricación . El uso del ordenador permite realizar la simulación de una cadena de producción para analizar su rendimiento. Además los nuevos sistemas CAM han minimizado el tiempo necesario para la fabricación de nuevos productos. Medicina . El ordenador se ha vuelto imprescindible para analizar los comportamientos de las células, información contenida en el ADN, cromatografía, etc.

3.2 APLICACIONES DE GESTIÓN. Es donde el empleo del ordenador se hace más visible. Permiten realizar de forma automática todas las operaciones de archivo, recuperación, y calculo con la información. Las aplicaciones más informatizadas han sido: Contabilidad . Ya no el necesario el manguito. En cualquier momento se puede pedir un balance, pérdidas y ganancias, etc. Gestión comercial . Todo el trasiego de facturas, albaranes, cobros, pagos, gestión de clientes, etc., se realizan con el ordenador. Es posible así conocer el estado de la empresa al momento. Estadística . Al analizar una serie de eventos se pueden suponer la sucesión de éstos basándose en una gran cantidad de datos. Censo etc. y todas las aplicaciones que deban manejar gran cantidad de datos.

3.3 APLICACIONES DE OTRA ÍNDOLE. Debido al abaratamiento del ordenador, cada vez son más las ayudas que nos puede proporcionar: Educación . No se pretende sustituir al profesor, aunque algunos así lo quisieran... El ordenador en casa permite al alumno descubrir gráficamente muchos de los problemas que se presentan en el estudio habitual: Propiedades de los gases, física, etc.

Page 7: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.7

Las capacidades gráficas de los nuevos ordenadores unidas a la velocidad de proceso han creado un nuevo concepto: La animación por ordenador. Multimedia . La aparición de esta posibilidad permite tener al alcance de la mano (o de la pantalla del ordenador) todo el conocimiento acumulado por la humanidad durante siglos. Son famosos en este campo los diccionarios enciclopédicos, que permiten al buscar una reseña, por ejemplo un músico, escuchar fragmentos de su obra al mismo tiempo que visualizamos una foto de él o se nos muestra una película de su ciudad natal.

Page 8: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.8

4 . T I P O S D E O R D E N AD O R E S .

4.1 CLASIFICACIÓN DE LOS ORDENADORES. Dado el amplio espectro de los ordenadores es necesario establecer una división nos permita ver claramente la función de cada uno de ellos. Tradicionalmente se han diferenciado por su potencia, lo que hace que esta división este viva. Supercomputadores . Son ordenadores ultrarrápidos, permiten realizar miles de millones de operaciones por segundo. Son muy caros de realizar pues se componen de subordenadores funcionando al mismo tiempo. Normalmente se fabrican para resolver casos muy determinados, aunque una vez construidos se alquilan para amortizar el gasto. Un ejemplo lo tenemos en el CRAI I, II Mainframes . Se utilizan para controlar gran cantidad de información y permitir su acceso desde cualquier lugar. Un ejemplo lo tenemos en BERTA, el mainframe que utiliza la policía para la gestión de los DNI y el historial de cada ciudadano, o los ordenadores de hacienda para el control de los impuestos, declaraciones de renta, etc. Miniordenadores . Permiten la informatización de una pequeña y mediana empresa. Estaciones de trabajo . Son ordenadores especialmente diseñados para aplicaciones gráficas. Microordenadores . Se utilizan normalmente como ayudas a los sistemas grandes en la captura de datos, control de periféricos, etc. Su divulgación a permitido crear gran cantidad de programas para estos ordenadores. Su potencia, siempre creciendo, permiten que se utilicen en pequeñas empresas para su control. Actualmente los sistemas operativos permiten que trabajen en entornos multipuesto, multitarea. No se detallan los componentes, velocidades, etc., por estar cambiando constantemente.

4.2 CONCEPTO DE SISTEMA INFORMÁTICO. Se entiende con sistema informático, a la suma de todos los recursos necesarios para la automatización de un trabajo. Estos son: Ordenador. Sistema operativo. Dispositivos de E/S. Programas de aplicación. Elementos de comunicaciones etc. Que serán de mayor o menor cuantía en función del trabajo a resolver.

Page 9: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.9

5 . E L O R D E N AD O R

5.1 INTRODUCCIÓN AL FUNCIONAMIENTO DEL ORDENADOR. Antes de introducirnos en las unidades que gobiernan el ordenador, vamos a explicar brevemente el funcionamiento lógico del mismo. Los ordenadores actuales más difundidos, el ordenador personal, funcionan bajo la lógica digital, en contra de otros ordenadores de funcionamiento analógico. Así el ordenador digital, utilizada señales discretas, impulsos de corriente, que simplificaremos en dos tipos, aquella cuyo impulso representa el uno y la que representa el 0. El ordenador digital esta basado en el tratamiento de la información cuya representación será siempre binaria (0 y 1), pues es lo único que el ordenador realmente entiende. A la unidad mínima de información que el ordenador puede tratar se le denomina BIT, (binary digit), contracción de Digito Binario. De esta forma, toda la información que un ordenador debe tratar, será transformada en ceros y unos, mediante unos sistemas de conversión que se explican a continuación. Para la representación de valores numéricos, se convierte el número en base diez (la que habitualmente usamos) a base dos, realizando divisiones sucesivas del número y recorriendo el resultado de las divisiones en sentido inverso. Dado el número decimal 45 su representación interna será:

45 │2 └─── 1 22 │2 └─── 0 11 │2 └─── 1 5 │2 └─── 1 2 │2 └─── 0 1

Recorriendo los restos en sentido inverso...

6 5 4 3 2 1 ┌─┬─┬─┬─┬─┬─┐ │1│0│1│1│0│1│ └─┴─┴─┴─┴─┴─┘

En este caso, necesitamos 6 bits para representar el número 45.

Page 10: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.10

Internamente se agrupan los BIT de ocho en ocho, recibiendo cada grupo el nombre de byte u octeto . Para el caso anterior los bits que nos sobran se rellenan con ceros, quedando:

8 7 6 5 4 3 2 1 ┌─┬─┬─┬─┬─┬─┬─┬─┐ │0│0│1│0│1│1│0│1│ └─┴─┴─┴─┴─┴─┴─┴─┘ 1 byte

Los bits, en los orígenes de la informática, eran anillos de ferrita que al crear en ellos un campo magnético representaban un 1 o un 0 dependiendo de la orientación de este campo. Actualmente, se utiliza una nueva tecnología llamada de semiconductores. Para la representación de caracteres, puesto que el ordenador solo entiende de 0 y 1, se utiliza un método de traducción llamado código . Este método consiste en asignar a cada una de las combinaciones que podemos realizar con los 0 y 1 que componen un byte, la representación gráfica de un carácter. Así para los ocho bits que forman un byte podemos representar 256 combinaciones posibles 28 = 256 combinaciones desde la combinación todo ceros 0 0 0 0 0 0 0 0 hasta la combinación todo unos 1 1 1 1 1 1 1 1 Por ejemplo, el carácter A, se representa internamente con la combinación 65 en decimal

8 7 6 5 4 3 2 1 ┌─┬─┬─┬─┬─┬─┬─┬─┐ │0│1│0│0│0│0│0│1│ └─┴─┴─┴─┴─┴─┴─┴─┘

El carácter B se representa con 66 y así sucesivamente. Existen multitud de códigos, siendo el más utilizado el código ASCII (American Standar Code Interchage Information, o código americano standard para intercambio de información).

5.2 UNIDADES DE MEDIDA Se muestra en las siguientes líneas las unidades de medida (capacidad de almacenamiento) más utilizadas: 8 bits = 1 Byte 1024 Bytes = 210 Bytes = 1 Kbyte = 1 KB 1024 KiloBytes = 210 KiloBytes = 1 MegaByte = 1 MB

Page 11: Apuntes sistemas01092008

TTT EEE MMM AAA III ... LLL AAA CCC III EEE NNN CCC III AAA III NNN FFF OOO RRR MMM ÁÁÁ TTT III CCC AAA

La ciencia informática. I.11

1024 MegaBytes = 210 MegaBytes = 1 GigaByte = 1 GB 1024 GigaBytes = 210 GigaBytes = 1 TeraByte = 1 TB OJO AL DATO. En transmisión de datos se usan (de momento) velocidades en bits/seg. Una línea ADSL de 256 Kbs es de 256 Kilobits por segundo. Tener cuidado con la b, si es minúscula son bits, si es mayúscula son Bytes.

Page 12: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.1

1 . E S T AD O S D E L A I N F O R M AC I Ó N E N E L I N T E R I O R D E U N O R D E N AD O R .

1.1 INTRODUCCIÓN.

Como ya se vio en el tema anterior, la informática necesita de una herramienta vital, el ordenador. Este recibe información, la procesa y produce unos resultados, que también definiremos como información. El tema III explicará cuáles son los componentes vitales de un ordenador y en el tema IV los elementos que permiten la entrada y salida de la información. Así pues este tema sólo estudia como se encuentra la información en el interior del ordenador. El ordenador electrónico es una máquina capaz de procesar información, sin embargo no puede procesarla en el estado en que nosotros la conocemos: El ordenador "no sabe" que significa una "A" o el número "1234". Es necesario un proceso de traducción de la información para que sea manejable por la máquina.

1.2 ¿POR QUÉ EL USO DEL SISTEMA BINARIO?. El ordenador sólo es capaz de manejar información en los estados 0, y 1. ¿Por qué? Al ser un elemento que funciona con energía eléctrica, es muy fácil representar estos estados, por ejemplo: el valor 0 lo representamos con 0 voltios y el 1 +5 voltios. ¿Por qué sólo dos estados? Efectivamente, podríamos utilizar un sistema 0, 1 y 2. Donde el 0 fuera -5 voltios, el 1 cero voltios y el 2 +5 voltios. Es muy buena idea, pero en este caso nos encontramos que poder representar estos tres estados en mucho más caro que el caso anterior. Si además añadimos la existencia de una lógica matemática para el primer caso (Algebra del Boole) y la necesidad de lograr un estándar, hace que el primer sistema nos resulte más cómodo de manejar. Así pues, como sólo contamos con dos estados para representar cualquier información, se le denomina sistema binario. Toda la información que maneje internamente el ordenador será utilizando 0's y 1's.

1.3 CONCEPTO DE BIT Y BYTE. Se denomina bit a la cantidad mínima de información que podemos representar en el sistema binario. Esta será 0 o 1, que son los estados que puede tomar un dígito binario. De aquí viene su nombre BInari digiT. Evidentemente con sólo un bit no podemos hacer gran cosa. Sin embargo con conjuntos de bits la cosa cambia. Al conjunto de ocho bits se le denomina byte. Esta es normalmente la unidad base de medida de la capacidad de un ordenador. Cuantos más bytes tenga, más cantidad de información puede contener. Aunque el termino byte está muy reconocido, es habitual encontrarse con sinónimos de este. En castellano el usado es OCTETO.

Page 13: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.2

2 . H I S T O R I A D E L AS B AS E S D E N U M E R AC I Ó N . Estamos tan habituados a manejar la base de numeración 10, que no nos damos cuenta de que pueden existir otras bases. De hecho casi nos parece imposible que se pueda hacer de otra forma. Sin embargo para llegar hasta aquí han sido necesarios siglos. El sistema de representación en base diez, o decimal, fue introducido por los árabes, a cada dígito decimal se le denomina guarismo, desviación del JWARIZM, pueblo natal de un gran matemático árabe. Vamos a realizar un análisis sobre el sistema de numeración decimal, que es el que habitualmente usamos. Al escribir el número 752, estamos dando un valor relativo a cada uno de los dígitos 7, 5 y 2. En nuestro caso el 7 esta representando 700, el 5, 50 y el 2 representa el 2. Estamos ante un sistema posicional. Un sistema posicional es aquel en el cual el valor de cada dígito depende de la posición que ocupa. Está claro que en el número 79, el 7 representa 70 y no 700 como antes. En lo sucesivo nos resultara útil un análisis como el siguiente:

752: 700 = 7 * 100 = 7 * 10 2 50 = 5 * 10 = 5 * 10 1 2 = 2 * 1 = 2 * 10 0

Se observa que para obtener el valor de cada dígito hay que multiplicar por 10 elevado a un cierto número, es decir, hay que multiplicarlo por una potencia de 10. Por lo tanto este es un sistema relativo a una base. Un sistema relativo a una base es aquel en el cual el valor que representa cada dígito se obtiene multiplicando ese dígito por una potencia de la base antes mencionada. Al número por el que hay que multiplicar un dígito para obtener su valor se le llama peso . El sistema decimal es un sistema posicional de base 10. Los pesos de los dígitos en este sistema son 1, 10, 100, 1000, etc. Los dígitos que se utilizan son: ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) Todos los sistemas de numeración son posicionales, es decir, el mismo guarismo, tiene distinto significado según la posición que ocupe en un número. Lo ideal seria que el ordenador trabajara internamente en base diez. Como ya se ha visto es muy caro de realizar.

Page 14: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.3

2.1 PORQUE LA BASE 8, Y 16. El ordenador sólo entiende dos cosas: el 0 y el 1. El 0 normalmente representara un estado bajo de tensión (digamos 0 V.) y el 1 un estado alto (digamos 5 V.) Cualquier tensión intermedia la interpretara como alto o bajo según este más cerca de 0 o de 5 voltios. Es lógico pues, pensar en un sistema de representación de la información que utiliza solamente dos dígitos: ( 0, 1 ) Si queremos utilizar un sistema posicional y relativo a una base, lo mejor será escoger como base la base 2. Normalmente, si utilizáramos la base 5, escogeríamos 5 dígitos y así sucesivamente. Si en base 10 se utilizaran más de 10 dígitos o en base 5 más de 5 dígitos, el sistema sería redundante. Un sistema redundante es aquel en el cual un mismo número puede representarse de dos o más formas distintas. Conviene utilizar sistemas no redundantes. Según lo dicho anteriormente, resultara conveniente utilizar un sistema proporcional relativo a la base 2 con dígitos 0 y 1. Tal sistema es el sistema binario. A los dígitos 0 y 1 se les suele llamar dígitos binarios o BITS (BInari digiTS). Un bit es un 1 o un 0. Un número binario sólo contendrá 0's y 1's. Un número binario valido podría ser 10011 en base 2. Los pesos de los dígitos en el sistema binario son las sucesivas potencias de 2:

2 0 = 1 2 1 = 2 2 2 = 4 2 3 = 8 2 4 = 16 ...

Por fin decidimos un sistema de representación para el ordenador, el sistema binario. En este sistema, la representación de un número se hará en base 2. El uso de las bases 8 y 16, son porque permite representar un número con menor cantidad de dígitos, y a su vez, al ser potencias de 2 (23 = 8, 24 = 16) la conversión entre estas bases es directa.

Page 15: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.4

2.2 MÉTODOS PARA CONVERTIR NÚMEROS DE DISTINTAS BAS ES. A) BINARIO A DECIMAL . A continuación vamos a calcular el valor decimal que es representando el número binario 10011 en base 2. Para ello vamos a realizar un análisis:

10011: 1 * 2 4 = 1 * 16 = 16 0 * 2 3 = 0 * 8 = 0 0 * 2 2 = 0 * 4 = 0 1 * 2 1 = 1 * 2 = 2 1 * 2 0 = 1 * 1 = 1 ---------------------- 19 en base 10.

Para obtener el valor de cada dígito, lo ponemos en columna y lo multiplicamos por potencias de 2. Se suman los valores obtenidos y el resultado de la suma es el valor decimal del número binario de partida:

10011 en base 2 ---------> 19 en base 10

B) DECIMAL A BINARIO Esta conversión la trataremos con dos métodos. El primero se encuentra en la mayoría de los libros que tratan el tema y es totalmente sistemático. El segundo es más intuitivo y resultara útil para convertir a binario números pequeños rápidamente. 1º Método: Consiste en dividir el número decimal por dos sin sacar ninguna cifra fraccionaria. Se obtendrá un cociente y un resto. El resto podrá ser 0 o 1. A continuación se repite el proceso con el cociente obtenido de la división anterior. Se vuelve a repetir el proceso con el nuevo cociente y así sucesivamente. El método finaliza cuando el cociente obtenido sea 1. Este ultimo cociente y todos los restos constituyen la representación binaria del número decimal primitivo, pero en orden inverso a como fueron obtenidos.

Page 16: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.5

Ejemplo:

19 │2 └─── 1 9 │2 └─── 1 4 │2 └─── 0 2 │2 └─── 0 1 -----> 10011 en base 10.

2º Método: Este método consiste en ir viendo qué potencias de 2 se puede utilizar para representar un cierto número decimal. Diremos que una potencia de 2 se puede utilizar si su valor es menor o igual que lo que nos queda por representar de número decimal. Si es así, pondremos un 1 en el lugar correspondiente (lugar que tenga de peso aquella potencia de 2) y restaremos el valor de dicha potencia de a lo que nos quede por representar. Si una potencia no se puede utilizar, pondremos un 0 y no restamos nada. Ejemplo: Vamos a representar por este segundo método el 19 en base 10 en binario. Supongamos (aquí es donde interviene la intuición de la que se hablaba antes) que para ello vamos a necesitar 5 bits, que corresponderán a las potencias de 2 que van desde 20 hasta 24. 24 = 16 23 = 8 22 = 4 21 = 2 20 = 1 A continuación vamos a ir analizando cada una de estas potencias en orden decreciente para ver si se puede utilizar o no. 24 = 16; sí se puede utilizar, ya que 16 es menor que 19, que es lo que hay que representar. Por lo tanto pondremos un 1 en la representación binaria en el bit de peso 16 y restaremos este valor de 19.

Pesos: 16 8 4 2 1 19: 1 - - - - -16 ---------- 3

Page 17: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.6

Debemos representar 19 y con este 1 hemos representado 16 luego queda por representar 19 - 16 = 3. Siguiente potencia: 23 = 8: no se puede utilizar ya que 8 es mayor que 3, luego en lugar del peso 8 hay que poner un 0 y no restar nada.

Pesos: 16 8 4 2 1 19: 1 0 - - - -16 -------- 3

Siguiente potencia: 22 = 4: tampoco se puede utilizar ya que 4 es mayor que 3, luego en lugar del peso 4 habrá que colocar un 0 y no restar nada.

Pesos: 16 8 4 2 1 19: 1 0 0 - - -16 -------- 3

Siguiente potencia: 21 = 2: sí se puede utilizar al ser menor que 3. Se coloca un 1 en lugar del peso 2 y se resta.

Pesos: 16 8 4 2 1 19: 1 0 0 1 - -16 ------- 3 - 2 ------- 1 Queda 1 por representar.

Siguiente potencia: 20 = 1: sí se puede representar. Luego se colocara un 1 y se resta de lo que falta.

Pesos: 16 8 4 2 1 19: 1 0 0 1 1 -16 ------- 3 - 2 ------- 1 -1 ------- 0

Page 18: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.7

Este 0 obtenido después de la última resta indica que queda por representar 0, es decir nada. Pero hay que observar que si se hubiera obtenido antes de llegar a la potencia 20, habría que rellenar los espacios que faltaran de utilizar con ceros. A continuación se da una lista de todos los números que se pueden representar con 4 bits.

DECIMAL │ 8 4 2 1 ──────────┼────────────────────────────────── 0 │ 0 0 0 0 ──────────┼────────────────────────────────── 1 │ 0 0 0 1 ──────────┼────────────────────────────────── 2 │ 0 0 1 0 ──────────┼────────────────────────────────── 3 │ 0 0 1 1 ──────────┼────────────────────────────────── 4 │ 0 1 0 0 ──────────┼────────────────────────────────── 5 │ 0 1 0 1 ──────────┼────────────────────────────────── 6 │ 0 1 1 0 ──────────┼────────────────────────────────── 7 │ 0 1 1 1 ──────────┼────────────────────────────────── 8 │ 1 0 0 0 ──────────┼────────────────────────────────── 9 │ 1 0 0 1 ──────────┼────────────────────────────────── 10 │ 1 0 1 0 ──────────┼────────────────────────────────── 11 │ 1 0 1 1 ──────────┼────────────────────────────────── 12 │ 1 1 0 0 ──────────┼────────────────────────────────── 13 │ 1 1 0 1 ──────────┼────────────────────────────────── 14 │ 1 1 1 0 ──────────┼────────────────────────────────── 15 │ 1 1 1 1

En total, con 4 bits se pueden representar 16 números, del 0 al 15. Con 3 bit se pueden representar 8 números, del 0 al 7, con lo que tenemos que el número de números que se pueden representar son: 2n = posibilidades donde n es igual al número de bits usados. Esta fórmula responde a la fórmula matemática de variaciones con repetición de dos elementos (0 y 1) tomados de n en n bits. Ver los programas BINARIO, OCTAL Y HEXA adjuntos.

Page 19: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.8

2.3 FORMATOS DE REPRESENTACIÓN DE LOS NÚMEROS ENTER OS Y REALES. La representación interna de estos datos dependen del tipo de aritmética utilizada por el lenguaje de programación. Las más utilizadas son: - Binario puro . El número a representar se codifica por su representación binaria (pasando el número de base 10 a base 2). - B.C.D. Son la siglas de Binary Code Decimal. Los guarismos que forman el número en cuestión se codifican en binario uno por uno. Se entiende mejor en el siguiente ejemplo: BINARIO PURO: Dado el número decimal 45 su representación interna será:

45 │2 └─── 1 22 │2 └─── 0 11 │2 └─── 1 5 │2 └─── 1 2 │2 └─── 0 1

Recorriendo los restos en sentido inverso ...

8 7 6 5 4 3 2 1 ┌─┬─┬─┬─┬─┬─┬─┬─┐ │0│0│1│0│1│1│0│1│ └─┴─┴─┴─┴─┴─┴─┴─┘ byte

B.C.D.: Dado el mismo número decimal 45 su representación interna será: 4 en base 2 = 0100 5 en base 2 = 0101

8 7 6 5 │4 3 2 1 ┌─┬─┬─┬─┼─┬─┬─┬─┐ │0│1│0│0│0│1│0│1│ └─┴─┴─┴─┼─┴─┴─┴─┘ 4 │ 5

Se entiende de este ejemplo que necesitaremos ½ byte para representar cada guarismo que forme el número.

Page 20: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.9

No es objeto de este curso estudiar las bondades y defectos de cada una de ellas. Sin embargo, todos los ejemplos de representación interna que se expondrán a lo largo del curso serán siempre en notación binaria pura. 2.3.1 ENTERAS Se utilizan representar el conjunto de los números enteros (sin decimales) positivos y negativos. Formato de representación interna Habitualmente se utilizaran 2 (dos) bytes para representarlas en la memoria del ordenador.

8 7 6 5 4 3 2 1 │8 7 6 5 4 3 2 1 ┌─┬─┬─┬─┬─┬─┬─┬─┼─┬─┬─┬─┬─┬─┬─┬─┐ │0│0│1│0│1│1│0│1│0│0│1│0│1│1│0│1│ └─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─┴─┴─┴─┴─┘ Bytes Alto │ Byte Bajo

Así el número total de bits de que disponemos es de 16. Como ya es conocido, las combinaciones posibles que se pueden representar con n bits es:

2n luego para 2 bytes será:

216 = 65536 combinaciones posibles.

De esta forma el número máximo en decimal que podemos representar es

6 5 5 3 5

¡¡¡ sesenta y cinco mil quinientos treinta y cinco !!!

Rango de las variables enteras Si el propósito fuera sólo representar valores positivos, el rango sería 0..65535. Pero si queremos representar valores positivos y negativos la cosa cambia ... Para empezar debemos definir algún criterio para distinguir los números positivos de los negativos. a) Complemento a uno. La representación interna de un número negativo será cambiando los ceros por unos en la representación de ese mismo número en valor positivo.

Page 21: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.10

Ejemplo: Siendo la representación interna del valor decimal 127

│ ┌─┬─┬─┬─┬─┬─┬─┬─┼─┬─┬─┬─┬─┬─┬─┬─┐ │0│0│0│0│0│0│0│0│0│1│1│1│1│1│1│1│ └─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─┴─┴─┴─┴─┘ │

La representación del valor decimal -127 será

│ ┌─┬─┬─┬─┬─┬─┬─┬─┼─┬─┬─┬─┬─┬─┬─┬─┐ │1│1│1│1│1│1│1│1│1│0│0│0│0│0│0│0│ └─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─┴─┴─┴─┴─┘ │

b) Complemento a dos El sistema anterior tiene el inconveniente de que existen dos representaciones posibles para el valor 0 (todo a 0 y su complemento a uno, todo a 1). Para solucionar este inconveniente se utiliza el complemento a dos, que consiste en hacer el complemento a uno para representar el valor negativo y sumar 1 al bit menos significativo (el del extremo derecho). Así para el número -127, representado en el ejemplo anterior se le suma 1 quedando internamente de la siguiente forma:

│ ┌─┬─┬─┬─┬─┬─┬─┬─┼─┬─┬─┬─┬─┬─┬─┬─┐ │1│1│1│1│1│1│1│1│1│0│0│0│0│0│0│1│ └─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─┴─┴─┴─┴─┘ │

Así el rango de los números enteros para la representación interna con 2 bytes es

┌───────────────┐ │ -32768..32767 │ └───────────────┘

Ejemplo:

Page 22: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.11

Valor Byte 2 Byte 1 -------- -------- -------- -5 11111111 11111011 -4 11111111 11111100 -3 11111111 11111101 -2 11111111 11111110 -1 11111111 11111111 0 00000000 00000000 1 00000000 00000001 2 00000000 00000010 3 00000000 00000011 4 00000000 00000100 5 00000000 00000101

2.3.2 VARIABLES NUMÉRICAS REALES Utilizaremos este tipo de variables para representar el conjunto de los números reales (los que tienen decimales) positivos y negativos. Formato de representación interna Existen varios formatos de representación interna que dependen de la arquitectura del ordenador, lenguaje de programación utilizado, etc. Estudiaremos el formato utilizado en TURBO PASCAL v.3.0 para ordenadores compatibles que necesita de 6 bytes para representar un número real. Esta representación es de tipo exponencial: 2131,5 = 2,1315 * 10 3 = m * b e

Donde m = mantisa b = base e = exponente

┌────────┬────────┬────────┬────────┬────────┬────────┐ │ byte 1 │ byte 2 │ byte 3 │ byte 4 │ byte 5 │ byte 6 │ └────────┴────────┴────────┴────────┴────────┴────────┘

El primer byte se utilizara para representar el exponente en formato binario con un desplazamiento de $80 (hexadecimal 80 = 128 decimal), es decir, un exponente de $84 indica que el valor de la mantisa debe ser multiplicado por 2^($84-$80) = 2^4 = 16. El resto de los bytes se utiliza para representar la mantisa. Con 40 bits, dándonos 11 cifras significativas.

240 = 1.099.511.627.776 combinaciones

Page 23: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.12

Salen 13 cifras. De nuevo nos encontramos con la representación del signo, es decir, la mitad de combinaciones para positivos y la otra mitad para negativos. Perdemos un bit para el signo. Ahora nos aproximamos a las 11 cifras. Rango de las variables reales De los anteriormente expuesto se deduce que el rango de la variables reales para el formato anterior será: 2,910??????? * 10-38 .. 1,710??????? * 10+38 (esto no hay que aprendérselo de memoria, pues varía de unos lenguajes a otros). El rango del exponente, sale de 2 ±128 = 10 ±38 Es importante señalar los errores de precisión que se comenten al manejar variables reales.

Page 24: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.13

ATENCION: ESTA NORMA ESTA ANTICUADA. AHORA SE USA LA IEEE 754. Con 4 u 8 bytes. La representación interna es la siguiente de dcha a izda en el caso de 8 octetos: Bit 63 = signo de la mantisa. 0 positivo 1 negativo Bits 62 a 52 = exponente con desplazamiento de 1023 Bits 51 – 0 = Mantisa La representación interna es la siguiente de dcha a izda en el caso de 4 octetos: Bit 31 = signo de la mantisa. 0 positivo 1 negativo Bits 23 - 30 = exponente con desplazamiento de 1023 Bits 22 - 0 = Mantisa La base 2 está implícita, por lo que no necesita ser almacenada. La mantisa está normalizada de forma que siempre tenga la forma 1,xxxxxxx (binario). Solo se almacena xxxxx de la mantisa. El 1, no es necesario almacenarlo, también esta implícito

De decimal real a IEEE 754

Page 25: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.14

Ejemplo para pasar de un numero decimal real a norma IEEE 754: Elegimos un número al azar, en este caso el azar dice que el 0,009765625 (por que es potencia de dos y entonces nos sale una mantisa manejable). Bien lo primero es nomalizar en número en notación decimal:

0,009765625 = 0,9765625 * 10 -2 Representemos ahora el exponente en base 2: 10 -2 = 2 x donde -2 * lg(10) = x * lg(2) despejamos la x obteniendo que: x = -2*lg(10)/lg(2); x = -2/lg(2) = -2/0,30102999 = -6,64385618 tenemos que 0,9765625 * 2 –6,64385618 = 0,9765625 * 2 –0,64385618 * 2 –6

0,9765625 * 0,64 * 2 -6 = 0,625 * 2 -6 Ahora pasamos la mantisa a base 2 (mutiplicamos por 2 y nos quedamos la parte entera, la fracionaria la volvemos a multiplicar por 2 y así sucesivamente) 0,625 * 2 = 1,250 (me quedo el1) 0,1 0,250 * 2 = 0,500 (me quedo el 0) 0,10 0,500 * 2 = 1,000 (me quedo el 1) 0,101 0,000 * 2 = 0,000 (he terminado) 0,101 * 2 -6 nomalizamos la mantisa a IEEE 754, que dice que debemos mover los digitos hasta que quede un 1 a la izquierda de la coma. 1,01 * 2 -7 yasta. Bit de signo 0 Exponente -7 como desplazo 127 (le sumo 127 ) me da 120 en binario 01111000 Mantisa 010........0 hasta completar los 23 bits S exponente mantisa 0 01111000 01000000000000000000000 a la inversa signo 0 es positivo exponente 01111000 = 120 . le resto 127 y me da -7 de exponente mantisa 010..0 se convierte en 1,010..0 al estar implicito el 1. (la parte entera de la mantisa) 1,010000000000000000000 * 2 -7 = 0,009765625 (uf!)

Page 26: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.15

3 . C Ó D I G O S D E R E P R E S E N T AC I Ó N D E L A I N F O R M AC I Ó N . Hasta ahora se ha visto como se representan los números internamente dentro del ordenador. Pero, ¿y los demás símbolos?. Para poderlos representar es necesario definir un código, que permita representar los símbolos más utilizados.

3.1 ESTRUCTURA DE UN CÓDIGO. Un código debe permitir representar información como estamos acostumbrados a verla, pero además debe incluir representaciones especiales que realicen funciones fuera del ámbito propio de la información. Por ejemplo, como conseguiremos que una impresora avance una línea, o una página entera, etc. Así un código se compone de caracteres de control y símbolos.

3.2 CÓDIGO BAUDOT Baudot fue un gran inventor francés del siglo pasado. Su principal objetivo era conseguir transmitir varios telegramas, utilizando un único hilo. Diseñó un código que recibe su nombre, y que se utilizó para las transmisiones telegráficas. Este código, a diferencia del morse, permitía que el telegrama se imprimiera en una cinta a base de realizar agujeros en ella.

1 2 3 A 4 5 │ O O . O │ │ O O . O │ │ O O . O O │ │ O O . O │ │ O O . │ │ O O O . O O │

Era como se puede ver en el gráfico un código de 5 bits. Que permitía representar 32 combinaciones posibles de perforación o no perforación. Con estas 32 combinaciones se realizaba la conversión a las letras A..Z, 0..9 y algunos caracteres de control, como timbre, corte de cinta, etc. binary hex LTRS FIGS -------------------------- 00011 03 A - 11001 19 B ? 01110 0E C : 01001 09 D $ 00001 01 E 3 01101 0D F ! 11010 1A G & 10100 14 H # 00110 06 I 8 01011 0B J BELL 01111 0F K ( 10010 12 L ) 11100 1C M . 01100 0C N , 11000 18 O 9 10110 16 P 0

Page 27: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.16

10111 17 Q 1 01010 0A R 4 00101 05 S ' 10000 10 T 5 00111 07 U 7 11110 1E V ; 10011 13 W 2 11101 1D X / 10101 15 Y 6 10001 11 Z " 01000 08 CR CR 00010 02 LF LF 00100 04 SP SP 11111 1F LTRS LTRS Paso a LTRS 11011 1B FIGS FIGS Paso a FIGS 00000 00 [..unused..]

LAS MÁQUINAS DE Baudot teclado y Receptor

Este código, nos introduce en las posibilidades de representación de los códigos según el número de bits que lo formen. Así las posibles combinaciones que se pueden realizar son 2**n, donde n es el número de bits. En este caso se podían realizar

Page 28: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.17

25 ═ 32 combinaciones posibles. Puede deducir el alumno que no son suficientes para las mayúsculas, minúsculas, números y signos de puntuación. En informática, como es lógico al ser la unidad de medida el byte, se utilizan habitualmente códigos de 8 bits (o 7 como se verá).

3.3 CÓDIGO BCDIC

Binary Code Decimal Interchange Code. Junto con el ASCII son los más utilizados. En un principio fue un código de 7 bits, que al quedarse pequeño para la cantidad de símbolos que se necesitan representar, se le añadió un bit más dando lugar al EBCDIC que es lo mismo pero con Extended. Ver la tabla de este código.

TABLS IBM CODING SYSTEM EBCDIC (according to IBM GX20-1850)

0. 1. 2. 3. 4. 5. 6. 7. 8. 9. A. B. C. D. E. F.

.0 NUL DLE SP & - { } \ 0

.1 SOH DC1 / a j ~ A J 1

.2 STX DC2 SYN b k s B K S 2

.3 ETX DC3 c l t C L T 3

.4 d m u D M U 4

.5 HT LF e n v E N V 5

.6 BS ETB f o w F O W 6

.7 DEL ESC EOT g p x G P X 7

.8 CAN h q y H Q Y 8

.9 EM ` i r z I R Z 9

.A ¢ ! ¦ :

.B VT . $ , #

Page 29: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.18

.C FF FS DC4 < * % @

.D CR GS ENQ NAK ( ) _ '

.E SO RS ACK + ; > =

.F SI US BEL SUB ^ ? "

3.4 CÓDIGO ASCII American Standar Code Interchange Information. Es en síntesis muy similar al EBCDIC pero la codificación es distinta. Es decir los símbolos no tienen la misma posición dentro del código. Actualmente es el más empleado pues es el utilizado con más frecuencia en ordenadores compatibles y es el más soportado por periféricos (como puede ser una impresora). ASCII ESTÁNDAR: De cuando eran 7 bits (a ver si encontrais la Ñ)

ASCII EXTENDIDO: Añadimos un bit más. Ya tenemos la Ñ

Page 30: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.19

3.5 CÓDIGO UNICODE (Sacado de WWW.UNICODE.ORG) ¿Qué es Unicode?

Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa,

sin importar el idioma. Básicamente, las computadoras sólo trabajan con números. Almacenan letras y otros caracteres mediante la asignación de un número a cada uno. Antes de que se inventara Unicode, existían cientos de sistemas de codificación distintos para asignar estos números. Ninguna codificación específica podía contener caracteres suficientes: por ejemplo, la Unión Europea, por sí sola, necesita varios sistemas de codificación distintos para cubrir todos sus idiomas. Incluso para un solo idioma como el inglés, no había un único sistema de codificación que se adecuara a todas las letras, signos de puntuación y símbolos técnicos de uso común. Además, estos sistemas de codificación presentan problemas entre ellos. Es decir, dos sistemas de codificación pueden utilizar el mismo número para dos caracteres distintos o bien utilizar números distintos para el mismo carácter. Toda computadora (especialmente los servidores) necesita ser compatible con muchos sistemas de codificación distintos; sin embargo, cada vez que los datos se traspasan entre distintos sistemas de codificación o plataformas, dichos datos siempre corren el riesgo de sufrir daños. ¡Unicode está cambiando todo eso! Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa, sin importar el idioma. Líderes de la industria tales como Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys y muchos otros han adoptado la norma Unicode. Unicode es un requisito para los estándares modernos tales como XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., y es la manera oficial de aplicar la norma ISO/IEC 10646. Es compatible con muchos sistemas operativos, con todos los exploradores

Page 31: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.20

actuales y con muchos otros productos. La aparición de la norma Unicode y la disponibilidad de herramientas que la respaldan, se encuentran entre las más recientes e importantes tendencias en tecnología de software. La incorporación de Unicode en sitios Web y en aplicaciones de cliente-servidor o de múltiples niveles permite disminuir ostensiblemente los costos del uso de juegos de caracteres heredados. Unicode permite que un producto de software o sitio Web específico se oriente a múltiples plataformas, idiomas y países sin necesidad de rediseñarlo. Además permite que los datos se trasladen a través de muchos sistemas distintos sin sufrir daños. Acerca del consorcio Unicode El consorcio Unicode es una organización sin fines de lucro creada para desarrollar, difundir y promover el uso de la norma Unicode, que especifica la representación del texto en productos y estándares de software modernos. El consorcio está integrado por una amplia gama de corporaciones y organizaciones de la industria de la computación y del procesamiento de la información. El consorcio se financia únicamente a través de las cuotas de sus socios. La afiliación al consorcio Unicode está abierta a organizaciones e individuos de cualquier parte del mundo que apoyen la norma Unicode y que deseen colaborar en su difusión y aplicación.Para obtener mayor información, consulte Glosario, Muestra de productos compatibles con Unicode, Introducción técnica y Recursos útiles. Se muestran en los gráficos siguientes parte del UNICODE. El LATIN (desde 0000 a 007F) es decir dos octetos para carácter. El KATAKANA (a ke mola) que empieza en el 30A0

Page 32: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.21

Como resumen, debemos señalar que existen infinitud de códigos, Katakana Math Iso etc Como ejemplo ver el programa CODIGO que muestra un ejemplo de codificación en ASCII. BIBLIOGRAFÍA. LIPSCHUTZ. Matemática para computación (Schaum): 840 problemas resueltos. HTTP://WWW.ETSIMO.UNIOVI.ES/~ANTONIO/UNED/IEEE754/IEEE-754HEX64.HTML WWW.UNICODE.ORG

Page 33: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.22

PROGRAMAS DE APOYO Se muestran resueltos los programas que deben realizar los alumnos en las actividades.

1ª ACTIVIDAD. Conseguir mecanizar el proceso de conversión de una base a otra distinta. Se divide en tres programas: a) Convertidor de decimal a binario.

PROGRAM binario; const bina: array[0..1] of char = ('0','1'); type strg8 = string[8]; var i: integer; FUNCTION binario(dato: byte): strg8; var cociente, resto: integer; a_: strg8; begin a_:=''; repeat cociente:=dato div 2; resto:=dato mod 2; a_:=bina[resto]+a_; dato:=cociente; until dato=0; while length(a_)<8 do a_:='0'+a_; binario:=a_; end; (*** principal ***) begin clrscr; writeln(' ┌──────────────────────────────────┐'); writeln(' │ CONVERTIDOR DE DECIMAL A BINARIO │'); writeln(' │ solo positivos y menores de 256 │'); writeln(' └──────────────────────────────────┘'); writeln; write('Valor en decimal: '); readln(i); writeln; writeln('decimal binario'); writeln('------- --------'); writeln(i:7,' ',binario(i)); end.

Page 34: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.23

b) Convertidor de decimal a octal.

PROGRAM octal; const octa: array[0..7] of char = ('0','1','2','3 ','4','5','6','7'); type strg8 = string[8]; var numero: integer; FUNCTION octal(dato: integer): strg8; var cociente, resto: integer; a_: strg8; begin a_:=''; repeat cociente:=dato div 8; resto:=dato mod 8; a_:=octa[resto]+a_; dato:=cociente; until dato=0; octal:=a_; end; (*** principal ***) begin clrscr; writeln(' ┌──────────────────────────────────┐'); writeln(' │ CONVERTIDOR DE DECIMAL A OCTAL │'); writeln(' └──────────────────────────────────┘'); writeln; write('Qué número: '); readln(numero); writeln('En Octal: ',octal(numero)); end.

Page 35: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.24

c) Convertidor de decimal a hexadecimal.

PROGRAM hexadecimal; const hexa: array[0..15] of char = ('0','1','2','3','4','5','6','7','8','9 ','A','B','C','D','E','F'); type strg8 = string[8]; var numero: real; FUNCTION hexadecimal(x: real): strg8; var a_: strg8; resto: integer; cociente: real; begin a_:=''; repeat cociente:=int(x/16); resto:=round(x-cociente*16); a_:=hexa[resto]+a_; x:=cociente; until x=0; hexadecimal:=a_; end; begin clrscr; writeln(' ┌──────────────────────────────────────┐'); writeln(' │ CONVERTIDOR DE DECIMAL A HEXADECIMAL │'); writeln(' └──────────────────────────────────────┘'); writeln; write('Numero en decimal: '); readln(numero); writeln('En hexadecimal es : '+hexadecimal(numero )); end.

Page 36: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.25

2ª ACTIVIDAD. El objeto de este programa es mostrar al alumno la codificacion interna de los números enteros, positivos y negativos. Para ello se piden dos valores y el programa muestra su codificacion en formato binario.

PROGRAM enteros; const bina: array[0..1] of char = ('0','1'); type strg8 = string[8]; var i,inicio,final: integer; b: array[1..2] of byte absolute i; FUNCTION binario(dato: byte): strg8; var cociente, resto: integer; a_: strg8; begin a_:=''; repeat cociente:=dato div 2; resto:=dato mod 2; a_:=bina[resto]+a_; dato:=cociente; until dato=0; while length(a_)<8 do a_:='0'+a_; binario:=a_; end; (*** principal ***) begin clrscr; writeln(' ┌────────────────────────────────────────────────────┐'); writeln(' │ EJEMPLO DE CODIFICACION INTERNA DE NUMEROS ENTEROS │'); writeln(' │ como cambia el valor binario en función de dato │'); writeln(' └────────────────────────────────────────────────────┘'); writeln; write('Inicio: '); readln(inicio); write('Final : '); readln(final); writeln; writeln(' Dato Byte 2 Byte 1'); writeln('-------- -------- --------'); writeln; for i:=inicio to final do writeln(i:8,' ',binario(b[2]),' ',binar io(b[1])); end.

Page 37: Apuntes sistemas01092008

TTT EEE MMM AAA III III ... LLL AAA III NNN FFF OOO RRR MMM AAA CCC III ÓÓÓ NNN

La Información. II.26

3ª ACTIVIDAD. El proposito de este programa es mostrar a los alumnos el valor de los 6 bytes que componen un número en coma flotante, de nuevo se utiliza la rutina codificada en el programa BINARIO

PROGRAM reales; const bina: array[0..1] of char = ('0','1'); type strg8 = string[8]; var i: integer; r: real; b: array[1..6] of byte absolute r; FUNCTION binario(dato: byte): strg8; var cociente, resto: integer; a_: strg8; begin a_:=''; repeat cociente:=dato div 2; resto:=dato mod 2; a_:=bina[resto]+a_; dato:=cociente; until dato=0; while length(a_)<8 do a_:='0'+a_; binario:=a_; end; (*** principal ***) begin clrscr; writeln(' ┌───────────────────────────────┐'); writeln(' │ CONVERTIDOR DE REAL A BINARIO │'); writeln(' │ 6 bytes para un numero real │'); writeln(' └───────────────────────────────┘'); writeln; write('Numero real: '); readln(r); writeln; writeln(' dato byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 '); writeln('----------------- -------- -------- - ------- -------- -------- --------'); write(r:17:11,' '); for i:=1 to 6 do write(binario(b[i]),' '); write ln; end.

Page 38: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.1

1 . I N T R O D U C C I Ó N Brevemente analizaremos los componentes básicos de un ordenador. Para ello recuperamos el concepto de C.P.U. y cada una de sus partes. Suponemos que el alumno domina las conversiones entre las distintas bases utilizadas en informática (2, 8, 16). La C.P.U. se compone de Unidad de control, Unidad aritmético lógica y memoria principal. Esta división, que en el pasado era evidente (se podía ver en distintos armarios) no lo es en la actualidad al estar la U.C. y la U.A.L. en el mismo chip y la memoria en zócalos separados. Por ello utilizaremos una unidad mayor compuesta por los siguientes elementos: BUS DEL SISTEMA MEMORIA C.P.U. UNIDAD DE ENTRADA/SALIDA

modem

disco

pantallateclado

E/SC.P.U.memoria

bus de control

bus de datos

bus de direciones

romram

Bus del sistema La figura muestra el "bus del sistema", que entenderemos como un conjunto de cables por donde "viajará" la información necesaria y alrededor del cual se disponen los componentes principales. La memoria La caja denominada memoria, subdividida en R.A.M. y R.O.M., representa el medio principal de almacenamiento inmediato de datos y programas. Cada "pieza" de la memoria posee una única dirección propia que permite una acceso rápido y directo desde la C.P.U.

Page 39: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.2

E/S (entrada/salida) Comprende una multitud de dispositivos cada uno con su propio circuito de adaptación (interfaz) soportado por programas especialmente diseñados para ellos (driver). El bus del sistema Lleva tres tipos de señales: datos, direcciones y control . Pueden contar cada uno con su propio grupo de cables (sistemas multibús) o compartir todos un único grupo de cable (bus compartido) utilizando normalmente algún tipo de multiplexación1.

2 . E L C I C L O D E L E C T U R A

C.P.U.memoria

bus de control

bus de datos

bus de direciones

romram

1

2

Paso 1: Peticion de lecturaPaso 2: Envio de direccion

C.P.U.memoria

bus de control

bus de datos

bus de direciones

romram

Paso 3: Recepcion del datoPaso 4: Reconocimiento

4

3

Cuando la C.P.U. desea "buscar" un dato o instrucción en la memoria, envía por el bus de control una señal (1). Si el bus esta ocupado, la C.P.U. deberá esperar durante un determinado número de ciclos de reloj (estado de espera = wait state). Cuando el bus esta libre, la C.P.U. coloca la dirección del dato que quiere en el bus de direcciones (2). Esta dirección la recibe la memoria y, si es correcta, la memoria "deposita" el dato en el bus de datos (3).

1 La Multiplexación consiste en la posibilidad de mandar más de un bit por un único hilo al mismo tiempo.

Page 40: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.3

En este momento el bus de control indica a la C.P.U. que el dato esta disponible en el bus de datos, leyendo la C.P.U. la información en él contenida. Inmediatamente, la C.P.U. informa al bus de control que ya tiene el dato, quedando éste disponible para recibir más "ordenes" de la C.P.U. Si esto se entiende ya sabemos en 50% de lo imprescindible para avanzar en el mundo de los procesadores. Ahora analicemos más profundamente los puntos anteriores.

3 . C I C L O D E E S C R I T U R A

C.P.U.memoria

bus de control

bus de datos

bus de direciones

ram

1Paso 1: Peticion de escritura

Paso 2: Envio de direccion

C.P.U.memoria

bus de control

bus de datos

bus de direciones

ram

Paso 3: Envio del dato

Paso 4: Reconocimiento

4

3

2

La anchura del bus de datos (medida en bits) indica el número de bits que se pueden recuperar de la memoria en cada ciclo de lectura. Evidentemente, cuanto más ancho, mejor. Este aspecto es vital en el rendimiento del procesador (y también en su coste) pues normalmente cada cable del bus de datos necesita de su pin en el procesador y de su pista en el interior. Así, cuando oigamos de ordenadores de x bits, entenderemos que se refiere al bus de datos de la C.P.U.

Page 41: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.4

En la realidad, es bastante más complejo, pues realmente se necesitaría conocer el an-cho del bus de datos, el de la A.L.U, el de los registros y el de direcciones. El ancho del bus de direcciones en muy importante para no necesitar de operaciones extrañas. Ejemplo: Si disponemos de un bus de direcciones de 16 bits, el valor mayor que podemos formar es

216 = 65.536 = 64 Kbytes Este valor es vital en la familia de procesadores Intel con sistemas operativos MS-DOS ahora están más de moda los 32 e incluso los 64 bits (algunas tarjetas video manejan 128 bits). Evidentemente, con 64 Kbytes no podemos hacer gran cosa. Ya veremos como se solucionó esto. Sin embargo, en los procesadores Motorola, tuvieron más cuidado en el diseño del procesador, implementando buses de direcciones de 20 y 32 bits capaces de direccionar sin chapuzas 1Mbyte y 4 Gigabytes respectivamente.

1

32 33

64D4D3D2D1D0AS

UDSLDSR/W

DTACKBG

BGACKBR

VCCCLKGND

HALTRESET

VMAE

VPABERR

IPL2IPL1IPL0FC2FC1FC0

A1A2A3A4

TERMINALES DEL MC68000

D5D6D7D8D9D10D11D12D13D14D15GNDA23A22A21VCCA20A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5

ASIGNACIÓN DE PIN-OUT (que es cada pata) A1-A23: BUS DE DIRECCIONES (3 bytes) D0-D15: BUS DE DATOS (2 bytes) FC0-FC2: GND: TIERRA VCC: ALIMENTACIÓN CLK: RELOJ HALT: DETENCIÓN ...

Page 42: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.5

4 . R E G I S T R O S Los registros son pequeñas porciones de memoria dentro de la C.P.U. Es importante destacar que no tienen semejanza ninguna con la memoria R.A.M., siendo su velocidad de lectura y escritura mucho más rápida (deben poder ser actualizados a la misma velocidad que es capaz de funcionar el procesador, pues de otra forma se produciría un cuello de botella en las operaciones con registros). Dependiendo de la arquitectura de la C.P.U, los registros tendrán una única función o podrán ser programables. Como ejemplos de los registros, tenemos: En la Unidad de Control: Registro de Instrucción Registro de Contador de Programa Registro de Estado En la U.A.L. Registros Acumuladores Registros de Datos En los procesadores actuales los registros suelen ser de 32 bits de longitud y se han multiplicado el número de ellos. Por ejemplo el Motorola 68020 tiene: 8 registros de datos 7 registros de direcciones 2 registros de punteros de pila 1 registro contador de programa 1 registro de estado todos ellos de 32 bits.

5 . U N I D AD D E C O N T R O L La unidad de control es la encargada de interpretar las instrucciones que compo-nen un programa. Para ello dispone de unos registros especiales donde se almacena la instrucción en curso para decodificarla. Para entender en profundidad como funciona una unidad de control seria necesario tener conocimientos básicos de ensamblador. Aun así procuraremos entender como funciona este aparato. La ejecución de una instrucción consiste en una serie de operaciones o pasos elementales que llamaremos secuencias . Cada uno de estos pasos supone la ejecución de una fase específica, como la lectura de una instrucción, la carga de un registro, un desplazamiento, un acceso a memoria, etc. Cada ordenador posee un determinado número de secuencias por medio de las cuales se obtiene todo el repetorio de instrucciones, es decir, cada instrucción se ejecuta usando una combinacion de secuencias ordenada en el tiempo y forma apropiada.

Page 43: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.6

Reloj : Generador de impulsos a intervalos constantes que marca el instante en que debe empezar cada un de los pasos que componen la ejecución la instrucción. Registro de instrucción : almacen temporal de la instrucción en curso. Cada instrucción máquina se compondrá de Codigo de operación y opcionalmente de los operandos. Éstos podran ser: a) directos: el valor va en el mismo operando b) indirectos: el operando indica la dirección de memoria donde se encuentra el valor c) ninguno: pensar que operando se necesita para detener el programa

El tamaño en bits reservado para el codigo de operación en el registro de instrucción define el máximo número posible de instrucciones. Si tenemos 8 bits podríamos tener hasta 256 instrucciones distintas (2^8). No todas las instrucciones tienen la misma longitud. Puede ser necesario realizar otro ciclo de lectura para completar la instrucción. Contador de programa : Contiene la dirección de memoria donde se encuentra las siguiente instrucción a ejecutar. Habitualmente se incrementa con la longitud de la instrucción leida, excepto en los casos de un salto, es decir, queremos pasar a ejecutar directamente una instrucción que NO es la siguiente. Decodificador : Interpreta la operación a realizar según diga el campo codigo de operación del registro de instrucción y emite las señales necesarias al resto de elementos para su ejecucion mediante el secuenciador. Secuenciador : Genera las microórdenes que al ritmo marcado por el reloj completan el conjunto de pasos para hacer posible la ejecucion de la instrucción.

Page 44: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.7

R.I.

C.P.

MICROPROGRAMAS

REGISTRO UAL

REGISTRO UAL

U.A.L

BUS INTERNO

Bus Direccion Bus Control

U. C.

MICROPROCESADOR

Supongamos un programa que suma dos variables: a = 10 b = 20 a = a + b

inventémonos un ensamblador sencillo con las siguientes palabras: DefInt <var>, valor -> define una variable y la inicializa con un valor SumInt <var1>, <var2> -> suma el var1 y var2 dejando el resultado en var2. EndPrg -> Fin de ejecución Si ensamblamos el programa obtendremos una cosa parecida a esta: Ensamblador Binario Memoria ---------------- ---------------------- ------- DefInt a, 10 (00,010000,00001010) $00 DefInt b, 20 (00,010001,00010100) $02 SumInt a, b (01,010000,010001) $04 EndPrg (10,000000,00000000) $06

El sistema operativo "sabe" donde ha colocado dentro de la memoria el programa (supongamos la dirección $00) y manda al C.P. (contador de instrucciones) la dirección de la primera instrucción a ejecutar ($00) 1. Se produce en este momento un ciclo de lectura tal y como lo vimos antes, se manda por el bus de direcciones el valor $00, la memoria busca esta dirección y coloca su contenido en el bus de datos pasando al R.I. (registro de instrucción) código de operación dirección valor ------------------------- ----------- ----------- -- 00 010000 00001010

Page 45: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.8

2. Una vez allí, el decodificador de instrucciones analiza el código de operación (00), sabiendo en este caso que la operación a realizar es un movimiento de memoria (el como lo sabe ya se explicará), es decir, meter el valor 00001010 en la dirección 010000. 3. ¿Como lo hace?. Como ya sabemos, coloca en el bus de direcciones el valor 010000 y en el bus de datos el valor 00001010. Cuando por el bus de control se recibe el reconocimiento (la operación se ha realizado), se incrementa el PC en 2 (pues las instrucciones miden 2 bytes en este ejemplo. Pero en la realidad la longitud de las instrucciones no son fijas, sino que depende de su complejidad). Repetimos desde el punto 1. Si seguimos hasta el final, observaremos que el elemento que más interviene en el desarrollo de un programa es el bus de direcciones y de datos.

6 . U N I D AD AR I T M É T I C O L Ó G I C A Es la unidad especializada en realizar las sumas, restas, comparaciones ...

Se compone de los siguientes elementos: Circuito operacional : Estan almacenadas operaciones elementales: suma, not, etc. De la unidad de control recibirá la orden de QUÉ operación realizar con los Registros de entrada : Almacena los operandos que intervienen en la operación a realizar. Acumulador : La tecla M+ de nuestra calculadora. Almacena el resultado de la operación y está conectado con uno de los registros de entrada para usarlo como retroalimentación. (En la operación 10 * 20, se sumará 10 veinte veces. A medida que va sumando el acumulador se toma como registro de entrada para la siguiente suma). Registro de estado : Deja constancia de la condición en la que terminó la operación. Como ejemplo el 68000 de motorola dice:

Page 46: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.9

C = Acarreo. (me llevo 1) V = Rebose. (overflow. El resultado no me cabe) N = Negativo. (Según la operación tendra su importancia) Siguiendo con el ejemplo del programa cuando se ejecute la instrucción de la dirección $04 (la suma) la UC realizará los siguientes pasos Con el código de operación sabe que es una suma (01). Busca en memoria la dirección del primer operando y coloca su contenido en uno de los registros de la UAL. Repite los mismo para el segundo operando y lo coloca en otro registro de UAL. Ya tenemos los dos valores a sumar. Ahora la UC informa a la UAL, a través del bus interno, que la operación a realizar con sus dos registros es sumarlos (suma con acarreo). Cuando la UAL ha terminado la ope-ración le indica en qué registro está el resultado. La UC extrae el contenido de ese regis-tro y realiza un ciclo de escritura en la dirección 010000 (variable a) metiendo en el bus de datos el valor de la suma. Esperamos que se haya entendido.

6.1 COPROCESADORES MATEMÁTICOS

No olvidemos que existen coprocesadores matemáticos especializados en operaciones con números en coma flotante. En síntesis, un coprocesador matemático es una A.L.U. con microprogramas especializados en cálculos matemáticos. Por ejemplo, para multiplicar dos números, a*b, no se realiza la suma de a, b veces, sino que el coprocesador lleva grabada la tablas de multiplicar. Otro aspecto es la precisión de cálculo. Los registros internos de los copros son mucho más largos que los de la A.L.U, 80 bits contra 32. Su funcionamiento es bastante sencillo. Cuando la U.C. en el R.I. decodifica la instrucción, dependiendo de la operación a realizar pasará los operandos al copro en vez de a la A.L.U, e indicará al copro que operación debe realizar con ellos. Mientras la C.P.U. puede realizar otras actividades. (Procurar hacer un programa de calculo de senos o raíces cuadradas con y sin coprocesador para ver la diferencia de velocidad y precisión en el cálculo. Poner como ejemplo el caso de la resolución de matrices cuando el número de ecuaciones es muy grande). Ejemplo de como suma y resta dos números. Multiplicación por sumas sucesivas con control de desbordamiento y división por restas sucesivas con control de 0.

Page 47: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.10

Diagrama de bloques de un 386.

Page 48: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.11

7. Ciclo de instrucción

Page 49: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.12

Se explicará con literatura las secuencias típicas de la ejecución de una instruc-ción. 1. Búsqueda de la instrucción . El contador de programas (C.P.) es el registro que contiene la dirección de memoria donde se encuentra la instrucción que queremos ejecutar. La unidad de control colocará el contenido del PC en el bus de direcciones y ejecutará un ciclo de lectura. La memoria colocará en el bus de datos dicha instrucción y pasará el registro de instrucciones (R.I.). 2. Decodificación de la instrucción . La parte de la instrucción que especifica que hacer se pasa al decodificador, el cual decide que operación debe realizarse. 3. Búsqueda de datos . Dependiendo de la instrucción, será necesario localizar los datos con los que se quiere operar (operandos), por lo que se ejecutaran más ciclos de lectura. Los operandos se llevan de la memoria a los registros temporales (registros de la A.L.U, etc.). 4. Ciclo de instrucción . Por fin la C.P.U. está lista para ejecutar la instrucción. Sabe qué debe hacer, cómo y dónde . Normalmente la ejecución de la instrucción tiene como resultado la salida de información, por los que se ejecutaran ciclos de escritura para llevar el resultado a la dirección de destino que especifica la instrucción. Una vez terminados los pasos 1 a 4, se repite la secuencia con la dirección contenida en el C.P. que ya se había incrementado.

Page 50: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.13

8 . B U S E S

Bus Tamaño Transferencia D.M.A.

Velocidad del Control de Bus Reloj

ISA 16 bits Max 1,5 Mb/sg N/D 8 Mhz

MCA 32 bits Max 5 Mb/sg Max 40 Mb/sg 10 Mhz

EISA 32 bits Max 33 Mb/sg Max 32 Mb/sg 8 Mhz

VL/PCI 32/64 Según Reloj Según Reloj N/A

AGP ¿? ¿? ¿? ¿?

8.1. EL BUS I.S.A. Es el bus original de la arquitectura del primer PC. Originalmente contaba sólo con 8 bits y se amplio a 16 con la aparición del AT (80286). Las siglas I.S.A. son el acrónimo de Industry Standard Architecture, algo así como "Arquitectura estándar de la industria...". Muy importante, cada placa que se conecta al bus ISA se comunica con el ordenador provocando una interrupción cada vez que desea acceder al bus. Evidentemente dos placas ISA en el mismo ordenador no pueden utilizar la misma interrupción y, como el número de interrupciones no es precisamente muy alto (11 en el bus), hay que tener cuidado con la instalación de estas placas. Se supone2 que el bus ISA está controlado por un reloj a 8 Mhz. Si nuestro ordenador es un Pentium a 150 Mhz, no es el bus ISA el más apropiado para hablarse de tu a tu con el procesador. Esto suele generar cuellos de botella en ordenadores que se suponen de alto rendimiento.

8.2. EL BUS E.I.S.A. De nuevo nos encontramos con un acrónimo (todo en informática son acrónimos). Es lo mismo que el I.S.A. pero con Extended (o Enhanced, no recuerdo). El ancho del bus es de 32 Bits. Dependiendo del dispositivo instalado se comporta como bus I.S.A. (8 Mhz a 16 Bits) o E.I.S.A. (32 Bits a ??3 Mhz). En el modo enhanced la velocidad D.M.A. es de 33Mb/seg debido a un método de transferencia a ráfagas que es mucho más rápido que modo I.S.A.

8.3 EL BUS MICROCANAL (MCA) Fue desarrollado por IBM para resolver los problemas de velocidad del bus I.S.A. Este bus es propiedad de I.B.M. que no lo ha vendido a muchos fabricantes, por eso los I.B.M. PS/2 en determinados modelos no se vendieron bien. No había placas para este bus o eran demasiado caras. La verdad es que es un buen bus, 32 bits a 10 Mhz.

2Ningun manual lo declara como un dato seguro. Parece que I.B.M. mantiene este valor como en secreto.

3Mismo caso que para el bus I.S.A.

Page 51: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.14

8.4 EL BUS V.E.S.A. VL-BUS Y EL P.C.I. El bus V.E.S.A. es un acuerdo entre varios fabricantes para mejorar el rendimiento del bus I.S.A. (¿porqué, si ya existe el EISA?. Simple, es caro). Se supone que el VL-Bus trabaja a 33Mhz y con un ancho de 32 bits. El bus P.C.I. esta pensado para ser de 64 Bits (Arquitectura interna del Pentium).

8.5 EL BUS AGP, APGX2, ETC (VER EL CACHITO SACADO D E INTERNET Y ACLARAR AQUÍ LO MÁS INTERESTIN)

Page 52: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.15

9 . M E M O R I AS La memoria es hoy uno de los componentes vitales del ordenador. Cada vez los programas son más grandes y necesitan más memoria para poder funcionar de forma razonable. Ya no nos conformamos con pantallas de tipo alfanumérico sino que tienen que ser gráficas, con muchos puntos y muchos colores, lo que se traduce en más memoria. Además, los ordenadores deben ser capaces de hacer más cosas sin programas exter-nos, lo que significa más memoria ROM. En fin, respecto a la memoria: cuanto mas, me-jor.

9.1 R.A.M. RANDOM ACCESS MEMORY. Es la memoria por excelencia, pues en ella se almacenan los programas y datos para poder ser ejecutados. Dependiendo de la arquitectura de la placa madre la memoria se instala de dos maneras distintas: a) Chips de memoria.

64256-XX

Suelen tener la forma anterior. Para saber la capacidad de memoria hay que saber la terminología que utiliza el fabricante. Normalmente se mide la capacidad del chip en bits y no en bytes. Ya no se suelen utilizar como ampliación en placa madre porque son difíciles de quitar. b) S.I.M.M. Software Interface Memory Module.

pin Viene a ser como si pincháramos los chips de memoria anteriores sobre una pequeña placa de resina. La placa se maneja como un todo, siendo mucho más fácil de quitar y poner.

Page 53: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.16

Actualmente se distribuyen S.I.M.M. de 30 y 72 pines, aunque los de 30 empiezan a estar un poco anticuados. (Como es de suponer, cuantos más pines, más bits podré leer de una vez). Se suelen vender en las siguientes configuraciones: 1 (casi no se usa), 4, 8, 16, 32, 64 Y 128 Mbytes La velocidad de refresco de esta memoria suele oscilar entre 60 y 80 ns (nanosegundos). c) DIMM. Añadir. RIM, SDRAM, DDR etc.

9.2 R.O.M. READ ONLY MEMORY Determinadas funciones del ordenador deben estar permanentemente accesibles, por ejemplo, la secuencia de arranque y comprobación. Esta funciones son programas que no pueden ejecutarse en la memoria R.A.M., pues deberían llegar a ésta por algún medio y todavía los medios no son accesibles. Por ejemplo, no puedo cargar desde un disquete el programa controlador de disquete. Evidente, para poder cargar "algo" desde el disquete necesito tener previamente el programa controlador de disquete funcionando. Solución, guardo el programa controlador de disquete en una memoria R.O.M. El mejor ejemplo se encuentra en la famosa BOOT. Y si no preguntaros de que manera divina al encender mi ordenador se carga el MS-DOS que tengo en el disco duro.

9.3 CACHES La memoria caché no es un invento reciente. Hace algunos años se la llamó memoria TAMPÓN o BUFFER. Hoy en día la tecnología de la memoria caché ha avanzado considerablemente, pero debemos distinguir dos tipos de caché: A) CACHE DE PROCESADOR INTERNA Es memoria que permite un tiempo de acceso tan rápido como es capaz de funcionar el procesador. En esta memoria se almacenan las instrucciones ejecutadas más recientemente y el procesador lo sabe. Cuando se debe ejecutar una instrucción primero comprobamos si está en la caché, si está, nos hemos ahorrado un ciclo de lectura a la R.A.M. Existen ya circuitos controladores de cache estadísticos, que analizan las instrucciones más ejecutadas y las mantienen en la caché. Incluso cachés predictivas, que adivinan lo que va a pasar. No es ciencia ficción. Imaginar una instrucción del tipo IF ESLE. Si tengo en la cache las dos posibilidades del IF, pase lo que pase, la siguiente instrucción se ejecutará desde la caché ¿o no...?.

Page 54: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.17

EXTERNA La caché externa de procesador es una memoria de muy alta velocidad (el tiempo de refresco es muy bajo) que se encuentra entre la C.P.U. y la memoria R.A.M. pero que no es tan rápida como la interna. Esto permite tener gran cantidad de memoria cache externa (más barata y ampliable) que interactua con la caché interna. Si la instrucción que vamos a ejecutar no se encuentra en la caché interna, se busca en la externa. Si estuviera allí, se mueven tantos bytes de caché externa como me quepan en la caché interna. Si no estuviera, se busca en la R.A.M. y se mueven de la R.A.M. tantos bytes como me quepan en la caché externa y se repite el paso anterior.

CACHE INTERNA

CACHE EXTERNA R.A.M.

CONTROLADOR DE CACHE

U.C. U.A.L.

datos datos

control controlcontrol

B) CACHÉ DE DISCO Cuando realizamos un acceso al disco, la cantidad mínima de información que leemos es un registro físico. Como debéis recordar, un registro lógico puede ocupar un montón de registros físicos. Luego sería conveniente poder acceder a un conjunto mayor de registros físicos. Esto es la caché de disco. Una porción de memoria donde almacenar un conjunto mayor de registros físicos. Así, cuando queramos realizar la lectura del siguiente registro físico, éste ya está en la memoria, ahorrando accesos a disco (normalmente una de las operaciones más lentas). También existe una caché interna y otra externa. La interna se encuentra físicamente dentro de los circuitos del disco duro (64Kbytes, 128Kbytes, etc.) y la externa se encuen-tra en la R.A.M. De la R.A.M. se reserva una cantidad determinada de Kbytes que son de uso exclusivo del caché de disco.

Page 55: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.18

F AM I L I AS D E P R O C E S AD O R E S INTEL 8088, 8086, 80286, 80386, 80486, PENTIUM, II,III, IV Existe un direccion donde se puede bajar un documento resumen de toda la familia INTEL. http://members.tripod.com/~alpertron/

COMPATIBLES INTEL: AMD, CIRYX

MOTOROLA 68000, POWER PC, ETC RISC, PA-RISC, ALPHA, etc

Page 56: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.19

1 0 . AD AP T AD O R E S G R Á F I C O S Habitualmente, tal vez por el desconocimiento que existe, no se estudia un elemento vital en los ordenadores actuales - El adaptador de video - que se encuentra entre el concepto de soporte y periférico. Así un punto importante en este tema debe ser el funcionamiento de este tipo de periférico-soporte. Lo damos por hecho, el ordenador es capaz de dibujar en una pantalla. Pero se ha preguntado alguien como lo hace. Vamos a dar respuesta a vuestra curiosidad.

10.1 COMPONENTES DE UN ADAPTADOR GRÁFICO Y SU FUNCI ONAMIENTO. Vamos a empezar por un adaptador gráfico muy sencillo. Solo es capaz de dibujar 64 puntos, en una matriz de 8*8 monocromo.

1 2 3 4 5 6 7 8 ┌───┬───┬───┬───┬───┬───┬───┬───┐ 8 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 7 │ │ │ │ O │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 6 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 5 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 4 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 3 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 2 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 1 │ │ │ │ │ │ │ │ │ └───┴───┴───┴───┴───┴───┴───┴───┘ 1 2 3 4 5 6 7 8

Quiero poner un punto en la posición 4,7. Pues bien, mi tarjeta gráfica es un conjunto de bytes, (luego ya tengo un componente, la memoria de la tarjeta) sólo tengo que localizar el byte en el que tengo que escribir y ver la forma de que se ponga en 1 el bit que me interesa.

Page 57: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.20

128 64 32 16 8 4 2 1 (valor del bit) ┌───┬───┬───┬───┬───┬───┬───┬───┐ 8 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 7 │ O │ │ │ O │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 6 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 5 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 4 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 3 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 2 │ │ │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 1 │ │ │ │ │ │ │ │ │ └───┴───┴───┴───┴───┴───┴───┴───┘ 1 2 3 4 5 6 7 8

Tengo que poner en el séptimo byte el valor decimal 16. Luego Byte(7) es igual a 16. He conseguido apagar todos los bits del séptimo byte y encender el de la posición 4. Ok. Pero que pasa si ya se hubiera encendido un punto previamente en la posición (1,7), pues que lo hubiera apagado. ¿Como puedo conseguir encender el (4,7) sin apagar el (1,7)?. Leo el valor del byte 7 que será 128 en decimal 1 0 0 0 0 0 0 0 128 + 0 0 0 1 0 0 0 0 16 ──────────────────────── 1 0 0 1 0 0 0 0 en decimal es 144

Pues los sumo y meto el resultado en el byte 7. Pues bien, esto no funciona, si vuelvo a encender el mismo punto, leo 144, le vuelvo a sumar 16 que me da 144+16═160═128+32

┌───┬───┬───┬───┬───┬───┬───┬───┐ │ O │ │ O │ │ │ │ │ │ └───┴───┴───┴───┴───┴───┴───┴───┘ 128 64 32 16 8 4 2 1

No estoy encendiendo el que me interesa, más bien lo estoy destrozando. Esto es porque la suma decimal genera arrastres de bits. No ocurre lo mismo con la unión de conjuntos (¿os acordáis de estas cosas?). (1 0 0 1 0 0 0 0) U (1 0 0 1 0 0 0 0) ═ 1 0 0 1 0 0 0 0 Ese operador en informática es el OR. Pues bien el funcionamiento básico de una tarjeta de gráficos es así. Vamos a complicarlo un poco. ¿Como puedo dibujar una línea?. Quiero dibujar una línea del (1,1) al (5,8)

Page 58: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.21

128 64 32 16 8 4 2 1 ┌───┬───┬───┬───┬───┬───┬───┬───┐ 8 │ │ │ │ │ O │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 7 │ │ │ │ │ O │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 6 │ │ │ │ O │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 5 │ │ │ O │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 4 │ │ │ O │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 3 │ │ │ O │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 2 │ │ O │ │ │ │ │ │ │ ├───┼───┼───┼───┼───┼───┼───┼───┤ 1 │ O │ │ │ │ │ │ │ │ └───┴───┴───┴───┴───┴───┴───┴───┘ 1 2 3 4 5 6 7 8

¡Vaya churro!. Pero no lo puedo hacer de otra manera (por el momento). Para hacerlo más fácil, lo que hago es buscar la ecuación de una recta que pasa por dos puntos4 y voy asignado valores para cada punto de X (es decir aplico la formula 5 veces sustituyendo el valor de X). Según el valor de Y enciendo el punto que corresponda. Si tuviera más puntos me quedaría mejor. De acuerdo, pero necesitaría tener infinitos puntos (los que hay en una recta) para que ésta fuera perfecta. Así pues que no tendrá nunca remedio, sólo conseguiré un aspecto mejor. ¿Como se disponen estos bytes en memoria?. Pues desgraciadamente suele estar uno detrás de otro. Para lo cual necesito unas pequeñas fórmulas para localizar el byte que quiero encender. Veamos ahora una memoria más real, la de una tarjeta de 640*480 puntos. ¿Como imagináis que están distribuidos ? 640 * 480 = 307200 puntos Si divido por 8 me da la cantidad de bytes que necesito y si divido por 1024 las Kbytes necesarias. Para un origen de coordenadas (0,0) el punto mayor es (639,479) y el primer byte será el byte número 0 (Byte[0]). Para localizar el byte donde debo escribir multiplico el valor de la coordenada Y * 80 y le sumo el valor de la coordenada X divido por 8. Ese es el byte en el que tengo que escribir (si el origen es 0,0). Ejemplo para el punto (10,0)

4Existen métodos más elaborados que permiten el trazado de la línea de forma más rapida. En el libro de C de SCHILDT de MacGrawHill podéis encontrar uno de

estos métodos.

Page 59: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.22

Y X ( * ) ( / )0 80 10 8 1+ = Tengo que escribir en el byte 1 (lógico, en el byte[0] estarán los puntos 0..7 de las X para Y = 0, en el primero estarán los puntos 8 a 15 para Y = 0, etc.) ¿Pero que es lo que tengo que escribir?. Partiendo del resto de la división: 10 / 8 da de resto 2, tengo que escribir en la posición 2 del byte 1, que es el valor 32. ... 8 9 10 11 12 13 14 15 (coordenada x) 0 1 2 3 4 5 6 7 (bit dentro d el byte) ┌───┬───┬───┬───┬───┬───┬───┬───┐ .. │ │ │ O │ │ │ │ │ │ BYTE[1] └───┴───┴───┴───┴───┴───┴───┴───┘ 128 64 32 16 8 4 2 1 (valor del bi t en el byte)

Lo más cómodo, y a la postre más rápido, es formarnos una tabla: Posición Valor decimal del bit 0 128 1 64 2 32 3 16 4 8 5 4 6 2 7 1

Hago el OR con lo que hubiera en ese byte, y ya tengo mi punto. 0 1 2 3 4 5 6 7 (bit dentro d el byte) ┌───┬───┬───┬───┬───┬───┬───┬───┐ │ O │ │ O │ │ │ │ │ │ BYTE[1] └───┴───┴───┴───┴───┴───┴───┴───┘ 128 64 32 16 8 4 2 1 (valor del bi t)

Hasta ahora hemos encendido y apagado, pero ¿y los colores? Para pintar en colores necesito más información por cada punto. Para poder pintar en 16 colores necesito 4 bits por cada punto:

24=16 0 0 0 0 Negro 0 0 0 1 Azul 0 0 1 0 Verde 0 0 1 1 Magenta 0 1 0 0 Rojo 0 1 0 1 Cían ... ... 1 1 1 1 Blanco Intenso.

Para 256 colores 28=256

Page 60: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.23

Coordenada X

Coordenada Y

Plano Bit 0

Plano Bit 1

Plano Bit 2

Plano Bit 3

A cada uno de estos bit se le llama plano de color, es como si tuviéramos una matriz tridimensional. Si alguno le suena algo así como: Paleta de 16.7 millones de colores, se necesitan 24 bits para cada punto.

224=16.777.216 Hasta ahora hemos pintado en la memoria del ordenador, pero ¿como se ve en la pantalla?. Un procesador se dedica a recorrer la memoria y convertirlo en información analógica que se envía al monitor (D.A.C. Digital Analogic Converter). Esto lo hace muchas veces por segundo. Para refresco de 60Hz, lo hace 60 veces por segundo. Si tuviéramos una cámara de fotos que sacara 60 imágenes por segundo podíamos ver como se producen los cambios. Tal y como hemos visto, la forma de conseguir pintar una línea parece complicado. De hecho así era en el principio de la tarjetas gráficas. La demanda de mejores tarjetas supuso la evolución de éstas, permitiendo mecanismos para una programación más fácil. La tarjetas más modernas incorporan un procesador gráfico dedicado que me permite decirle cosas como: LINE (0,0) ─ (620,450)

y ella se encarga de hacerlo. Es mas, permiten operaciones como: - Cambios de escala, - Deformaciones en un eje o en el otro - Simetrías - Rotación (para procesadores en 3D) etc.

10.2 ADAPTADORES GRÁFICOS COMERCIALES Y SU EVOLUCIÓ N. Los primeros ordenadores compatibles ni siquiera tenían adaptador gráfico.

Page 61: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.24

CGA Hubo que esperar a la aparición de las tarjetas CGA (Color Graphics Adapter) para poder dibujar en un ordenador compatible. Esta tarjeta permitía una resolución máxima de 640*200 puntos en monocromo o 320*200 en color (os suenan estos números). Definitivamente los gráficos no tenían buena calidad, una curva en 200 puntos de resolución vertical es una escalera. HERCULES La tarjeta HERCULES permitía trabajar en 720*350 puntos, lo que fue un gran avance en cuanto a resolución, pero eran monocromo. Además la pantalla quedaba como un rectángulo si se usaba toda la resolución. De todas formas tuvieron mucho éxito y antes que a IBM se le escapara el negocio de la manos apareció la EGA Extended Graphic Adapter, resolución de 640*350 con 16 colores. Por este tiempo se empezaron a popularizar los sistemas de CAD que requerían mayor resolución. Fueron muchos lo fabricantes que desarrollaron tarjetas de video de alta resolución: ARTIST, TEXAS, MATROX, ORCHID y muchos más. Su resoluciones llegaban a 1024 * 768 * 16 colores. De nuevo IBM perdía parte del pastel, se saco de la manga el 8514 que es una placa equivalente a las citadas, pero el problema entonces era la estandarización de los programas, unos funcionaban en unas placas, otros no, un jaleo. Por fin, IBM de nuevo, saco una placa que parece ser del gusto de todos: VGA Esta vez es Video Graphics Array. Permite estándar 640*480*16 colores, y los modos extendidos (más memoria) 800*600 y 1024*768. Ahora mismo nos encontramos en esta situación. Los fabricantes de tarjetas disponen ahora de resoluciones de 1600*1200 con una paleta de 16.7 millones de colores o más.

10.3 NUEVAS NORMAS EUROPEAS DE ERGONOMÍA. Los estudios han determinado que un refresco5 de 50 Hz (el utilizado más frecuentemente) produce un parpadeo "fliquin" que molesta al observador. También han demostrado que por encima de 70 Hz nuestro ojo ya no percibe ese parpadeo. Así las nuevas normas en la que son pioneros los Noruegos y Alemanes exigen refrescos de 72 Hz. Los ordenadores que cumplan esta norma deben llevar adaptadores de video que permitan este refresco, pero ojo, el monitor también debe permitirlo. Si a un monitor tradicional de 50 Hz, le enchufamos una tarjeta de 72 nos lo cargamos. 5Veces por segundo que se forma la imagen en el monitor

Page 62: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.25

10.4 EL SUBSISTEMA GRÁFICO EN UNA WORKSTATION. Dentro de una WorkStation no podemos hablar de adaptadores de video, es como insultarlos. Dentro de una WS que se precie existen dos sistemas: El sistema de cómputo (probablemente un procesador RISC super rápido) El sistema de gráficos, con aceleradores, planos de 3D, etc. Esto permite que la CPU no pierda tiempo controlando los subsistemas gráficos, así, los dibujos salen a tanta velocidad. Imaginaros las operaciones por seg. que hay que realizar para rotar en tiempo real una imagen de 1280*1024 con 16.7 millones de colores. Pues son capaces de hacerlo. Podéis calcular la memoria necesaria para almacenar dibujos con dicha resolución...

10.5 REPERCUSIÓN DE LOS SISTEMAS GRÁFICOS EN LA INF ORMÁTICA. No nos damos cuenta, pero cada vez exigimos la información más clara, comprensible e impactante. Los empresarios quieren gráficos de barras, de sectores, de líneas, etc. Los ingenieros no saben vivir ya sin sus curvas, etc. Los arquitectos para que vamos a hablar. Así, cada vez mas, los programas incorporan salidas gráficas, hasta el extremo de realizar sistemas operativos orientados a gráficos (Windows 95 y lo que vino después ... ).

11.1 ADAPTADORES ALFANUMERICOS (POR HACER) Ver Escritura en Pantalla Alfanumérica en Programas demostrativos y Otro Ejemplo de Escritura en Pantalla Alfanumérica y Programa pascal para escritura en video alfanumerico

Page 63: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.26

P R O G R AM AS E J E M P L O D E M AN E J O D E P AN T AL L A

DIBUJO EN PANTALLA GRÁFICA PROGRAM Pantalla_Grafica; Uses Dos, Crt; Const Alfa = $3; Grafica = $11; Type Grafico = Array[0..38399] of Byte; Var PGrafica: Grafico Absolute $A000:$0000; i,j,x,y: Integer; Fgrafico: File Of Grafico; PROCEDURE Pausa; Var a: Char; Begin a:=Readkey; E nd; PROCEDURE Pon_Pantalla(Tipo: Byte); Var Regs: Registers; Begin Regs.ax:=Tipo; Intr($10,Regs); End; PROCEDURE Cls_grafica; Begin Fillchar(Pgrafica,Si zeof(PGrafica),0); End; PROCEDURE Punto(x,y: integer; Pluma: Byte); Const Mascara : array[0..7] of byte = (128,64,3 2,16,8,4,2,1); Var D: Integer; Bit: Byte; { Pluma 1 Enciende Pluma 0 Apaga Pluma 2 Magica - si estaba encendido lo apaga y viceversa } Begin D:=y*80+x Div 8; Bit:=X Mod 8; Case Pluma Of 1: Pgrafica[d]:=Pgrafica[d] Or Mascara[Bit ]; 0: Pgrafica[d]:=Pgrafica[d] And Not(Mascara [Bit]); 2: Pgrafica[d]:=Pgrafica[d] Xor Mascara[Bit ]; End; End; PROCEDURE Graba_imagen; Begin Assign(Fgrafico,'Imagen.gra'); Rewrite(Fgrafi co); Write(Fgrafico,PGrafica); Close(Fgrafico); End; PROCEDURE Lee_imagen; Begin Assign(Fgrafico,'Imagen.gra'); Reset(Fgrafico ); Read(Fgrafico,PGrafica); Close(Fgrafico); End; PROCEDURE Pon(x,y: Integer; t: Byte); Const Font: array[0..1,0..11] of byte = (( 16, 56,108,198,198,198,254,198,1 98,198,198, 0), {A} ( 48,112,240, 48, 48, 48, 48, 48, 48, 48,252, 0)); {1} Var D,I: Integer; Begin D:=y*80+x div 8; For i:=0 To 11 Do PGrafica[d+i*80]:=Font[t,i] ; End; PROCEDURE Cuadro(x1,x2,y1,y2: Integer; p: Byte); Var x,y: Integer; Begin For x:=x1 To x2 Do Begin Punto(x,y1,p); Punto (x,y2,p); End; For y:=y1 To y2 Do Begin Punto(x1,y,p); Punto (x2,y,p); End; End; Begin

Page 64: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.27

Pon_Pantalla(Grafica); Cls_Grafica; for i:=0 to 100 do Cuadro(0+i*2,639-i*2,0+i*2,4 79-i*2,1); for i:=0 to 9 do pon(i*16+245,220,0); for i:=0 to 9 do pon(i*16+245,240,1); for i:=0 to 100 do Cuadro(0+i*2,639-i*2,0+i*2,4 79-i*2,0); Pausa; repeat punto(random(640),random(480),2); until keypressed; Graba_imagen; Pausa; Cls_Grafica; Pausa; Lee_imagen; Pausa; Pon_Pantalla(Alfa); Writeln('Estoy en modo Alfa '); Pausa; End.

Page 65: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.28

ESCRITURA EN PANTALLA ALFANUMÉRICA PROGRAM ejemplo_tarjeta; const { atributos de la t arjeta VGA } blanco: byte = 15; { blanco intenso so bre negro } inverso: byte = 120; { negro sobre blanc o } blink: byte = 240; { blinking negro so bre blanco} crtseg = $B800; { direccion de comienzo de la memoria de una tarjeta } crtofs = $0000; { VGA. Segmento y desplazamie nto en Hexadecimal } type caracter = record ca: char; { cada caracter se co mpone del caracter en si } at: byte; { más un atributo de los mostrados previamente } end; strg80 = string[80]; { esta variable "cae" justo encima de la memori a de la tarjeta } { de video. Se divide en 25 filas y 80 columnas } var pantalla: array[1..25,1..80] of caracter absol ute crtseg:crtofs; { limpia la pantalla llenandola de caracteres 0, es decir, NULLS } PROCEDURE clear_pan; begin fillchar(pantalla,sizeof (pantalla),0); end; { escribe el texto T en la fila F columna C con el atributo ATR } PROCEDURE pon(f,c: byte; t: strg80; atr: byte); var i: integer; l: byte absolute t; begin for i:=1 to l do with pantalla[f,i+c-1] do begi n ca:=t[i]; at:=atr; end; end; { pone un texto de un campo TR en la fila FR columa CR con el atributo ATR } { y crea el espacio de longitud LC a partir de la c olumna CC con atributo ATC } { encerrado entre [ y ]. El espacio entre el rotulo y el campo se rellena con } { puntos. } { Ejemplo: Nombre ........... [espacio para el nombre de longitud LC] } PROCEDURE campo(fr,cr: byte; tr: strg80; atr: byte; cc,lc,atc: byte); var tc: strg80; i,ip,fp: integer; l: byte absolut e tr; begin pon(fr,cr,tr,atr); fillchar(tc,lc,#32); tc[0]:=chr(lc); tc:='['+tc +']'; pon(fr,cc-1,tc,atc); tc:=''; i:=cc-cr-l-2; fillchar(tc,i,'.'); tc[0]:=chr(i); pon(fr,cr+l+ 1,tc,blanco); end; { centra un rotulo T en la fila F con atributo ATR. Toda la linea tendra el } { mismo atributo } PROCEDURE centra(f: byte; t: strg80; atr: byte); var l: byte absolute t; t1: strg80; begin fillchar(t1,sizeof(t1),#32); t1[0]:=#80; pon(f, 0,t1,atr); pon(f,(80-l) div 2,t,atr); end; (* principal *) begin clear_pan;

Page 66: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.29

centra(1,'E J E M P L O D E P A N T A L L A', blink); centra(3,'DATOS DEL CLIENTE',blanco); campo(6,15,'Numero del D.N.I.',blanco,51,10,inver so); pon(6,51,'99.999.999',inverso); campo(8,15,'Nombre del Cliente',blanco,40,21,inve rso); pon(8,40,'Roberto Lopez Perez ',inverso); end.

Page 67: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.30

OTRO EJEMPLO DE ESCRITURA EN PANTALLA ALFANUMÉRICA Para poder entender el funcionamiento de las tarjetas de vídeo, sobre todo el esquema de memoria, es necesario introducir el concepto del mapa de memoria. Esto es sólo una forma de direccionamiento que surgió en la época de 8086, cuando el bus de direcciones era de 20 bits, siendo la cantidad máxima de memoria que podíamos instalar de 1 Mbyte. Para poder realizar programas que se puedan vender, es necesario que el programador y el propio sistema operativo sepa donde están las cosas. Si a veces la memoria de vídeo está en una dirección y otras veces en otra, es imposible que mi programa o sistema funcione correctamente. Así necesitamos establecer direcciones FIJAS para aquello que nos es vital. En la época de 8086, los ordenadores se vendían con 128 o 256 Kbytes de memoria, lejos de los 128 o 256 Mbytes de ahora y tener 512 Kbytes era todo un lujo. Podía haberse hecho mejor pero ... El caso es que se decidió dividir el posible megabyte de memoria en 16 trozos, llamando a cada trozo con el nombre de segmento, siendo cada uno de ellos de 64 Kbytes. Los 10 primeros (del 0 al 9) se corresponderán con los bancos de memoria RAM, las famosas 640 Kbytes de memoria convencional de entonces. El resto, hasta el megabyte, tiene más miga. El segmento undécimo, el A, está reservado para la memoria de vídeo de mi VGA en modo gráfico. El segmento B, se reserva para la memoria en modo alfanumérico y otras cosas más. Del C al E se usan para las ROM de controladores (la ROM de Vídeo suele vivir en C000:0 o por ahí, las de SCSI creo que viven por la D), las memorias de las tarjetas de red suelen vivir por los segmentos D o E. Por último el segmento F se reserva para la ROM BIOS. Así, intentar pensar en la dirección 0 de memoria comenzando por los bancos de RAM de la placa madre. Estén o no presentes los 640 Kbytes de memoria (ya será raro) saltaremos de los SIMMs a los chips de memoria de la tarjeta de vídeo a partir de la dirección A, y haremos cosas raras hasta pasar al segmento F donde vive la ROM BIOS volviendo de nuevo a los SIMMs de la placa al superar el Mbyte (ahora ya podemos pues nuestros buses de direcciones son de más de 20 hilos). Esto es una simplificación del esquema, pues en el arranque podemos realizar una copia de la ROM BIOS (que como tal memoria ROM es más lenta) a una dirección dentro de la RAM (pues es más rápida), lo mismo con las ROM de VIDEO (si a alguien le suena la SHADOW ...)

Segmento Propósito F ROM BIOS E TARJETAS RED D SCSI C ROM VIDEO

Page 68: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.31

B VIDEO ALFA A VIDEO GRAFICO 9 SISTEMA

OPERATIVO Y PROGRAMAS DE USUARIO

... 0

Así, con el debug de MS-DOS realizar el siguiente volcado: C:\WINDOWS>debug -d c000:0 C000:0000 55 AA 40 EB 04 37 34 30-30 BA C4 03 B8 0 8 06 EF [email protected]....... C000:0010 B8 09 00 EF E9 1B 1B 00-40 01 37 5D 3B 5 D 49 42 [email protected]];]IB C000:0020 4D 20 56 47 41 20 43 4F-4D 50 41 54 49 4 2 4C 45 M VGA COMPATIBLE C000:0030 20 42 49 4F 53 2E 20 00-BB 66 20 01 B1 0 1 00 00 BIOS. ..f ..... C000:0040 33 53 01 8A 01 53 33 20-38 36 43 33 37 3 5 2F 38 3S...S3 86C375/8 C000:0050 36 43 33 38 35 20 56 69-64 65 6F 20 42 4 9 4F 53 6C385 Vídeo BIOS C000:0060 2E 20 56 65 72 73 69 6F-6E 20 32 2E 30 3 1 2E 30 . Version 2.01.0 C000:0070 37 0D 0A 43 6F 70 79 72-69 67 68 74 20 3 1 39 39 7..Copyright 199 -

Vemos el Copyright de la ROM de Vídeo. Esto puede ser útil cuando tenemos conflictos de versiones o cosas así. De la F000:0 en adelante veremos la ROM BIOS. El programa SETUP está almacenado en la ROM BIOS, luego deberemos ser capaces de localizar los mensajes (Hora, tipo de disco, etc.). El valor de la memoria alimentada por la batería (la famosa CMOS) donde se guarda la password del sistema y la cantidad de memoria, tipo de disco, etc. No se donde está ... -d F000:F400 41 4D 49 42 49 4F 53 20-30 36 32 36 30 3 0 20 20 AMIBIOS 062600 F000:F410 30 37 2F 31 35 2F 39 35-28 43 29 31 39 3 9 36 20 07/15/95(C)1996 F000:F420 41 6D 65 72 69 63 61 6E-20 4D 65 67 61 7 4 72 65 American Megatre F000:F430 6E 64 73 20 49 6E 63 2E-2C 20 41 6C 6C 2 0 52 69 nds Inc., All Ri F000:F440 67 68 74 73 20 52 65 73-65 72 76 65 64 0 0 00 00 ghts Reserved... F000:F450 28 43 29 31 39 39 36 20-41 6D 65 72 69 6 3 61 6E (C)1996 American F000:F460 20 4D 65 67 61 74 72 65-6E 64 73 20 49 6 E 63 2E Megatrends Inc. F000:F470 2C 00 00 00 00 00 00 00-35 31 2D 30 35 3 0 35 2D ,.......51-0505-

Por último si probamos a modificar el contenido de una dirección de memoria ... -e B800:0 41 ponemos un $41 en la primera fila y columna del vídeo -e B800:1 F0 ponemos Parpadeo sobre fondo blanco. e es una orden para introducir un valor en una determinada dirección.

Page 69: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.32

PROGRAMA PASCAL PARA ESCRITURA EN VIDEO ALFANUMERIC O ...fondo... ......frente....... 128 64 32 16 8 4 2 1 blink rojo verde azul nose rojo verde azul si el valor tiene 1 en la posicion del bit 128, se le anade el atributo de blinking - intermitente. los bits 64,32,16 dan el color del fondo-background el resto da el frente-foreground las siguientes declaraciones de variables son equ ivalentes todas apuntan al mismo sitio, ninguna come memori a. Estan todas encima de la memoria de vídeo. panta es un array de 2000 enteros, como cada ente ro se compone de 2 bytes el tamano teorico es de 4000 bytes o lo que es lo mismo, 80 filas * 25 columnas * 2 , ya se sabe uno para caracter y otro para el atributo. meto el caracter el primer byte de la v ariable entera y el atributo en la segunda. Para localizar la posicio n multiplico la fila por 80 y sumo la columna. panta1 es lo mismo usando un array de bytes. ahor a necesito 4000 bytes, pues como es logico el tipo byte ocupa un byte en memoria. Para localizar donde tengo que escribir ahora me tengo que mover el doble, luego multiplico la fila * 160 y la columa * 2 panta2 es el caso más pofesional. primero me inve nto un tipo de dato "car" que se compone de letra tipo char y atributo tipo byte. Cada "car" como es logico ocupa dos bytes. Declato un array de 25 fi las * 80 columnas y cada uno de ellos es del tipo "car". Ya no hago calcul os, puedo ir directamente a la fila y columna a meter la letra que me inter esa con el atri que me guste. *) type car = record letra: char; atri: byte; end; var panta: array[0..1999] of integer absolute $B800 :0; panta1: array[0..3999] of byte absolute $B800:0 ; panta2: array[0..24,0..79] of car absolute $B80 0:0; f,c,i: integer; PROCEDURE tecla; var a: char; begin repeat until ke ypressed; read(kbd,a); end; begin clrscr; (* borra la pantalla paver mejor las cosa s *) f:=10; (*fila 10*) c:=10; (*columna 10*) panta[f*80+c]:=15; (*meto un 15 en el entero*) panta[f*80+c]:=panta[f*80+c] shl 8; (*lo desplazo 8 bits a la izda para pasarl o al otro byt e, el del atributo*) tecla; (*mespero par a ver que pasa*) panta[f*80+c]:=panta[f*80+c] or 65; (*a lo que te nga le hago el or con 65 para met er una A en el byte de la letra*) (*LO SIENTO, ES JUSTO AL CONTRARIO DE COMO LO CON TE EN CLASE*) tecla; f:=1; c:=10; panta1[f*160+c*2]:=65; (*una A*) panta1[f*160+c*2+1]:=128+4; (*ojo, ver que he s umado 1 para

Page 70: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.33

ponerme el donde el atributo pongo blink + rojo *) tecla; for i:=0 to 1999 do with panta2[i div 80, i mod 80] do begin atri:=i mod 255; (* doy todos los atri butos posibles *) letra:=chr(i mod 255);(*lleno la pantalla d e caracteres ascii *) end; tecla; end.

Page 71: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.34

ERRORES DE CÁLCULO Este programa hay que ejecutarlo compilandolo con tres compiladores distintos: TURBO, TURBO87, TURBOBCD Turbo maneja reales de 6 bytes con la precisión ya explicada. Turbo87 usa el coprocesador matematico, siendo su precision mucho mayor al usar 8 bytes para reales TurboBCD usa reales en BCD. El programa no es mio, como puede verse, venía como ejemplo en el propio pascal.

Program PrecisionDemo; { BCD DEMONSTRATION PROGRAM Version 1.00 A This program demonstrates the increase in precis ion gained by using TURBOBCD. Monetary calculations done i n floating point lose precision because there is no precise binary representation for any power of 1/10 (.1, .01, e tc). Binary coded decimals perform all calculations in decim al and thus are more precise for financial applications. INSTRUCTIONS 1. Compile and run this program using TURBOBCD.C OM. Note that the results are all zero. 2. Compile and run this program using TURBO.COM and compare the results with (1) above. } Begin ClrScr; WriteLn('Each of the following calculations shoul d result in zero provided'); WriteLn('you compiled this program using TURBOBCD .COM:'); Writeln; WriteLn('(((1234.99 - 1235.0) * 10000.0) + 100.0) * 100000.0 = ', ((1234.99-1235.0)*10000.0+100.0)*100000. 0:1:20); WriteLn('((1/5) * 5) - 1 = ', 1/5*5-1:1:20); WriteLn('1.34 + 1.66 - 3.0 = ', 1.34+1.66-3.0:1:20); End.

Compilado con Turbo87 y TurboBCD todas las operaciones dan 0 (cero). Sin embargo, compilado con Turbo, curiosamente no dan 0 (cero). ¿Por qué ...?

Page 72: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.35

1 1 . D I S P O S I T I V O S D E E N T R AD A/ S AL I D A

11.1 CONTROLADORAS DE DISPOSITIVOS IDE Y EIDE La controladora de dispositivos IDE Integrated Device Electronics se usa habitualmente para conectar discos. Permite conectar dos discos en cada controladora, uno denominado MAESTRO y otro llamado ESCLAVO. La controladora IDE pide como IRQ la 14, pudiéndose instalar otra controladora adicional usando la IRQ 15. En este caso la primera controladora será la primaria y la otra la secundaria, que también permite conectar dos dispositivos (maestro y esclavo). El conjunto de estas dos controladoras es lo que ahora se define como EIDE que además permite modos de acceso más rapidos. Mientras no se diga lo contrario, el BOOT ROM buscará un sector de arranque en la controladora primaria disco y dentro de él en el disco maestro. Los BOOT ROM modernos nos permiten arrancar de cualquier dispositivo. SCSI El SCSI (Small Computer System Interface) es un controlador que permite manejar hasta 8 dispositivos. En realidad esto es mentira, por que la propia placa controladora se com-porta como un dispositivo. Cada uno de estos dispositivos puede ser: Un disco duro, un CD-ROM, un scanner, un disco magneto óptico, etc. En teoría, son fáciles de configurar. Cada dispositivo recibe un número, entre 1 y 7. El número 0 se reserva para la controladora. (O el 7, no recuerdo ahora). La instalación si es sencilla. Existen en la variante externa o interna. SCSI Estándar

El gráfico anterior muestra como es en su configuración externa. La configuración interna es igual, pero los componentes se encuentran dentro del ordenador. Se puede mezclar dispositivos externos e internos. Por ejemplo, el disco duro y el CD-ROM serán normalmente internos, pero el scanner será externo.

Page 73: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.36

Ademas de la ventaja de poder manejar 8 (7) dispositivos, lo realmente importante consiste en su funcionamiento sin necesitar de la atención de la CPU. Así se descarga de trabajo a la CPU. Una placa controladora SCSI cuesta sobre las 15.000 pts. (Adaptec) contra las 3.000 pts que cuesta una controladora EIDE. Los dispositivos SCSI son más caros que los IDE. Así, que sólo se suelen instalar este tipo de dispositivos en servidores verdaderamente importantes. Existen varias normas SCSI. La SCSI 2, Fast SCSI, WIDE SCSI, WIDE SCSI 2. Cada vez más rápidos, con más dispositivos por canal (15 o más en vez de los 8 de estándar) etc.

11.2 DISCOS DURO Consiste en un número determinado de discos (platos) uno encima del otro unidos por un eje que giran solidarios (todos a la vez). Cada disco (plato) es leído/grabado por su cabeza lectora/grabadora, por lo que habrá 2*Numero_platos = cabezas lectoras pues cada disco se lee por la cara de arriba y la de abajo. El disco duro gira constantemente incluso si no se esta utilizando a una velocidad que oscila sobre las 3400 r.p.m. a 10.000 r.p.m. La grabación de los datos se realiza en el sentido de rotación de los discos. Las altas velocidades de rotación crean en el interior del disco duro (que esta herméticamente cerrado) un plano de sustentación para las cabezas lectoras que permiten que estas "planeen" sobre la superficie del disco sin tocarlo. Esto permite que se puedan grabar y leer muchas veces la información contenida en el disco, pues de otra manera, si las cabezas rozaran con la superficie del disco se degradaría rápidamente. La velocidad tan rápida de giro implicaba que cuando se quería leer el siguiente sector éste ya había pasado por debajo de la cabeza lectora y se tenía que esperar a otra rotación del disco para que volviera a pasar por debajo. Este problema se elimino con el interleave (intervalo) de tal forma que el sector que lógicamente seguía a otro no era el siguiente físicamente sino dos o tres más adelante. La determinación de este intervalo depende de la velocidad de rotación, tipos de ficheros, etc, pero una mala elección del intervalo puede hacer que un disco sea demasiado lento. Para ello se realizan pruebas de tiempo en un entorno real de trabajo. Cuando compramos un disco, éste no es más que una superficie magnética. Para que pueda ser utilizado por cualquier ordenador es necesario darle alguna estructura. El proceso de la creación de la estructura sobre cualquier disco se divide en dos partes. La primera de ellas es dividir el disco en porciones, comprobando que cada una de éstas no sufre ninguna anomalía. Este es el formato de bajo nivel.

Page 74: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.37

La segunda consiste en asignar a cada una de estar porciones del disco un determinado significado. Formato lógico o de alto nivel. Los disco son leídos mediante unas cabezas lectoras que se desplazan desde al exterior al interior del disco. El movimiento de las cabezas es controlado por un motor eléctrico de paso incremental. Esto quiere decir que el movimiento no es continuo, sino a base de pequeños saltos. A cada uno de estos saltos que puede realizar el motor se denomina CILINDRO.

cilindros

cabeza

sector

Cilindro

Peine de cabezas

Platos

Cada uno de los cilindros se divide en partes más pequeñas denominados sectores. El tamaño del sector se ha fijado en 512 bytes (antes fueron de 256). Dependiendo de la densidad del disco un cilindro tendrá más o menos sectores. Si la densidad es pequeña el sector de 512 será físicamente mayor que en discos de densidades mayores. Así los cilindros tendrán más o menos sectores dependiendo de la densidad de grabación. Para leer un determinado sector de un cilindro, por ejemplo el 245, deberemos decir al motor que avance 244 pasos (el primer cilindro es el 0 y no hace falta ningún avance para leerlo). Una vez la cabeza allí debemos especificar que sector queremos leer. Para ello solo esperamos que el giro del disco lo sitúe debajo de la cabeza. Si alguien se pregunta como se sabe donde empieza y termina un sector, se debe a que el motor que hace girar el disco divide cada giro en x pasos. Cada paso se asigna a un sector. Este el formato físico. Observar que depende de: Densidad de grabación, pasos de las cabezas, contador de giro del disco. Es decir, parámetros físicos. Esto a nosotros no nos sirve de gran ayuda, excepto para averiguar alguna característica del disco: Caracteristicas de los discos. Número de cabezas. Nos informará del número de platos que contiene el disco. Número de cilindros. Cortes concéntricos que permite. Zona de aterrizaje. Donde deben posarse las cabezas al desconectar la corriente. Pistas por cilindro. Sectores por pistas.

Page 75: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.38

Tiempo medio de acceso. Se realiza una prueba de velocidad accediendo aleatoriamente a un número de sectores. Se mide en milisegundos.

Tiempo pista a pista. Cuanto tarda en posicionarse en la siguiente pista. MBTF. Es el tiempo tolerable de horas que está funcionando sin

producir ningún error. (Margin Between Tolerance Failure). Velocidad de trasferencia. Depende del interface utilizado y la velocidad de rotación. Capacidad del disco: Número máximo de bytes que permite almacenar el disco.

(Depende de la densidad de grabación, tamaño del disco, número de platos, etc.).

DISCO FLEXIBLE Su funcionamiento es muy parecido al del disco duro, excepto que solo giran cuando se les necesita y las cabezas en el proceso de lectura/escritura rozan con la superficie del disco. Esto supone que si a un disco flexible se le da mucho trabajo acabara por estropearse. CDROM, CDR, CDRW Son las siglas de Compact Disk Read Only Memory. El abaratamiento de los lectores láser de disco compacto (los de música) y el hecho de que la información en ellos almacenado este en forma digital ha permitido aplicar estos lectores al mundo de la informática. La "música" en estos discos esta en forma digital, codificada en forma de microperforaciones en un soporte. El lector láser permite distinguir la ausencia o no de perforación formando con muchas lecturas una onda analógica que amplificada "suena". Si en vez de convertir la información de digital a analógica la dejamos como digital podemos entenderla como una sucesión de ceros y unos que el ordenador entiende perfectamente. Ventajas: - Es removible. Podemos tener todos los discos que queramos. - Capacidad. Sobre los 600 Mbytes por disco - Tamaño. (portabilidad). - Fiabilidad. No se borra con el paso del tiempo. Inconvenientes:

- Tiempo de acceso. Gira más despacio que un disco duro. - Solo puedo leer, no se puede grabar en él.

Las unidades CDR/RW actuales graban a velocidades inimaginables hace 5 o 6 años. Los precios de los CD grabables tambien han sufrido una descenso increíble. En el año

Page 76: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.39

1996 un CDR valía 1500 pelas, hoy (año 2003) valen 50 pelas (0.30 €) TREINTA VECES MENOS. DVD W.O.R.M. ASÍ SE LLAMABAN LOS CDR Son la siglas de Write One Read Many. Podemos escribir sobre el disco, pero el espacio ocupado una vez grabado solo puede ser leido, es decir, no permite la sobreescritura. Viene a ser como si tuvieramos la grabadora del compact disk. Esto es debido, al usar el metodo de la microperforación, a que al realizar el agujero luego no podemos taparlo. Se utilizan habitualmente para archivos que no se modifican a menudo. MAGNETO ÓPTICOS. Es una especie de combinación del disco duro normal más el compact disk. Utiliza una superficie especial que combinando el haz del laser más un campo magnético permite simular una perforacion pero que puede sobreescribirse. El tiempo de grabacion es muy lento debido a que primero pone a ceros la zona que va a ser grabada usando una polaridad del campo magnetico más el haz del laser, luego invierte la polaridad y graba los unos. Se pueden usar por las dos caras pero hay que darle la vuelta manualmente. LIBRERÍA ÓPTICA Simplemente consiste en un conjunto de discos magento ópticos de mayor tamaño que mediante un brazo articulado permite escoger un disco determinado e introducirlo en el dispositivo de lectura/escritura. Exactamente igual que las máquinas de discos de los bares.

11.3 CINTAS El lector/grabador de cintas magnéticas utiliza como es de esperar el soporte de cinta magnética (de cajón). La cinta es una tira muy larga de plástico flexible (para poderla enrollar) a la que se pega una substancia magnética, en un principio óxido ferroso. Actualmente se utiliza otro tipo de substancias magnéticas en las que son más estables sus campos eléctricos además de permitir almacenar más información por unidad de superficie. Podemos distinguir dos modelos distintos de cinta: BOBINA. Se utiliza normalmente en grandes sistemas. Son las que aparecen en las películas. Contrariamente a lo que la gente cree, la unidad lectora de cinta de bobina es tremendamente sofisticada y muy veloz a la hora de avanzar o retroceder la cinta. La grabación de los bits se realiza de forma vertical, dependiendo del número de pistas, se leen más o menos bits de una tacada.

Page 77: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.40

CARTUCHO. Su principal cometido es servir de copia de respaldo o Back Up de la información contenida en un disco duro. Debido al funcionamiento de un tipo de estas cintas también se les denomina STREAMER (de chorro) por grabar los datos de forma continua. DAT-DDS

Hasta hace poco la capacidad de estas cintas era de 40 a 120 MegaBytes, con la nueva tecnología DAT (Digital Audio Tape) se consiguen capacidades de 2 y 4 GigaBytes en una cinta un poco más gorda que la de un casete normal. Con compresion se llega a 8 Gb en una cinta de 120 metros de largo por 4mm de ancho (¡!). El nombre comercial de estas cintas es DSS (Data Storage System). Características de las cintas magnéticas a) Anchura de la cinta. Habitualmente 1/2" para las de bobina y 1/4" para las streamer. b) Número de pistas. Nos indicará en número de bits que se leen en cada paso de cinta. Las de 1/2" tienen de 20 a 24 pistas y las de 1/4" de 4 a 9. c) Capacidad de almacenamiento. La cantidad total de bytes que pueden almacenar. d) Densidad de grabación. Es el número de bits que pueden almacenarse en un pulgada (b.p.i.) bits per inch. Aprox. 8000 b.p.i. en los streamers. e) Velocidad de la cinta. Se miden en pulgadas por segundo. Dependen del dispositivo que se utilice. f) Velocidad de transferencia. Es el resultado de multiplicar la velocidad de la cinta por su densidad de grabación. g) Interface. Medio de comunicación de la unidad de cinta con la C.P.U.

11.4 IMPRESORAS Y TRAZADORES matriciales margarita tinta laser ver memorias, emulaciones, etc sublimación trazadores o plotters Lenguajes de programación de impresora, PCL, POSTSCRIPT, ESC/P, etc

11.5 RESTO DE DISPOSITIVOS

Page 78: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.41

1 2 . C O M U N I C AC I O N E S ( R S - 2 3 2 , C E N T R O N I C S , U S B )

12.1 RS232. COMO FUNCIONA EL COM1 DE MI ORDENADOR. Hasta ahora no se ha estudiado el medio por el cual el ordenador es capaz de sacar información al exterior. Estos son los métodos de comunicación. Existen dos métodos en la transmisión de datos. Serie y paralelo. Serie. Los bits que componen la información se envían uno tras otro. Sólo un bit por unidad de tiempo. Paralelo. Puede enviarse más de un bit por unidad de tiempo. El protocolo RS232 es un protocolo serie. Pensemos en un mensaje enviado de esta forma:

000100101001010100101010111101010100101101010101001 01010

El emisor sabe perfectamente lo que manda, pero ¿cómo lo interpretará el receptor?. ¿Cada cuántos bits forman una unidad (ASCII de 7 bits o de 8, baudot de 5)? Supongamos que el emisor y receptor se ponen de acuerdo en este dato. Por ejemplo 8 bits de datos.

000100101001010100101010111101010100101101010101001 01010 J A C I N T O (un poner)

Ya sabe distinguir una unidad de la siguiente. Pero ¿y si por error se pierde un bit?. El receptor seguirá su cuenta y el mensaje recibido no tendrá nada que ver con el original

001001010010101001010101111010101001011010101010010 1010? P E D R O S ¿ (un poner)

Para evitarlo se utilizan los bits de parada (1 o 1,5 o 2) que marcan el comienzo de una unidad y la siguiente. De esta forma si el receptor lleva la cuenta y recibe un bit de parada cuando no le corresponde habrá detectado el error. Rechazará el mensaje y solicitará de nuevo su envío. Esto no es infalible, sólo pesar que un 1 se cambia por 0. Para eso se usará el bit de paridad. Que de nuevo no es infalible, un 1 y 0 se intercambian su posición. Pero no es ahora el momento para estudiar métodos de detención de errores.

00010010 •10010101 •00101010 •11110101 •01001011 •01010101 •00101010 • J A C I N T O

Donde •••• es el bit de parada. A esto es a lo que se llama transmisión ASÍNCRONA. Vale. ¿Cómo se conectan los periféricos usando RS232? CONECTORES Será donde enchufemos el cable que conecta dos periféricos RS-232. Existen de dos tamaños.

Page 79: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.42

SUBd de 9 y 25 pins. Son los conectores que encontramos por la parte de atrás del ordenador. Y donde habitualmente conectamos el modem. Del lado del ordenador deben ser siempre MACHO. Cada uno de los pins tiene una misión, en el cuadro siguiente se resume cada uno de ellos y donde se encuentra según el tipo de conector. PIN OUT DE RS232.

D-25 Pin D-9 Pin Nombre Función En cristiano Pin 2 Pin 3 TD Transmit Data Mandar datos Pin 3 Pin 2 RD Receive Data Recibir datos Pin 4 Pin 7 RTS Request To Send El Pc quiere mandar

Pin 5 Pin 8 CTS Clear To Send El modem puede mandar

Pin 6 Pin 6 DSR Data Set Ready El modem ha recibido datos

Pin 7 Pin 5 SG Signal Ground Tierra Pin 8 Pin 1 CD Carrier Detect Hay tono

Pin 20 Pin 4 DTR Data Terminal Ready

El Pc puede recibir

Pin 22 Pin 9 RI Ring Indicator Están llamando CÓMO FUNCIONA En primer lugar la norma RS232 distingue dos elementos. El DTE o Data Terminal Equipment (Pc) y el DCE o Data Comunication Equipment (modem)

Cuando el modem (DCE) descuelga, detecta si hay tono (portadora). En este caso se activa la línea CD. El Pc (DTE) sabe ahora que el modem está activo Si el Pc quiere mandar un dato pincha la linea RTS El modem responde activando CTS El Pc empieza a mandar datos por TD Cuando el modem ha recibido un dato Informa al Pc activando DSR El Pc responde con DTR El modem empieza a mandar datos por RD

Page 80: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.43

DTE PIN PASO PIN DCE CD 1 1 1 CD RD 2 C 2 RD TD 3 4 3 TD DTR 4 B 4 DTR SG 5 5 SG DSR 6 A 6 DSR RTS 7 2 7 RTS CTS 8 3 8 CTS RI 9 9 RI El envío de datos se realiza utilizando los siguientes voltajes: 1 lógico. Entre –3 y –25 voltios 0 lógico. Entre +3 y +25 voltios Cualquier valor entre +3 y –3 queda indefinido CÓMO CONECTAR DOS DTE SIN SUS DCE. NULL MODEM Se trata de engañar al PC haciéndole creer que el módem esta siempre vivo y listo.

Fijaros que cuando se activa la señal DTR llega a su mismo DSR . Y cuando manda RTS (quiero enviar) se autoresponde que hay línea (CD) y que el módem está libre (CTS). Este cable está pensado para ahorrar hilos. Puede hacerse completo llevando cada hilo hasta el otro ordenador. No se usa el pin 9 RI pues no hay llamada realmente. Ambos equipos deben estar configurados a la misma velocidad, etc. Ahora pensar los números. El pin 2 con el 3 ... Teniendo en cuenta que existen los conectores de 25 y 9. HANDSHAKING Puesto que podemos conectar un Pc a un modem podrá ocurrir la siguiente circunstancia. El Pc manda datos al modem más deprisa que este último es capaz de mandarlos por la línea telefónica. Debe existir un método para que el modem informe al Pc de que pare, que si sigue mandando datos los va a perder. Esto es el HANDSHAKING. Existen dos métodos:

Page 81: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.44

Software. Cuando el modem no tiene espacio para recibir más datos del Pc le manda un carácter XOFF (ASCII 19). El Pc deja de mandarle datos hasta que el modem le mande un XON (ASCII 17). Hardware. Es sencillo, si el Pc quiere mandar datos activará la línea RTS pero si el modem no puede simplemente no responde CTS. Se deduce que si no tenemos los hilos necesarios entre Pc y modem, como el ejemplo del cable Null Modem, deberá usarse el método software (ahorramos hilos pero generamos más tráfico). En lo posible usar el método Hardware. LA UART

Es el circuito encargado de la comunicación RS232. Universal Asynchronous Receiver Transmitter. Convertirá los 8 bits del dato que se quiere enviar (ver en el gráfico las patas D0 a D7) en los bits que se mandarán por la pata RD. En la recepción recibirá los bits por la pata RD y una vez haya quitado los bits de parada, comprobado la paridad, juntará los 8 bits del dato y se los dará a la memoria por las patas D0 a D7. Según el código de UART podremos usar unos valores de velocidad u otros, tendremos posibilidad de usar canal DMA, etc. IRQ Estos circuitos usan una interrupción para hablar con la CPU. Si tengo dos puertos serie tendré dos UART y gastaré dos interrupciones. Está estandarizado que la primera UART (COM1) use la IRQ 4 y la dirección I/O 3F8. La COM2 usará IRQ 3 con I/O 2F8. Es importante mencionar que los términos COM1 y COM2 son de MicroSoft. Otros sistemas operativos, como Unix, llaman al Puerto 1: /dev/tty1a y /dev/tty2a al Puerto 2. Linux los llama /dev/cua1

Para más información visitar los sitios: www.beyondlogic.org/serial www.rad.com/networks/1995/rs232

Page 82: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.45

12.2 CENTRONICS. PUERTO PARALELO. POR FOTOCOPIAS EN INGLES!

12.3 USB OJO 1.0 Y 2.0

12.4 FIREWIRE. El bus IEEE1394 (también llamado Firewire, iLink o terminal DV) es un bus serie de alta velocidad complementario del USB que mejora la conectividad de dispositivos incluyendo videocámaras, dispositivos de almacenamiento y periféricos. Debe cohexistir pacíficamente con USB quedando éste para periféricos de menor ancho de banda. No son compatibles . Las diferencias entre ambos buses las podeís encontrar : 1394/FireWire/i.Link USB Maximo número de disposititivos

62 127

Inserción en caliente (enchufar sin resetear)

Sí Sí

Máx. longitud del cable entre dispositivos

4,5m 5m

Velocidad de transferencia 400mbps (50MB/sec) 12mbps (1.5MB/sec)

Velocidad en el futuro

800mbps (100MB/sec) 1Gbps+ (125MB/sec+)

version 2.0 hasta 460MB

Compatible Macintosh Sí ? Conexión de dispositivos Internos

Sí No

Periféricos típicos

-Videocámaras DV - Cámaras de alta resolución -HDTV - Discos duros - DVD-ROM Drives - Impresoras - Escáneres

- Teclados - Ratones - Monitores - Joysticks - Cámaras de baja resolución - CD-ROM Drives de baja velocidad - Modems

El bus Firewire ( iLink, DV ), aunque similar, no es compatible con el USB. Ha sido adoptado por numerosas compañías y se vislumbra un creciento espectacular en su implementación. Microsoft e Intel lo han declarado como "obligatorio" en su especificación PC98. Por tanto es de esperar que en poco tiempo esté integrado en la propia placa base del ordenador. Microsoft lo soporta de modo natural en Windows 98, pero Intel se niega a sacar chip set Firewire : prefiere sacar el USB-2 para no pagar un duro en royalties. Este bus fue desarrollado por Apple para su gama de ordenadores con la idea de sustituir al bus SCSI. Junto con Thomson tienen una patente en Reino Unido, pero sólo aplicable a los fabricantes de chips y en unas condiciones bastante favorables. A finales de 1995 el IEEE editó el actual estándar 1394. Su filosofía es similar al USB, soportando Plug&Play, hasta 63 dispositivos e inserción sin necesidad de apagar el equipo. Multiplica el ancho de banda llegando por el momento a los 400 Mbps (el USB 1.0 está limitado a 12 Mbps). También proporciona hasta 15 W de potencia a los dispositivos conectados a él.

Page 83: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.46

El bus es multimaster, con asignación dinámica del número de nodo conforme son añadidos a la cadena. Cada nodo actúa como un repetidor, permitiendo formar topologías en árbol. Debido a la alta velocidad en el bus, la distancia máxima del cable entre nodos, es de 4.5 m. Esta limitación viene dada básicamente por la atenuación de la señal en el cable. Como se pueden tener hasta 16 dispositivos en una rama, la distancia máxima de la cadena llega a los 72 m. El protocolo es tanto asíncrono como isócrono. Esto significa que es posible negociar tanto un ancho de banda fijo (para dispositivos como las cámaras DV que necesitan una transferencia constante y en tiempo real) como variable (para impresoras, escáners, etc) simultáneamente por el mismo bus. El conector se ha heredado de una famosa consola de juegos. Puede parecer raro, pero este conector ha demostrado su fiabilidad y comodidad durante años. Además, es barato. Normalmente, las tarjetas Firewire llevan un conector para 6 cables: 4 de señal (en modo diferencial) y dos más para alimentar los dispositivos externos (algunas tarjetas Firewire, como la Digital Origin IntroDV vienen con un conector de 4 pines y un cable de 4 pines por ambos extremos. No es mala, idea ya que ese mismo cable puede valer para interconectar dos cámaras miniDV). Las cámara de vídeo, sin embargo, montan un conector de 4 pines , ya que no necesitan ser alimentadas externamente. Por tanto, se necesita un cable de "6 a 4 pines" para conectar una Firewire a una miniDV. Pero si queremos conectar dos cámaras miniDV (una de ellas con capacidad de grabación) se necesita un cable de "4 a 4 pines". Para clarificar conceptos, lo primero que hay que decir es que una interface Firewire es precísamente eso: una interface de transferencia de datos. Se suele usar la palabra "capturadora Firewire", pero el término no es correcto. No se realiza "captura" si no transferencia. La principal ventaja para el mundo del vídeo es la transferencia de audio y vídeo sin merma de la calidad y sin pérdida de "frames" o desincronización. - Las tarjetas Firewire son interfaces de transferencia de los datos (audio y video) grabados en nuestra miniDV al ordenador. Tambien permiten controlar las funciones de avance, rebobinado, etc. Actualmente todos los modelos son compatibles OHCI (open host controler interface) lo que las hace a todas virtualmente iguales (ya que deben pasar rigurosos test para acceder a la certificación de compatiblidad OHCI). Todas hacen uso del mismo driver OHCI hecho por Microsoft (por tanto, para lo bueno y para lo malo van a ser igual de compatibles con las cámaras). Además de cámaras, se pueden conectar dispositivos externos de muy alta velocidad, tal como discos duros, CD_RW, scanners, etc. 12.5 Todo lo de redes va en su propio módulo

Page 84: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.47

AU L A T AL L E R En primer lugar habrá que definir las responsabilidades del profesor dentro del aula. En primer lugar definiremos como debe quedar el aula, en cuanto al hardware y software instalado. Es decir, como debe encontrarse el aula cuando un profesor solicita su uso. Propongo que definamos una estructura básica:

a) Configuración BIOS b) Sistema operativo c) Usuarios d) Configuración de red e) Aplicaciones instaladas

Digo esto para que los profesores que usemos el aula reservemos el tiempo necesario para devolver los equipos a su estado original.

Page 85: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.48

AU L A L AB O R AT O R I O A continuación se describen las prácticas a realizar en el Aula 1. Debido al estado actual del Aula es más urgente realizar aquellas relacionadas con el cableado de la red, su comprobación, instalación eléctrica etc. Por ello se propone el cambio en el orden cronológico del desarrollo de las prácticas y la inclusión de nuevas prácticas no recogidas en el documento original. Conjuntamente desde el módulo de RAL y SIMM se llevarán a efecto. Asociadas a la unidad de competencia 1 IMPLANTAR Y ADMINISTRAR SISTEMAS INFORMÁTICOS EN ENTORNOS MONOU-SUARIO Y MULTIUSUARIO en cuanto a su realización Gestionar la ejecución y/o renovación de la instalación de los ordenadores y periféricos atendiendo a los servicios requeridos por los usuarios y aprobados por la dirección Y a su evaluación Los requerimientos de corriente y temperatura y las posibilidades de ampliación y conexión a otros sistemas y canales de comunicación son identificados antes de abordar su instalación recogidos en el Currículo de ASI Son las siguientes:

Page 86: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.49

PARA EL MÓDULO DE SISTEMAS 1. VERIFICACIÓN DE LA INSTALACIÓN ELÉCTRICA El propósito de esta práctica es el cálculo de la potencia máxima demanda por el sistema informático. Teoría: Ley Ohms Práctica: Sobre un supuesto, realizar el cálculo de la potencia máxima demandada. Elección de tramo de potencia eléctrica proporcionado por la compañía suministradora Verificación en el Aula 1 de los elementos eléctricos (Disyuntores y Limitadores) y su dimensionamiento al sistema actual Comprobación de la corriente proporcionada Material y desarrollo: . Para los puntos a) y b) sólo es necesario la pizarra. Pero sería más atractivo el diseño de una hoja de cálculo (Excel o similar) donde se introdujeran los datos de los consumos de los elementos informáticos y su cantidad y obtengamos como resultado la potencia máxima y tramo de contratación. . Para los puntos c) y d) sería necesario disponer de un Osciloscopio, pinza amperimétrica y polímetro. Al no disponer de los dos primeros simplemente tomaremos lectura de la tensión y comprobaremos que no oscila, o si lo hace es en valores pequeños. Comprobaremos al mismo tiempo que los limitadores eléctricos están en el rango apropiado. Tiempo necesario: Teoría: 1 hora Practica: 1 Hora Habría que sumar el tiempo para el desarrollo de la hoja de cálculo. En cualquier caso no es necesario el Aula 1 para ello. Enlaza esta práctica con: SEGURIDAD FÍSICA EN EL SISTEMAS INFORMÁTICO. ELECTRICIDAD. SAI, GRUPOS ELETRÓGENOS Y DOBLE APORTE ELÉCTRICO.

Page 87: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.50

2. COMPROBACION DE RANGOS DE TEMPERATURAS (HABRÍA Q UE INCLUIR HUMEDAD RELATIVA) Continuando con la unidad de competencia anterior es necesario comprobar si el espacio que alberga el sistema informático cumple con la especificaciones de temperatura. La unidad de competencia sólo hace referencia a la temperatura, considero necesario también prestar atención a la humedad relativa, siendo ésta mucho más importante a mi juicio, sobre todo si puede producirse condensación. Teoría: Análisis de los manuales de especificaciones técnicas donde se reflejen los valores de temperatura y humedad. Tanto para funcionamiento como almacenamiento. Práctica: Toma de datos de máximas y mínimas Toma de datos de humedad relativa. Material y desarrollo: Será necesario disponer de un termómetro con memorias para máximas y mínimas. Al mismo tiempo se necesita un higrómetro para la lectura de humedad, con máximas y mínimas. Existen en el mercado pequeñas estaciones meteorológicas, digitales para más señas, por un precio de 30€. Almacenan valores máximos y mínimos del día, de la semana o total. Al mismo tiempo, mediante sensores por radiofrecuencia, realizan la medición en otras parte del edificio o espacio. Mismo caso para los higrómetros. El desarrollo consistirá en realizar la lectura de máximos, mínimos y porcentaje, comprobando si en algún momento se sobrepasa los valores admitidos por los elementos informáticos, y si es posible, analizar la fecha y hora para deducir si se producen en periodo de funcionamiento o almacenamiento.

Page 88: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.51

3. COMPROBACIÓN DEL CABLEADO DE RED EXISTENTE Sin continuidad, pero por la necesidad antes mencionada en necesario el desarrollo de esta práctica. Teoría: Elementos a nivel físico. Cables Rosetas Paneles de conexionado Conectores Normas para el correcto tendido de cable Longitud máxima de la conexión Protección a interferencias y ruido Medios y herramientas Analizadores de dominio Comprobadores de cable Práctica: Identificación del cableado existente Numeración de los elementos Comprobación de la conexión física correcta Material y desarrollo: Se comprobará que el cable cumple con las normas de transmisión exigidas. Categoría 3, 5, 5E, etc. En función de las condiciones de ruido verificaremos si se trata de cable UTP o STP además de si se trata de cable rígido (canaletas ocultas) o flexible (canaletas vistas) Verificaremos que la longitud del segmento del cable está dentro de los valores admitidos. El cable lleva serigrafiado el metro del rollo. Leyendo este valor al extremo y el final, realizando la resta obtendremos la longitud del segmento. Destacar como el ojo engaña cuando el cable realiza su trayectoria por canaletas ocultas, siendo su longitud mucho mayor que la esperada. Por último comprobaremos el conexionado en ambos extremos del cable con el téster. Para ello es necesario dos alumnos por cable, uno situado a cada extremo del cable (si la distancia es muy grande será necesario de algún walkie, no es nuestro caso). Cuando el alumno que dispone del emisor da la orden se comprueba que los testigos del tester lucen acompasadamente (nuestro tester es así de cutre). Aún así, el cable puede no estar “perfectamente” fabricado al no trenzar los pares correspondientes. Para ello es necesario observar el orden de los colores en el conector y comprobar si es correcto (ver siguiente práctica). Para el desarrollo de la práctica sólo es necesario disponer de un comprobador de cable. El que disponemos en el aula, el más barato, necesita de dos personas cuando los extremos están alejados. Existen otros, evidentemente más caros, en lo que una sola

Page 89: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.52

persona puede realizar la comprobación (disponen de un display que informa de cruces o cables sin conexión).

Page 90: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.53

4. REALIZACIÓN DE CABLE UTP (LATIGUILLO O PATCH) Al mismo tiempo o a posteriori de la práctica de instalación de los Switch del Aula 1 (módulo RAL), realizaremos los latiguillos para conectar cada equipo al Switch o Hub existente. Al conectar un equipo transmisor de datos con un elemento “pasivo” el cable a realizar será directo. Teoría: Elementos pasivos en la transmisión de datos 10/100BaseT Cables Conectores RJ45 Rosetas Paneles de conexionado Normas Identificación de los pares en el cable Identificación de los pines en el conector Norma 568 A y 568 B Identificación de las herramientas Crimpadora Comprobador del cable Práctica: Cortado del cable Pelado Agrupación de los pares Insertado en el conector Crimpado Comprobación del cable Material y desarrollo Comprobaremos el tipo de cable (categoría, blindaje, etc). Determinaremos la longitud del segmento a realizar comprobando que tenemos cable suficiente además de todos los elementos necesarios (crimpadora, conectores y comprobador). Identificamos las herramientas y cada uno de los elementos. En el caso de la crimpadora la cuchilla de corte, la de pelado y la maza de engastar. En el caso del conector, las patillas y su numeración además de la lengüeta de presión. En el comprobador el emisor y receptor y sus testigos. Procedemos a la realización del cable. Cortamos, pelamos, ordenamos los pares según la norma elegida (568 A o B) y engastamos. Probamos el cable. Es necesario reseñar que se necesita cierta habilidad para colocar los pares en el orden correcto y presentarlos ordenadamente en el conector antes de su engastado. Por ello, con toda seguridad, se cometerán errores que harán el cable inservible. En este caso cortaremos de nuevo (perdiendo el conector RJ45) y empezaremos en ese extremo. El material necesario, ya mencionado, será: Cable

Page 91: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.54

Crimpadora Comprobador Tantos conectores RJ45 como cables * 2. Teniendo en cuenta que al cometerse errores desperdiciaremos alguno.

EIA/TIA 568A & 568B STANDARD The cable color code is the 568B standard on each end of a straight-through 10/100BaseT cable. If a crossover cable is needed, use the 568A standard on one end and 568B on the other end.

Crossover Cable

RJ-45 PIN RJ-45 PIN 1 Rx+ 3 Tx+ 2 Rc- 6 Tx- 3 Tx+ 1 Rc+ 6 Tx- 2 Rc-

Straight Through Cable

RJ-45 PIN RJ-45 PIN 1 Tx+ 1 Rc+ 2 Tx- 2 Rc- 3 Rc+ 3 Tx+ 6 Rc- 6 Tx-

Page 92: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.55

Use a straight thru cable assembly,568B on both ends when connecting Hub to Xcvr or NIC Card. When connecting hub to hub, Xcvr to Xcvr, or NIC to NIC, the wires must crossover at the opposite end of the cable assembly,use the 568B on one end, 568A on the other end. INTERCONNECTING YOUR HUBS, TRANSCEIVERS, AND NIC CA RDS A crossover cable is required when connecting a Hub to a Hub, or a Transceiver to Transceiver, or NIC to NIC card, or Transceiver to NIC card. When connecting a Hub to a transceiver or NIC card, a straight through cable is always used. Please Note: Some products are equipped with internal switches that can internally cross the twisted pairs.

10BASE-T CROSSOVER WIRING When connecting two twisted-pair MAUs together over a segment, the transmit data pins of one eight-pin connector must be wired to the receive data pins of the other, and vice versa. The crossover wiring may be accomplished in two ways: with a special cable or inside the hub. For a single segment connecting only two computers you can provide the signal crossover by building a crossover cable, with the transmit pins on the eight-pin plug at one end of the cable wired to the receive data pins on the eight-pin plug at the other end of the crossover cable and vice versa.

FIGURE 5.2 10BASE-T crossover cable However, when you are wiring multiple segments in a building it's much easier to wire the cable connectors "straight through," and not worry about whether the wires in the jumper cables or other twisted-pair cables in your building have been correctly crossed over. The way to accomplish this is to do all the crossover wiring at one point in the system: inside the multiport hub. The standard recommends that the signal crossover be done internally in each hub port. If the crossover function is done inside a hub port, then the standard notes that the port should be marked with an "X."

Page 93: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.56

5. REALIZACION DE CABLE UTP (CRUZADO) El desarrollo de esta práctica es idéntica a la anterior, excepto que el cable resultante será cruzado (para conectar directamente dos equipos transmisores entre si o dos elementos pasivos entre si caso de no disponer de botón crossover que permite realizar el cruzamiento de forma interna) 6. IDENTIFICACION E INVENTARIO DEL HARDWARE EXISTENTE Para la correcta instalación del sistema informático es necesario identificar para cada máquina sus elementos con propósito de recopilar los drivers y documentación para su configuración o mantenimiento posterior. Para ello elaboraremos una hoja de captación de datos donde el alumno refleje los elementos del ordenador, versión, etc. Cuando sea posible hacerlo de forma lógica usando herramientas propias de diagnóstico así se hará. Si no es posible se abrirá la máquina para su identificación. Una vez identificados todos los elementos, procedemos a la búsqueda de drivers para los sistemas operativos que instalemos en el aula. Los recopilaremos sobre un directorio desde el que realizaremos una copia en CD. Enlaza con la creación de un disco de arranque con la carga de controladores. 7. CREACIÓN DE DISCO DE INICIO Material: PC con disquetera Disco de inicio MSDOS Desarrollo: Arranque desde disquete Comando diskcopy Comprobación del arranque Optimización del arranque Tiempo estimado: 1h Teoría + 1h practica 8. CREACIÓN DE DISCO DE INICIO CON CLIENTE DE RED Material: PC con disquetera Disco Inicio Driver DOS de la tarjeta de red

Page 94: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.57

Desarrollo: Arranque desde disquete Configuración de Arranque Carga del cliente Conexión a servidor Comprobación del sistema Optimización del sistema Tiempo estimado: 1h Teoría + 1h practica 9. CREACIÓN DE DISCO DE INICIO CON CLIENTE DE RED Y UTILIDADES Material: PC con disquetera Disco Inicio Driver DOS de la tarjeta de red Compresor ARJ Controlador de disco virtual Desarrollo: Arranque desde disquete Configuración de Arranque Descompresión de utilidades en memoria virtual Carga del cliente Conexión a servidor Comprobación del sistema Optimización del sistema Particionado del disco Formato de disco Tiempo estimado: 1h Teoría + 1h practica 10. INSTALACION DE SISTEMA OPERATIVO WINDOWS DESDE SERVIDOR Material: PC con disquetera Disco Inicio Driver DOS de la tarjeta de red Compresor ARJ Controlador de disco virtual Desarrollo: Arranque desde disquete Configuración de Arranque Descompresión de utilidades en memoria virtual

Page 95: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.58

Carga del cliente Conexión a servidor Comprobación del sistema Optimización del sistema Particionado del disco Formato de disco Copia de sistema en local si es necesario Instalación del sistema. Tiempo estimado: 1h Teoría + 1h practica Estas son las práctica a corto plazo para arrancar por fin el aula 1. El resto que se muestran son las ya conocidas que a estas altura no se cuáles merece la pena realizar.

Page 96: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.59

P R Á C T I C AS H AR D W AR E CONFIGURACIÓN DE SETUP Material 1 PC 1 Hoja de especificaciones Desarrollo Explicación de las opciones de SETUP Anotación de la configuración de la maquina Tiempo estimado: 2h teoría + 1h práctica BORRADO FISICO DE CONTRASEÑA BIOS Material 1 PC 1 Jumper Desarrollo Identificación de jumper Cortocircuito (descarga CMOS) Tiempo estimado: 1/2h teoría + 1/2h práctica DESMONTAR Y MONTAR PC ESTÁNDAR Material: 1 PC 1 Destornillador Plano 1 Destornillador Estrella 1 Tester Desarrollo: Enumerar los elementos indispensables para montar un PC Fuente de alimentación Caja Placa Madre Procesador Módulos de Memoria Adaptador de Video Controlador de disco (opcional)

Page 97: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.60

Disco Duro y Flexible (opcional) Tarjeta Serie/Paralelo (opcional) Teclado Monitor Otras tarjetas Errores que se comenten con más frecuencia Pasos a seguir Comprobación de lo realizado Tiempo estimado: 30' teoría + 3h práctica LA FUENTE DE ALIMENTACION Material: 1 Tester (mejor si es digital) 1 Una fuente de alimentación Desarrollo: Localizar la fuente Identificar su tipo, disposición y compatibilidad Medir tensión Cambio de fuente Configuración del equipo Errores que se cometen frecuentemente Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN DE MEMORIA ADICIONAL Material: 1 Modulo de memoria 1 Destornillador Desarrollo: Localizar los bancos de memoria Identificar su tipo, disposición y compatibilidad Desmontaje de los existentes Inserción del nuevo modulo Configuración del equipo Errores que se cometen frecuentemente Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN DE DISCO DURO ADICIONAL Material:

Page 98: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.61

1 Disco duro 1 Cable IDE 1 Destornillador 1 Software necesario Desarrollo Identificación del tipo de bus Posibilidad de ampliación Selección del disco en función del bus (master, slave) Configuración del equipo Particionado y formateo del disco Tiempo estimado: 30' teoría + 2h práctica INSTALACIÓN DE CONTROLADORA SCSI Material: 1 Controladora SCSI 1 Cable SCSI 1 Dispositivo SCSI 1 Terminador 1 Destornillador 1 Software necesario Desarrollo Identificación del tipo de bus (SCSI II, WIDE, etc) Posibilidad de ampliación Selección del dispositivo Asignación de número SCSI Configuración del equipo Tiempo estimado: 30' teoría + 2h práctica INSTALACIÓN DE TARJETA SERIE/PARALELO ADICIONAL Material 1 Tarjeta Serie/Paralelo 1 Destornillador Desarrollo Detección de conflictos IRQ y Direcciones de E/S Instalación de la tarjeta Comprobación del equipo Tiempo estimado: 30' teoría + 1h práctica CAMBIO DE FUENTE DE ALIMENTACIÓN

Page 99: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.62

Material 1 Fuente de alimentación 1 Destornillador 1 Tester 2 Fusibles Desarrollo Breve análisis de los elementos Desmontaje e instalación de la fuente Comprobación del equipo Tiempo estimado: 1h teoría + 1h práctica INSTALACIÓN DE DISQUETERA 3” ½ ADICIONAL (CAMBIO DE UNIDAD) Material 1 Disquetera 1 Destornillador Desarrollo Detección de conector Detección de alimentación Instalación de la unidad Swap de unidades Comprobación del equipo Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN DE TARJETA DE RED Material 1 Tarjeta Red 1 Destornillador Desarrollo Detección de conflictos IRQ y Direcciones de E/S Instalación de la tarjeta Prueba de la comunicación CPU – tarjeta Prueba de la comunicación tarjeta – tarjeta Comprobación del equipo Asignación de protocolo Tiempo estimado: 30' teoría + 1h práctica

Page 100: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.63

INSTALACIÓN DE TARJETA DE SONIDO Material 1 Tarjeta sonido 1 Destornillador 1 Auriculares Desarrollo Detección de conflictos IRQ y Direcciones de E/S Instalación de la tarjeta Prueba de la comunicación CPU – tarjeta Comprobación del equipo Prueba de sonido Conexión al posible CDROM Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN DE TARJETA DE VÍDEO Material 1 Tarjeta Vídeo 1 Destornillador Desarrollo Detección de conflictos IRQ y Direcciones de E/S Selección de Zócalo (ISA, PCI, AGP) Instalación de la tarjeta Prueba de la tarjeta Comprobación del equipo Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN/CAMBIO DE PROCESADOR Material 1 Procesador 1 PC 1 Destornillador Desarrollo Detección de tipo de zócalo Extracción de procesador Instalación de procesador Jumpeado velocidad, alimentación Refrigeración

Page 101: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.64

Comprobación del equipo Tiempo estimado: 30' teoría + 1h práctica INSTALACIÓN DE CDROM - GRABADORA Material: 1 CDROM 1 Cable IDE 1 Destornillador 1 Software necesario Desarrollo Identificación del tipo de bus Posibilidad de ampliación Selección del CD en función del bus (master, slave) Configuración del equipo Prueba de acceso al CD Tiempo estimado: 30' teoría + 1h práctica REALIZACION DE CABLE COAXIAL FINO Material: 2 BNC macho 1 Cable coaxial 1 Crimpadora 1 Herramienta de comprobación Desarrollo Identificación del tipo de cable Realización del cable Prueba del cable Tiempo estimado: 30' teoría + 1h práctica REALIZACION DE CABLE RS232 NULL-MODEM Material: 2 SUBD 9 1 Cable serie 1 Crimpadora 1 Herramienta de comprobación

Page 102: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.65

Desarrollo Identificación del tipo de cable Realización del cable Prueba del cable Tiempo estimado: 30' teoría + 1h práctica

Page 103: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.66

PRÁCTICAS SOFTWARE SOFTWARE DE EVALUACIÓN Y PRUEBA DEL SISTEMA Material 1 Software de prueba (Qaplus, PcTools) Desarrollo Breve análisis de los elementos que intervienen en el rendimiento Comprobación de velocidad de procesador (MIPS) Comprobación de velocidad de procesador (MFLOPS) Rendimiento de disco (Transferencia, Random, Sequential, etc.) Tiempo estimado: 2h teoría + 1h práctica DESARROLLO DE SOFTWARE DE EVALUACIÓN Y PRUEBA DEL SISTEMA POR PARTE DEL ALUMNO Material Lenguaje de desarrollo (Preferiblemente Pascal ó C) Desarrollo Programación por parte del alumno de breves funciones que analicen la velocidad de la máquina (operaciones con enteros, con reales, movimientos en memoria, escritura en memoria de video) Rendimiento de disco (apertura de fichero, grabación, lectura, etc.) Tiempo estimado: 2h teoría + 5h práctica CREACIÓN DE DISCO DE INICIO MSDOS Material: PC con disquetera Sistema operativo MS-DOS 6.2 Desarrollo: Arranque desde disquete Comando diskcopy Comprobación del sistema Optimización del sistema Tiempo estimado: 1h Teoría + 1h practica CREACIÓN DE DISCO DE INICIO MSDOS CON CLIENTE DE RED

Page 104: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.67

Material: PC con disquetera Sistema operativo MS-DOS 6.2 Driver DOS de la tarjeta de red Desarrollo: Arranque desde disquete Configuración de Arranque Carga del cliente Conexión a servidor Comprobación del sistema Optimización del sistema Tiempo estimado: 1h Teoría + 1h practica

INSTALACIÓN DE UN SISTEMA OPERATIVO MS-DOS Material: PC completo con disco duro Sistema operativo MS-DOS 6.2 Desarrollo: Arranque del sistema con cliente de red Conexión a servidor Particionado del disco duro Formateo del disco duro Instalación del sistema Instalación de utilidades Configuración del sistema Comprobación del sistema Optimización del sistema Tiempo estimado: 1h Teoría + 2h practica

GESTIÓN DE LOS FICHEROS CONFIG.SYS Y AUTOEXEC.BAT Material: 1 PC Sistema operativo MS-DOS 6.2 Desarrollo: Importancia de estos ficheros Arranques desde distintas opciones

Page 105: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.68

Funcionamiento de instrucciones DEVICE Cambios de la configuración e instalación de nuevos dispositivos Comprobación del sistema Tiempo estimado: 1h Teoría + 2h práctica INSTALACIÓN DE UN SISTEMA OPERATIVO LINUX Material: 1 PC servidor Procesador 386 4 Mbytes Memoria Disco Duro > 80 Mbytes 1 Sistema operativo LINUX Desarrollo: Instalación y comprobación de todos los componentes Creación y formateo de la partición LINUX Instalación de LINUX Instalación de utilidades LINUX Comprobación de LOGIN Arranque y desconexión del servidor Comprobación del sistema Tiempo estimado: 1h Teoría + 3h práctica CONEXIÓN PC-PC DIRECTA (RS232) MSDOS-MSDOS Material: 1 Cable null-modem 2 PCs 2 Sistemas operativos Desarrollo Carga del sistema Carga de utilidad de comunicación (interlink, intersrv) Prueba de la conexión Traspaso de información entre PC Tiempo estimado: 30' teoría + 1h práctica CONEXIÓN PC-PC DIRECTA (RS232) MSDOS-LINUX Material: 1 Cable null-modem 2 PCs

Page 106: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.69

1 Sistema operativo MSDOS 1 Sistema operativo LINUX Desarrollo Carga del sistema Configuración de puertos Prueba de la conexión Carga de utilidad de comunicación (telnet, telix, etc) Tiempo estimado: 30' teoría + 1h práctica USO DE CONEXIÓN DIRECTA WIN98 COMO BRIDGE NETBEUI Material: 1 Cable null-modem 3 PCs 3 Sistema operativo WIN98 Desarrollo Carga del sistema Configuración de puertos Prueba de la conexión Carga de utilidad de comunicación Configuración HOST-GUEST Tiempo estimado: 30' teoría + 1h práctica CONEXIÓN DIRECTA USANDO CABLE CRUZADO UTP BRIDGE CON HUB 10BASET y 10BASE2 HUB EN CASCADA GESTION DE UN SWITCH GESTION DE UN ROUTER

Page 107: Apuntes sistemas01092008

TTT EEE MMM AAA III III III ... EEE LLL HHH AAA RRR DDD WWW AAA RRR EEE

El Hardware III.70

IMPLANTACION DE APLICACIONES

B I B L I O G R AF Í A: 68000 68010/68020 Arquitectura y programación en ensamblador Stan Kelly-Bootle y Bob Fowler Anaya Multimedia I.S.B.N. 84-7614-136-X FUNDAMENTOS DE ARQUITECTURA DE ORDENADORES Y COMUNICACIONES DE DATOS Neil Willis Anaya Multimedia I.S.B.N. 84-7614-229-3 COSECHA PROPIA DEL AUTOR .

Page 108: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.1

OBJETIVOS DEL TEMA 1. Descubrir la necesidad de los sistemas operativos. 2. Introducir a alumno en la importancia de la evolución de los sistemas operativos y lo que ello ha significado en el desarrollo de sistemas Informaticos. 3. Analizar las distintas filosofías de funcionamiento de los Sistemas Operativos actuales. 4. Conocer los comandos más habituales en los sistemas operativos comerciales. 5. Estudiar las distintas estructuras de los sistemas operativos. CONTENIDO DEL TEMA Introducción Conceptos básicos. Concepto de sistema operativo Evolución de los sistemas operativos Estructura y prestaciones de los sistemas operativos. Nucleo y los procesos Planificación del procesador Proceso paralelo e interbloqeo Gestión de Memoria Principal

Page 109: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.2

1 . I N T R O D U C C I Ó N Antes de pasar a dar definiciones, vamos a poner un ejemplo, que nos servirá también para recordar cual era el funcionamiento de una adaptador gráfico (o tarjeta de video) que se explicó en el tema anterior. Supongamos que quiero pintar una A en la pantalla gráfica (en la memoria de la tarjeta). Recordar que las tarjetas tenían una dirección de memoria y un área de memoria para poder pintar en ella. Cuales son los pasos de debo dar:

Poner la tarjeta de video en modo gráfico. Dirigirme a la dirección de memoria de la tarjeta. Sumar una serie de números para posicionarme en el lugar donde quiero poner la A. Mover el primer byte de mi tabla que forma la A.

Sumar 1 a la posición de la memoria para meter el siguiente byte. Hasta que termine. Que complicado. Lo hago. Y para pintar una B. Pues lo mismo. Suponer que todos los programas que hago deben funcionar de este modo. Debería incluir este conjunto de acciones (subrutina, procedimiento) en todos los programas. ¡¡¡ TIEMBLO, COMO ME CAMBIEN DE TARJETA TENGO QUE R EESCRIBIR TODOS

LOS PROGRAMAS !!! ¿Por qué no hago que cada vez que se encienda el ordenador se pongan (cargar) estas acciones en la memoria (Terminate Stay Resident) y la pueda utilizar desde todos los programas (device driver)?. Si me cambian de tarjeta sólo tengo que modificarlo una vez. Lo hago. Pues lo que acabo de hacer es una utilidad, exactamente un driver de tarjeta gráfica. Allá va una definición de S.O: La suma de todas las utilidades que nos hacen más fácil el trabajo forman el sistema operativo.

Page 110: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.3

Esta es una de las múltiples definiciones que hay para los sistemas operativos. Imaginar ahora los pasos necesarios para localizar un dato dentro del disco duro. Imaginar los pasos recibir un dato del teclado.

¡¡¡IMAGINAR LOS PASOS PARA QUE FUNCIONEN VARIOS PROGRAMAS AL MISMO TIEMPO!!!

Todo eso lo hace el S.O. El S.O. no es un ente mágico que esta ahí, simplemente unas personas (analistas de sistemas y programadores de sistemas) han hecho unos programas que permiten que la máquina sea un elemento productivo. Cuando ejecutamos un programa, cuando se pone a funcionar, es porque el sistema operativo da la orden de que se ejecute. Ya veremos como. De hecho, todos los programas de aplicación interactuan constantemente con el sistema. Quien sino, nos va ha decir que no hay espacio en memoria para nuestro programa, que el fichero al que queremos acceder se esta usando por otro programa, etc. La programación de los sistemas operativos se ha vuelto tan compleja que ha sido necesario unas normas para su desarrollo, un desarrollo en distintos niveles de funcionamiento, en una estructura como se verá más adelante.

Page 111: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.4

2 . C O N C E P T O S B AS I C O S

2.1 CONCEPTO DE SISTEMA OPERATIVO En el concepto de sistema operativo se ve involucrado el ordenador, así que recordemos lo que es: Un ordenador es una máquina de origen electronico con una o más unidades de proceso y equipos perifericos controlados por programas almacenados en su memoria, que pueden realizar una gran variedad de trabajo Aparecen dos terminos en esta definición máquina y programas. Maquina = Hardware Programas = Software El S.O. es un elemento del Software de la máquina. Por ello en un principio fue definido de la siguiente forma: Un S.O. es el soporte logico que controla el funcionamiento del equipo fisico. De todas formas existen dos puntos de vista en las funciones de un S.O. El punto de vista de usuario: Conjunto de programas y funciones que ocultan los detalles de hardware, ofreciendo al ususario una vía sencilla y flexible de acceso al mismo. Esta ocultación persigue dos objetivos: Abstracción Ofrecer una vision global y abstracta del ordenador ocultado por completo la gestion interna Seguridad Existen operaciones o instrucciones que pueden parar el ordenador, interferir procesos, etc. En necesario por tanto que estas operaciones sólo las puedan ejecutar usuarios con privilegios elevados (administradores, etc) protegiendo así la información de los demás usurarios.

Page 112: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.5

El punto de vista de los recursos: Un sistema operativo es el administrador de recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos. ¿Qué recursos se administran?. Fundamentalmente son: El procesador La memoria La entrada/salida La informacion Se construyen recursos de alto nivel, llamados virtuales, que encubren a los que realmente existen a bajo nivel (ejemplo de NFS). Tanto que al final lo que se ofrece es una máquina virtual con la interacturan los usuarios y las aplicaciones. Ofrece ademas servicios que no existen en el hardware, tales como compartir la computadora por varios usuarios a la vez, comunicación entre usuarios, etc.

Hardware

Sistema operativo

Aplicacion Usuario

Máquina virtual

Hardware

Sistema operativo

Traductores

Programas de aplicación

Usuario

Diseñador detraductores

Programadorde aplicaciones

Diseñadoresde Sistemas

Page 113: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.6

Por fin, despues de todos esto definiremos:

SISTEMA OPERATIVO Conjunto de programas que ordenadamente relacionados entre si contribuyen a que el ordenador lleve a cabo correctamente su trabajo. Al hablar de conjunto de programas debemos tener cuidado. Tenemos dos categorias: Programas del sistema. Manejan el hardware, controlan procesos, etc. Los diseñan los Analistas y Programadores de Sistemas. Programas de aplicación. Resuelven los problemas de los usuarios. Los hacen los Analistas y Programadores de Aplicaciones.

2.2 EVOLUCIÓN. NIVEL 0. NO HAY S.O. Las primeras computadoras. No existia el concepto de S.O. Se programaba mediante paneles cableando (haciendo puentes con cables) y más tarde mediante interruptores. Se programaba directamente en el lenguaje de la maquina. La mayor parte del tiempo la maquina estaba parada, se la estaba programando. NIVEL 1º. ACCESO POR OPERADOR. Años 50. Aparecen las tarjetas perforadas como dispositivo de entrada y se crea la figura del operador del sistema. Este recibía de los programadores los trabajos a realizar y los iba introduciendo en la maquina según su entender. Despues devolvía los resultados a sus propietarios. Si el operador era listo agrupaba trabajos por recursos, por lenguajes o por el criterio que primara en el momento. NIVEL 2. SECUENCIA AUTOMATICA DE TRABAJOS. Muchas de las operaciones que realizaba el operador eran mecanicas y se repetian con mucha frecuencia. ¿Por qué no programarlas?. Se diseña un pequeño programa que es capaz de lanzar un trabajo cuando finaliza el anterior. Este programa se llama MONITOR RESIDENTE y como su nombre indica se permanecia continuamente en memoria. ¿Cómo funcionaba? Si una tarjeta perforada comenzaba por un caracte especial ($ o \) se interpretaba como una orden. Para ello, entre el programa y programa y datos se intercalaban esta tarjetas de control con instrucciones o comandos (lenguaje de control de comandos JCL, Job Control Languaje). Este programa se componía de tres partes: Secuencias automática de trabajos Interprete de las tarjetas de control Controladores de E/S. Los drivers. NIVEL 3. Años 60. Aparecen los procesos ON-LINE y OFF-LINE. Para minimizar los tiempos de espera del procesador por la lentitud de periféricos (lectora de tarjetas e impresora) se utilizaban ordenadores satélites con la misión de pasar datos y programas

Page 114: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.7

de tarjetas perforadas a cinta magnética (periférico más rápido) y del ordenador a cinta magnética para posteriormente lanzarlo por impresora. Aparecen los conceptos del buffer (memoria tampon, tambien se le llamó) y spool (Simultaneous Peripherical Operation On Line, almacenamiento en memorias intermedias y disco magnético). También se utilizan técnicas de acceso directo a memoria DMA. NIVEL 4º. Años 70. Para mejorar aun más el rendimiento de los sistemas Informáticos, aparecen los conceptos de multiprogramación (un mismo procesador ejecuta varios programas aparentemente a la vez) procesos por lotes (batch, va solicitando la ejecu-ción de procesos que no precisan conversación con el usuario, situándose las peticiones en una cola y el S.O. les da entrada). Los sistemas interactivos y conversacionales necesitan un diálogo con el usuario, apareciendo el tiempo compartido (un conjunto de terminales solicita continuamente la atención del procesador y el S.O. intercala la atención entre todos) y tiempo real (obtener respuesta del procesador en un sistema de multiprogramación en un tiempo muy pequeño). NIVEL 5º. Años 80 y 90. No se trata de aumentar el rendimiento en la utilización del procesador sino, la seguridad, velocidad de proceso y las prestaciones que ofrece al usuario. Aparecen los procesos distribuidos (conexión en paralelo de varios ordenadores compartiendo memoria, buses y terminales) Multiproceso (ordenadores con más de un procesador, realizaría tantos procesos a la vez como procesadores tenga) sistemas operativos en red y entornos operativos .

Page 115: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.8

3 E S T R U C T U R A, P R E S T AC I O N E S Y S E R V I C I O S

3.1 ESTRUCTURA DE UN S.O. Estructura Monolítica

Programado como un ladrillo Estructura Jerárquica Son varias las estructuras y cada una tiene una parcela de acción determinada: Nivel 1 : Es el más bajo. Su misión es organizar los trabajos para que el procesador este el mayor tiempo posible trabajando, que no existan tiempos muertos de proceso. Nivel 2 : En un sistema operativo multiprograma debe haber "algo" que impida que un programa se meta en la parcela de otro (imaginaros que alguien ejecuta un programa que pone toda la memoria del ordenador a 0, vaya desastre). De esto se encarga el nivel 2. Nivel 3 : Imaginaros un programa que no acaba nunca y se dedica a hacer siempre la resolución de un sistema de 10000 ecuaciones con 10000 incógnitas. Prácticamente no dejaría tiempo para que funcionen los demás programas. Alguien debe controlar esto. Dar ejecución a un proceso, matarlo (y en informática se dice así), pararlo porque se necesita realizar un proceso que tiene más urgencia, etc. Nivel 4 : Hasta ahora ningún nivel se ha ocupado de leer de un disco, cinta, imprimir algo. Es la función de este nivel. Todas las funciones de entrada y salida. Nivel 5 : ¿Quién organiza la información?. ¿Quién sabe el espacio que queda en un disco?. ¿Cabrá mi fichero en el disco?. Esta claro quien lo hace. Además es el encargado de crear y borrar los ficheros temporales, de que nadie borre ficheros que son vitales para el sistema (el mismo sistema se encuentra grabado en el disco), etc. Cómo se relacionan los distintos niveles. Cada capa se comunica con la superior, con unos programas traductores, interface. Cada nivel es invisible respecto al otro, ni sabe donde esta, ni como lo hace, sólo le interesa el servicio que puede dar

Page 116: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.9

Cada nivel puede modificarse sin que los demás se vean afectados, de esta forma es mucho más fácil desarrollar sistemas. Cada capa puede probarse y codificarse individualmente.

3.2 PRESTACIONES DE UN S.O. Resuminos aquí los servicios que debe prestar un S.O. Desde el punto de vista del programador:

Ejecucion de programas. Cómo meter un programa en memoria y ejecutarlo

Entrada/Salida. Cómo tratar un archivo o enviar o recibir datos de un dispositivo.

Gestion de archivos. Cómo localizar un archivo, protegerlo, etc.

Desde el sistema:

Asignacion de recursos Métodos para ofrecer un recurso cuando varios procesos o usuarios los solicitan a la vez.

Contabilidad Facturar por el uso de los recursos. Llevar la cuenta de que se usa y por quien

Proteccion

procesador

memoria

procesos

E/S

informacion

Page 117: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.10

Mecanismos para impedir acciones de programas o usuarios peligrosas para el sistema.

3.3 SERVICIOS SERVICIOS DE USUARIO Llamadas al sistema operativo desde un proceso. Permiten la comunicación entre un programa en ejecución (proceso) y el sistema operativo. Se suelen agrupar de la sigueinte forma: . Gestion de procesos . Gestion de E/S . Gestion del sistema de archivos . Proteccion Una llamada al sistema operativo consiste en pasarle una serie de parametros (informacion) a una determianda rutina del sistema y forzar su ejecución. Una vez ejecutada ésta, se me devolverán los datos resultados de la ejecucion de la rutina o habré provocado un cambio en el entrono. Funciona exactamente igual que una llamada a un subprograma, sólo que éste, en vez de formar parte de mi programa en ejecucion, pertenece al sistema operativo. PROCEDURE Pon_Pantalla(Tipo: Byte); Var Regs: Registers; Begin Regs.ax:=Tipo; Intr($10,Regs); End;

El ejemplo anterior, sacado del programa para dibujo en pantalla gráfica, realiza una llamada al sistema operativo MSDOS utilizando las funciones de video. La variable Regs se utiliza para pasar parametros al sistema y en ella el sistema me devuelve datos. La llamada al sistema se realiza mediante la sentencia Intr donde se especifica que funcion solicito ($10, la de gestion de video, y que datos le paso, como ya se ha dicho en la variable Regs). Programas del sistema Son la colección de programas que se suministran normalmente con el sistema ademas del las funciones basicas de éste.

. Gestion de disco. Copian, borran ficheros. Formatos de disco, etc.

. Informacion.

Nos dan datos del sistema. La fecha y hora. Espacion libre en disco, etc.

. Editores. Permiten manipular archivos de tipo texto.

. Desarrollo.

Page 118: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.11

Compiladores y linkadores. Se utilizan para crear programas propios y a veces son necesarios para recompilar el propio sistema.

. Utilidades.

Programas para copias de seguridad, etc.

. El interpre de comandos. Permite la comunicación Usuario-Maquina.

SERVICIOS DEL SISTEMA Llamadas al sistema Interrupciones. Una interrupción consiste en detener momentáneamente un programa para pasar a ejecutar otro y posteriormente la UCP continua con el programa interrumpido. Existen varios tipos de interrupciones: Por programas a) Aritméticas a.1) Overflow (desbordamiento de un registro) a.2) División por cero a.3) Underflow (resultado debajo del rango definido en coma flotante). b) Condiciones ilegales. b.1) Código de instrucción indefinido c) Intento de acceso a memoria protegida. d) Anomalía en direccionamiento (no existe la dirección) De error máquina. a) Error de paridad en memoria b) Fallo de alimentación. c) Fallo de transmisión entre canales y memoria. Interrupciones externas. a) Botón de interrupción del operador (RESET) b) Interrupción de comunicaciones de UCP a UCP. c) De E/S

Page 119: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.12

c.1) Comando invalido de E/S c.2) Terminación de dispositivo de E/S. Está compuesto por un conjunto de líneas físicas exteriores (16), con un orden de prioridad, llamadas líneas de interrupción y otras tantas direcciones de memoria asociadas. Cuando por una de estas líneas llega una señal (impulso) de interrupción, el procesador finaliza la instrucción en fase de ejecución, almacenando en memoria su estado y bifurca a la posición de memoria asociada a la línea, la rutina de servicio de interrupción comienza a ejecutarse y al concluir restaura el estado de la UCP. Interrupciones de llamada al supervisor. Cuando el programador produce interrupciones con su programa, el mismo programa hace uso del servicio de interrupciones en beneficio de su ejecución. a) Espera para introducir desde teclado. b) Mostrar información por pantalla. PROTECCIONES Proteccion de la E/S Proteccion de memoria Proteccion del procesador

Page 120: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.13

4 E L N U C L E O Y L O S P R O C E S O S

4.1 CONCEPTO DE PROCESO Un programa es un archivo ejecutable, y un proceso es una instancia de un programa en ejecución y consiste en un conjunto de bytes que la CPU interpreta como instrucciones máquina, datos y pila. Se pueden ejecutar muchos procesos simultáneamente en sistemas (esta característica es denominada multiprogramación o multitarea) sin un límite lógico en su número. Además, varias instancias de un mismo programa pueden existir simultáneamente en el sistema. Para ello, el kernel (NUCLEO) los planifica para su ejecución. Un proceso puede leer o escribir en sus propias secciones de datos y pila, pero no puede hacerlo con los datos y pila de otros procesos. Los procesos se comunican con otros procesos y con el resto del mundo por medio de las llamadas al sistema.

4.2 NIVELES DE EJECUCION. La ejecución de los procesos de usuario está dividido en dos niveles: usuario y kernel. Cuando un proceso ejecuta una llamada al sistema, el modo de ejecución del proceso cambia del modo usuario a modo kernel: el sistema operativo ejecuta y atiende el servicio que el usuario requiere, devolviendo un código de error si falla la llamada. Muchas arquitecturas (y sus sistemas operativos) soportan más niveles que los dos descritos aquí, pero los dos niveles, usuario y kernel, son suficientes para el sistema UNIX. Las diferencias entre los dos modos son: Los procesos en modo usuario pueden acceder a sus propias instrucciones y datos pero no a las instrucciones y datos del kernel (o las de otros procesos). Los procesos en modo kernel, sin embargo, pueden acceder a las direcciones del kernel y de los usuarios. Algunas instrucciones máquinas están privilegiadas y producen error cuando se ejecutan en modo usuario.

4.3 ESTADOS DE UN PROCESO. El tiempo de vida de un proceso puede estar conceptualmente dividido en un conjunto de estados que describen al proceso. La siguiente lista contiene el conjunto completo de estados: 1. El proceso está ejecutándose en modo usuario. 2. El proceso está ejecutándose en modo kernel. 3. El proceso no está ejecutándose pero está listo para correr tan pronto como el

kernel lo planifique. 4. El proceso está dormido y reside en memoria principal. 5. El proceso está preparado para correr, pero el proceso swapper (proceso 0) debe

cambiar el proceso a memoria principal antes de que el kernel pueda planificarlo para su ejecución.

Page 121: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.14

6. El proceso está dormido y el swapper a movido el proceso a memoria secundaria para hacer sitio para otros procesos en memoria principal.

7. El proceso es devuelto del modo kernel al modo usuario, pero el kernel le baja la prioridad e intercambia el contexto para planificar otro proceso.

8. El proceso es creado y está en un estado transitorio; el proceso existe pero no está preparado para correr, tampoco está dormido. Este es el estado inicial para todos los procesos excepto el proceso 0.

9. El proceso ejecuta la llamada al sistema exit y está en un estado zombie. El proceso no existirá por mucho tiempo, pero deja información acerca del código de error y algunas estadísticas para su proceso padre. El estado zombie es el estado final de un proceso.

La siguiente figura muestra un diagrama completo de los estados de los procesos y sus transiciones. El proceso entra en el modelo de estados en el estado de “creación” cuando el proceso padre ejecuta la llamada al sistema fork y eventualmente se mueve a un estado donde está listo para correr (3 o 5). Por simplicidad, asumimos que el proceso entra en el estado “listo para correr en memoria”. El proceso planificador o scheduler pondrá el proceso a ejecutar, y el proceso entra en el estado “ejecución en modo kernel”, donde completará su parte de la llamada al sistema fork.

Cuando el proceso completa la llamada al sistema, se mueve al estado de “ejecución en modo usuario”. Después de un periodo de tiempo, el reloj del sistema interrumpe el proceso y entra en el estado de ejecución en modo kernel otra vez. Cuando la menejador de la interrupción del reloj termina de servir la interrupción de reloj, el kernel decide planificar otro proceso a ejecutar, así el primer proceso entra en el estado de “espera” y el otro proceso empieza a ejecutarse. El estado de “espera” es realmente el mismo que el estado de “listo para correr en memoria”, pero están representados separados para expresar que un proceso ejecutándose en el modo kernel puede ser pasado a modo “espera” sólo cuando va a

Page 122: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.15

retornar a modo usuario. Consecuentemente, el kernel puede llevar al área de swap un proceso en el estado de “espera” si es necesario. En cualquier momento, el scheduler eligirá el proceso para volver a ejecución y retornará al estado de “ejecución en modo usuario” otra vez. Cuando un proceso ejecuta una llamada al sistema, deja el estado de “ejecución en modo usuario” y entra en el estado de “ejecución en modo kernel”. Suponemos que el proceso realiza una operación de E/S y debe esperar a que la operación se complete. Entra en el estado de “dormido en memoria” quedándose bloqueado hasta que se le notifique que la operación de E/S esté completa. Cuando la operación termina, el hardware interrumpe a la CPU y el manejador de interrupción desbloquea el proceso, causando su entrada en el estado se “listo para correr en memoria”. Supongamos que el sistema está ejecutando tantos procesos simultáneamente que no pueden guardarse todos en memoria principal, y el proceso swapper guarda el proceso en el área de swap para hacer sitio a otros procesos que están en el estado de “listo para correr guardado”. Cuando desaloja la memoria principal, el proceso entra en el estado de “listo para correr guardado”. Eventualmente, el swapper elige el proceso con mayor prioridad del área de swap y lo pasa a la memoria principal. y el proceso regresa al estado de “listo para correr en memoria”. El scheduler después eligirá el proceso y lo enviará al estado de “ejecución en modo kernel”. Cuando un proceso termina, invoca la llamada al sistema exit, entra en el estado de “ejecución en modo kernel” y, finalmente, en el estado “zombie”.

4.4 EL PCB (PROCESS CONTROL BLOCK). Poner el ejemplo de cambio de contexto.

5 . P L AN I F I C AC I O N D E L P R O C E S AD O R ( V E R T E M A V I AD M O N D E L M I C R O )

Page 123: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.16

6 . G E S T I O N D E L A M E M O R I A P R I N C I P AL

6.1 CONCEPTOS BÁSICOS Cada instrucción de un programa máquina almacenado en memoria estaría for-mada por palabra/s de memoria que podrían numerarse de la 0 a la n-1 (si ocupa n pala-bras de memoria) estas direcciones se les llaman direcciones lógicas. Supongamos que las instrucciones se almacenan consecutivamente, si se carga el programa a partir de la dirección N, este quedaría ubicado entre las direcciones N y N+(n-1). A N la llamaremos dirección base y a partir de ahí todas serían direcciones físi-cas. Se denomina Segmento a un grupo lógico de información (programa, subrutina, pila, etc.) de manera que un programa ejecutable es una colección de segmentos. Cuando un programa se carga en memoria para ejecutarlo (o continuar su ejecución) el S.O., de acuerdo con los espacios libres en memoria le asigna una dirección base, y transforma direcciones lógicas en direcciones físicas. La asignación de memoria para distintos procesos ejecutándose concurrentemente suele hacerse dependiendo del S.O. en alguna de las formas que se indican a continuación:

6.2. PARTICIONES ESTÁTICAS. La memoria se divide en particiones o zonas, conteniendo cada una de ellas un proceso. Las direcciones base son las direcciones de comienzo de cada partición y el tamaño de las particiones es determinado por el operador o el S.O. de 8K, 16K, 32K o 64K. El S.O. mantiene una tabla en la que cada fila corresponde a una partición, conteniendo la dirección base, el tamaño y el estado de la partición (ocupada o no).

SISTEMA

PROG. 1

PROG.2

PROG.3

0

64

128

192

0

1

2

3

PROGRAMAS

FRAGMENTACION INTERNA

OPERATIVO

Page 124: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.17

Si la partición esta libre, el planificador de trabajos (supervisor) hace que en ella se introduzca el programa de máxima prioridad que hay en cola de espera. El espacio que ocupa el programa debe ser igual o menor que el de una partición. Fragmentación interna o fragmentación de una partición, son las posiciones de memoria no utilizadas por el programa.

6.3 PARTICIONES DINÁMICAS En este caso, los programas son introducidos por el S.O. en posiciones consecutivas de memoria, no existiendo particiones predefinidas. El S.O. gestiona el espacio en memoria usando una tabla de trabajos y una tabla complementaria que contiene los fragmentos o huecos libres. El planificador de trabajos consulta las tablas periódicamente, introduciendo en memoria los programas que quepan en los fragmentos. Al ir acabando de ejecutarse los programas, el número de fragmentos crecerá (pudiendo haber tantos como programas hayan pasado por memoria) llegando un momento en que el porcentaje de memoria aprovechado sea muy reducido. El problema se resuelve haciendo una compactación; que consiste en agrupar todos los fragmentos cuando acaba la ejecución de un programa, quedando así solo uno grande. La compactación se efectúa cambiando de sitio o reubicando los programas en ejecución. TABLA DE TRABAJOS TABLA DE MEMORIA LIBRE

IDENTIFICACION TAMAÑODIRECCION

BASETAMAÑO

DIRECCION BASE

SISTEMA OPER. 64 K 0

PROGRAMA 1 48 K 65536

32 KPROGRAMA 3 155648

PROGRAMA 4 48 K 222992

40 K(PROG.2)

114668

16 K 245760

Page 125: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.18

6.4 PAGINACIÓN La memoria principal se estructura en bloques de longitud fija 512 bytes, 1K,2K o 4K, cada bloque se identifica con un número correlativo 0, 1, 2, 3, ... Los programas se dividen en zonas consecutivas llamadas páginas que coincide con la capacidad del bloque, de forma que un segmento (página) se memoriza en un bloque. No es necesario que un programa se almacene en posiciones consecutivas de memoria. Las páginas se almacenan en bloques independientemente de que estén o no contiguos. para la gestión de memorias con esta organización el sistema mantiene tres tipos de tablas: A) TABLA -MAPA DE PÁGINAS Hay una por programa, contiene el bloque donde se encuentra cada una de sus páginas y la dirección de memoria donde se encuentra la dirección de cada página. La longitud de cada tabla es variable dependiendo del número de páginas que tenga el programa. B) TABLA DE BLOQUES DE MEMORIA . Contiene tantas filas como bloques. Se indica el identificativo del proceso que está en cada bloque y en su caso si está libre. C) TABLA DE TRABAJOS . Cada fila contiene la información referente a cada trabajo que este en ejecución, se indica su tamaño y la dirección de memoria donde se encuentra la dirección de la pri-mera página. Ejemplo de memoria de 64 K = 16 bloques de 4 K S.O.------------ 12 kpalabras --------- 3 páginas P1 ------------ 12 " --------- 3 " P2 ------------ 8 " --------- 2 " P3 ------------ 12 " --------- 3 " P4 ------------ 3 " --------- 1 " P5 ------------ 11 " --------- 3 " ------------ --- -------- 58 " 15 "

Page 126: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.19

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

s.o

s.o.

s.o.

p1

p1

p3

p3

p2

p5

libre

p4

p5

p5

p1

p2

p3

TABLA DE BLOQUES

DE MEMORIA

TABLA DE TRABAJOS

PROCESO TAMAÑO POSICIONMAPA-PAG.PROCESO TAMAÑO POSICION

MAPA-PAG.Nº

1 2 3 4 5

12 k 8 k12 k 3 k11 k

192208214220236

TABLA-MAPA DE PAGINAS

PROGRAMA 1

PAGINA DIRECCION BLOQUE Nª

0 192 3

1 193 4

2 194 13

PROGRAMA 2

0 208 7

1 209 14

PAGINA DIRECCION BLOQUE Nª

Page 127: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.20

6.5 SEGMENTACIÓN El programa se considera dividido en sus segmentos. La gestión la realiza el S.O. como con las particiones dinámicas, solo que cada partición no corresponde a un programa, sino a un segmento de este. El S.O. mantiene una tabla-mapa de segmentos similar a la de las páginas. La segmentación puede realizarse de forma similar o combinada con la paginación. La segmentación permite que ciertos procesos puedan compartir rutinas o datos comunes, sin necesidad de estar duplicados en memoria. Así, si seis usuarios están utilizando interactivamente un procesador de textos, no seria necesario que estuvieran cargadas en memoria seis copias idénticas del procesador de textos, sino una sola y el S.O. se limitaría a anotar en la tabla-mapa de segmentos de cada uno de los procesos la dirección donde se encuentra el código. Por tanto en un momento dado, en memoria existirían segmentos asignados a trabajos concretos, segmentos compartidos (“Shared”) y bloques libres. La memoria principal tiene una capacidad limitada, lo que conlleva restricciones en cuanto al número de procesos que pueden estar en memoria principal en ejecución concurrente y en cuanto a la extensión de los programas. Estos problemas se resuelven mediante técnicas de intercambiabilidad memoria/disco y memoria virtual. Estas soluciones se fundamentan en la utilización de unidades de disco como memoria auxiliar de la memoria principal.

6.6 SWAPPING

P3

S.O

P1

P2

P4

P5

El proceso consiste en trasvasar a disco (“roll-out”) un proceso P4 de los que están residiendo en memoria, para dar cabida a otro P3 que se trasvasa del disco a memoria (“roll-in). El programa P4 será vuelto a cargar en memoria para cuando le llegue su turno. La eficacia o velocidad de esta técnica, depende de la velocidad de transferencia memoria/disco y la velocidad de funcionamiento de las unidades de disco. Es imprescindible disponer de DMA o procesadores de E/S. Esta técnica se suele utilizar con organización de la memoria en particiones estáticas o dinámicas.

Page 128: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.21

Ejemplo de calculo del tiempo empleado en trasvasar un programa de memoria a disco. Un ordenador ejecuta 109 Inst/seg y trabaja con una longitud de palabra de 16 bits, dispone de una unidad de disco con un tiempo medio de acceso de 25 ms y una veloci-dad de transferencia de 1.024 Kbytes/seg. ¿Qué tiempo tardará en trasvasar de memoria a disco un programa de 64 Kpalabras? 64 Kpalabras X 2 = 128 Kbytes (palabras de 16 bi ts o 2 bytes) 25 ms = 0,025 seg (tiempo de acceso medio) 128 Kbytes/1.024 Kbytes/seg = 0,125 seg (tiempo de transferencia del programa) T = 0,025 + 0,125 = 0,150 seg = 150 ms.

6.7 MEMORIA VIRTUAL Permite a los usuarios hacer programas con una capacidad muy superior a la que físicamente tiene el ordenador, ademas de aumentar el número de procesos en memoria principal en ejecución concurrente. En definitiva permite al usuario una memoria principal aparentemente mayor que la física. La memoria virtual se basa en que las instrucciones de un programa que se ejecutan sucesivamente (en un corto intervalo de tiempo) están en direcciones muy próximas y en que los programas se redactan con gran linealidad (no hay saltos entre posiciones de memoria distantes). Para implantar la memoria virtual, la memoria principal debe de estar gestionada por paginación, por segmentación o segmentación-paginación. En un sistema de memoria virtual únicamente es necesario que estén en memoria principal la página o páginas o segmentos que en ese momento intervengan en el pro-ceso, mientras que en disco están troceados en páginas o segmentos parte del proceso, intercambiando páginas o segmentos entre disco y memoria principal cuando sea necesario. La gestión de memoria virtual segmentada es más compleja que la gestión paginada, ya que los segmentos son de capacidad variable y las páginas constante y preestablecida. La memoria virtual con paginación, combina las técnicas de paginación e inter-cambiabilidad. Por lo general se utiliza el método de intercambiabilidad “perezosa” (“Lazzy swapper”) en la que únicamente se lleva a memoria una página cuando sea ne-cesaria por algún proceso (demanda de página) de esta forma el número de procesos en ejecución concurrente puede aumentar. Este tipo de gestión la realiza el sistema con ayuda de dos tablas: Tabla-plano de trabajo.

Page 129: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.22

El S.O. crea y mantiene una de estas tablas por cada proceso. Cada fila corresponde a una de las páginas del proceso y contiene la siguiente información: - Dirección de memoria principal donde se encuentra la dirección de la página en disco. - Bloque de memoria principal en el que está la página. - Bit que indica la situación de la página (1 si está en memoria secundaria y 0 si está en memoria principal) Tabla de bloques de memoria. Cada fila de esta tabla corresponde a un bloque de memoria principal y contiene la siguiente información: - Proceso o página que está en el bloque. - Clave de protección. A cada programa se le asocia una clave, no pudiendo acce-

der a otra página que no coincida con la clave. - Estado del bloque (0 ocupado, 1 libre) - Nº de referencias. Es un contador de frecuencia de utilización de la página. - Cambio. indica si, desde que se ha cargado la página desde el disco por última vez

se ha modificado (1) o no (0) dicha página.

Page 130: Apuntes sistemas01092008

TTT EEE MMM AAA III VVV ... FFF UUU NNN DDD AAA MMM EEE NNN TTT OOO SSS DDD EEE SSS III SSS TTT EEE MMM AAA SSS

Fundamentos de Sistemas Operativos IV.23

T A B L A - P L A N O D E T R A B A J OP R O G R A M A 6

T A B L A D EP O S IC IO N E SE N D IS C O P A G IN A

P A G IN A

0

1

2

--

-

-6 2

6 3

5 0 0

5 0 1

5 0 2

-----

5 6 2

5 6 3

-

-

-

-----

1 2-

1

1

1

-----0

1

C O N T E N ID OP R O G .P A G .

C L A V E E S T A D O N U M E R O D ER E F E R E N .

C A M B IOB L O Q U E

0

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

02 5 5 06 3S .O . , 0

S .O . , 1 6 3 0 2 5 5 0

S .O . , 2 6 3 0 2 5 5 0

S .O . , 6 3 6 3 0 2 5 5 1

L IB R E - - - 1 - - - - - 0

3 , 1 2 6 0 2 0 0 0

3 , 2 2 6 0 1 2 5 1

6 , 5 9 1 7 0 3 0

5 , 0 4 0 0 0

6 , 6 0 1 7 0 1 2 7 0

4 , 0 3 7 0 1 0 3 0

5 , 1 4 0 5 1

6 , 6 2 1 7 0 1 0 0

1 , 2 4 8 0 2 5 0

2 , 1 5 9 0 1 3 0

6 , 6 1 1 7 0 8 1

T A B L A B L O Q U E S D E M E M O R IA

U B IC A C IO N

B L O Q U ED E

Page 131: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.1

1 . G E S T I O N D E E N T R AD A S AL I D A En un principio, la C.P.U. controlaba "personalmente" todas las operaciones de entrada/salida. Es suponía un desperdicio ingente de la potencia de la C.P.U. Imaginar un microprocesador actual, capaz de realizar Millones de Instrucciones Por Segundo (MIPS), muerto de risa por que se tiene que esperar a que una impresora de 160 Caracteres Por Segundo (CPS) imprima El Quijote. Esta claro que hay que separar las funciones de entrada y salida de información de las funciones propias de la C.P.U. para permitir un mejor rendimiento de éste. Así aparecen las unidades de entrada/salida. Las unidades de E/S (en inglés Input/Output: I/O) no son más que unos procesadores específicos dedicados al tráfico de información entre los dispositivos y la C.P.U. además de adaptar el formato o código de la información en el soporte de forma que la C.P.U. no se "moleste" en traducirlo. Dicho a lo bestia: Cuando un programa necesita imprimir un dato, se lo dice a la unidad de E/S, ésta se encarga de hacerlo y mientras tanto la C.P.U. puede hacer otras cosas. No debemos entender el canal como el medio físico por donde "viaja" la información desde la unidad de E/S hasta el dispositivo correspondiente. Es algo mucho más sofisticado hasta el punto que existe una programación de canal como ya veréis en TeleProceso (verificar si un periférico está conectado, si está en línea, verificar el estado de la transmisión, recuperar errores si es posible, atender simultáneamente a varios periféricos, equilibrar la velocidad de transmisión en función del periférico, adaptar el código o traducirlo al que entiende el periférico, informar a la C.P.U. del éxito o no de la transmisión, etc., etc., etc.). DMA, etc

Page 132: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.2

2 . G E S T I O N D E L AL M AC E N AM I E N T O S E C U N D AR I O El paso previo para introducirnos en el tenebroso mundo de los archivos es estudiar donde y como se almacena la información. La primera parte, el donde, es precisamente es estudio de los distintos soportes de información. Podríamos definir como soporte el substrato donde se almacena la información, es decir, el medio físico que recibe o almacena la información más o menos permanentemente (no desaparece al apagar la luz). Así, se distinguen dos tipos fundamentales de soportes: a) Aquellos que permiten que la información en él contenida sea reconocible por el ordenador (o el dispositivo encargado de tal fin) b) Aquellos que no son susceptibles de ser reconocidos por el ordenador. Estos últimos no los estudiaremos, pero para que lo entendáis, un soporte del tipo papel, con información escrita de forma manuscrita (tu cuaderno de apuntes), no es un soporte que permita que la información en él contenida sea reconocible por un dispositivo directamente . Y esto es así, sencillamente porque no se ha utilizado ningún tipo de codificación de la información. Sin embargo, el soporte papel con algún tipo de codificación, permite ser utilizado directamente por el ordenador, como es el caso de la cinta perforada. Esto ser cinta perforada, símbolo "o" significa "agujero". ────────────────────────────────────────────────────────── o o o o o o o o o o o o o o o o ................................................... ....... o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ooo o ──────────────────────────────────────────────────────────

Para leer la información contenida en una cinta perforada se utiliza un código binario, el "o" o agujero permite que la luz pase por él. Un dispositivo fotosensible, una célula fotoeléctrica, al recibir la luz a través del agujero hacía que se cerrara el circuito eléctrico, significando en este caso el dígito binario "1". La ausencia de agujero significa el "0". La combinación de "0" y "1" dependiendo del código utilizado tendrá un determinado significado para el ordenador, como ya deberíais saber. (Los puntitos son perforaciones para el arrastre del papel por medio de una rueda dentada) De perfil: Luz Cinta Célula Bit │ ─────────────────────────────────────────> ▓ 1 │ ────────────────────> │ ▓ 0 │ ─────────────────────────────────────────> ▓ 1

Page 133: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.3

Criterios de clasificación de los soportes. Se pueden establecer muy diversos criterios en la clasificación de los soportes. En cualquier caso, un criterio de clasificación no hace otra cosa que remarcar alguna de sus características. Señalemos alguno: a) Funcionalidad: Por su función se pueden clasificar a su vez en tres grupos:

1. Soportes de entrada: "introducen" datos en el ordenador (ejemplo: la tarjeta perforada).

2. Soportes de salida: "extraen resultados del ordenador" (ejemplo: el papel impreso).

3. Soportes intermedios: "operan" con los datos dentro del ordenador (núcleos o chips). También se incluyen las memorias auxiliares o masivas (discos magnéticos).

b) Legibilidad. La facilidad o imposibilidad de ser leído directamente por el hombre permite considerar: 1. Soportes legibles directamente: Caracteres magnéticos, pantallas. 2. Soportes legibles mediante traducción: cinta perforada. 3. Legibles con traducción por maquina: cintas y discos magnéticos. c) Reutibilidad.

Un soporte es reutilizable si en el lugar que contenía una información, podemos grabar otra nueva. Por ejemplo, una cinta magnética es reutilizable, sin embargo una cinta perforada no lo es.

d) Direccionabilidad.

Existen soportes que están divididos en fragmentos cada uno de los cuales tiene una "referencia" de identificación totalmente independiente de la información que soporte. A esta referencia se le llama dirección y a los soportes que poseen esta propiedad se les denomina direccionables. Así lo son los disco magnéticos y la memoria RAM. En los soportes no direccionables, para acceder a una determinada información habrá que explorar, generalmente, todas las que le preceden. Es el caso de la cinta magnética, cinta perforada.

Existen además otros criterios de clasificación como son la velocidad de acceso (tiempo medio de acceso), velocidad de transferencia, etc. O también el costo de almacenamiento por unidad de información, etc.

Page 134: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.4

3 . R E G I S T R O S El registro es una estructura de datos compuesta. El método más general es "juntar" elementos de cualquier tipo, incluso estructurados (como es el array). Para ilustrar este término pongamos el ejemplo matemático de las coordenadas de un punto en un plano. Cada coordenada está compuesta de dos valores: a) Caso de coordenadas cartesianas: valor de la coordenada en el eje x valor de la coordenada en el eje y b) Caso de coordenadas polares: valor del módulo ángulo Podríamos definir las variables de la siguiente forma:

a) var x: real; y: real b) var modulo: real; ángulo: real;

Sin embargo, si estudiamos detenidamente las declaraciones anteriores, vemos que estamos definiendo en cualquier caso dos variables independientes referidas a una única estructura: la coordenada. El método para eliminar este "problema" es el uso de la estructura registro que nos permite definir estructuras complejas. type T = record s 1: T 1; s 2: T 2; ... s n: T n; end

Para los ejemplos anteriores: a) type coordenada_carte = record x: real; y: real; end

b) type coordenada_polar = record modulo: real; angulo: real; end

Otra forma, más vulgar, de definir el registro es como sigue: El conjunto de datos referentes a una misma entidad o cosa, que constituye una unidad para un determinado proceso La primera pregunta que debemos hacernos es como se utilizan (manejan) los datos que forman parte de un registro, es decir, como podemos "sacar" o "meter" un valor en la variable modulo .

Page 135: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.5

Si definimos la siguiente variable: var punto1: coordenada_polar;

Distinguimos los distintos elementos del registro punto1 de la siguiente forma: begin punto1.modulo:=12.5; punto1.ángulo:=35; end.

Vale, pero si el registro punto1 tuviera muchos elementos nos aburriríamos de escribir siempre punto1. algo, además, cada vez que hiciéramos referencia a punto1 el compilador debe averiguar su dirección de memoria. Para evitar este "problema" se utiliza lo que vulgarmente se llama "apertura de registro", el with . Ejemplo: begin with punto1 do begin modulo:=12.5; angulo:=35; end; end.

Dependiendo del lenguaje de programación utilizado se permiten estructuras del tipo registro más perfectas, los llamados registros variantes . En la práctica es a menudo conveniente considerar dos tipos de datos como variantes del mismo tipo. Por ejemplo, para el caso de las coordenadas deberíamos definir dos estructuras distintas en función de la forma en la que expresemos la coordenada, cuando en realidad sólo son variantes de una misma estructura. PASCAL permite (otros muchos lenguajes no lo permiten) este tipo de registro que en cualquier caso debe incluir "algo" que determine en una coordenada determinada cual de los dos métodos se va a usar. Este elemento recibe habitualmente el nombre de discriminante de tipo o campo indicador. Ejemplo: type coordenada = record case tipo:(cartesiana,polar) of cartesiana: (x,y: real); polar: (modulo,angulo: real); end

En este ejemplo el elemento discriminante es tipo . ¿Como se usa un registro de este tipo? Para ver como se utilizan los registros variantes, utilizaremos otro ejemplo, los datos de un individuo:

Page 136: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.6

type fecha = record dia: 1..31; mes: 1..12; ano: 1900..2000; end; type alfa = string[12]; type persona = record ape1,ape2,nombre: alfa; nacimiento: fecha; sexo: (varon,mujer); case ecivil: (soltero,casado,divorciado) of casado: (nombre_conyuge: alfa; hijos: integer) divorciado:(hijos_total, hijos_cargo: integer) ; end;

En el caso anterior, los datos variantes del registro dependen del discriminante ecivil. Si el individuo es casado nos interesa saber el nombre de su cónyuge y el número de hijos, pero si es divorciado-a no nos interesa el nombre de su ex-cónyuge (que para algo se han divorciado) y sí el número de hijos habidos en el matrimonio y, de estos, cuantos están a su cargo. Pero todavía no sabemos manejar este registro. Pues mirar el ejemplo siguiente: var individuo: persona; begin with individuo do begin case ecivil of casado: (* pedir nombre esposa e hijos *) divorciado: (* pedir total hijos y hijos a su cargo *) end; end; end.

Si el individuo esta casado pediremos los datos: nombre de la esposa y número de hijos. Si el individuo esta divorciado pediremos el número total de hijos y cuantos están a su cargo. Para no olvidar el concepto array, ¿si queremos almacenar 100 individuos ... ? var individuos: array[1..100] of persona;

Existen más estructuras estáticas de datos, pero se salen del propósito de esta asignatura. Para el que quiera conocer más y mejor las estructuras le recomiendo el siguiente libro: ALGORITMOS + ESTRUCTURAS DE DATOS = PROGRAMAS NIKLAUS WIRTH EDICIONES DEL CASTILLO ISBN: 84-219-0172-9

Page 137: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.7

4 . AR C H I V O S O F I C H E R O S . El manejo de informaciones con ordenador plantea la necesidad de dotar a éstas de una estructura física (sobre un soporte) y lógica, tales que permitan sean tratadas con la máxima coherencia. En la línea de organizar la información agrupada sobre el mismo soporte, entra de lleno la noción de FICHERO. Un fichero o archivo lo definimos como un conjunto de informaciones agrupadas sobre el mismo soporte y organizadas en elementos identificables (análogos entre si) denominados registros . Como hemos indicado, un fichero se compone de "registros". Un registro es un conjunto de campos (o unidades de información o dato) que determinan unívocamente a una entidad objeto de tratamiento. Por otra parte en cuanto al continente, un registro se constituye de un cierto número de posiciones, susceptibles cada una de contener un carácter; el número de posiciones expresa la longitud del registro.

4.1 TIPOS DE ARCHIVOS. Según la función que realizan los archivos, se pueden clasificar de la siguiente forma: Archivos permanentes: Son aquellos cuyos registros sufren pocas o ninguna variación a lo largo del tiempo. Encontramos los siguientes: a) Constantes: También llamados maestros . Están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo. Ejemplo: Un archivo de personal que contenga los campos: Num. Empleado/Nombre/Direccion/Hijos/Sueldo

b) De situación: En cada momento contienen información actualizada. Por ejemplo los archivos de control de venta de billetes, stock de un almacén, etc. c) Históricos: Contienen información acumulada a lo largo del tiempo, de estados anteriores de archivos, que han ido sufriendo un proceso de actualización. Archivos de movimiento: También llamados de transacciones . Se utilizan conjuntamente con los ficheros maestros y contienen algún dato común que implique la modificación de algún registro del fichero maestro. Su duración en el tiempo es breve, lo que no significa que se destruyan inmediatamente después de cumplir su función.

Page 138: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.8

Archivos de maniobra: También llamados transitorios y con mayor frecuencia temporales . Son ficheros auxiliares creados en algún proceso de la ejecución de un programa, y que se eliminan normalmente una vez terminado el proceso que los creó.

4.2 OPERACIONES SOBRE ARCHIVOS. Se resumen en cuatro grandes bloques: a) Creación : Como su nombre indica supone la creación de un fichero en un determinado soporte atendiendo a los tipos de registros utilizados y con la organización que se crea conveniente (y que esté soportada por el soporte, valga la redundancia). b) Consulta : Localizar uno o varios registros de un fichero y acceder a la información que contienen. c) Clasificación : La más importante operación a realizar con un fichero y que permitirá el resto de operaciones. Consiste en ordenar los registro respecto a uno o varios de los campos que los componen. El campo por el que se clasifica y el modo de ordenación definen el criterio de clasificación de un archivo. e) Actualización : Consiste en poner al día un determinado fichero modificando los registros que lo componen. Debemos señalar que si un archivo carece de criterio de clasificación no nos sirve para nada, pues no forma una estructura de información, siendo de esta forma inviable la automatización del proceso en el que se vea involucrado. En otras palabras: no es un fichero, es el cubo de la basura.

4.3 CARACTERÍSTICAS DE LOS ARCHIVOS. TIPOS DE REGISTROS. Se debe distinguir la diferencia entre registro físico y registro lógico. a) registro físico: supone la unidad física de intercambio, entre las unidades de entrada/salida y la CPU. Es el conjunto de informaciones (caracteres) que se leen o escriben de una vez. Su tamaño depende de las características del soporte en que esta contenido. b) registro lógico: constituye la unidad lógica de tratamiento del fichero. Para distinguirlos valga simplemente que un registro físico puede contener varios registros lógicos o, a la inversa, un registro lógico puede necesitar de varios registros físicos. Llamaremos campo a un conjunto de caracteres que ocupan lugares consecutivos y tienen un significado propio. Se suelen distinguir: Indicativos, Códigos, Campos numéricos/alfanuméricos/alfabéticos.

Page 139: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.9

Clave del registro. En todo registro existe un dato elemental que lo identifica y diferencia del resto de registros del fichero. Es su dato más representativo (el indicativo o clave). Indicar que no necesariamente este dato esta contenido dentro los campos que componen un registro. Puede darse el caso (y de hecho así ocurre con frecuencia) que la clave de un registro es sencillamente la posición de éste dentro del fichero, no siendo necesario incluirlo dentro del registro pues sería información redundante. En un fichero de clientes, por ejemplo, el campo "número del cliente" identifica breve y unívocamente a cada cliente. Longitud del registro. También es necesario distinguir que no necesariamente los registros de un mismo fichero deben de tener la misma longitud (longitud fija ). Es posible, tal es el caso de los registros de longitud variable , que necesitan de una marca o dato que especifique su longitud. MODOS DE ACCESO. Se suelen establecer tres métodos de acceso: SECUENCIAL DIRECTO INDEXADO Acceso Secuencial. Los registro se almacenan y recuperan en sucesión cronológica en posiciones consecutivas. Para acceder a un registro es necesario pasar todos los anteriores (como buscar una canción en una cinta). Este acceso es posible bajo cualquier organización. Acceso directo Conociendo la clave del registro se accede directamente a la zona donde se encuentra el registro, mediante una función que convierte la clave en la dirección donde se encuentra el registro. Acceso indexado En este caso en la zona de índices se localiza la clave del registro y el dato asociado (dirección) nos indica donde se encuentra el registro. Es necesario al existir acceso a los índices que el fichero se haya creado como organización indexada (lógico, si no, no habría índices).

Page 140: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.10

4.3 ORGANIZACIÓN DE LOS ARCHIVOS. Entendemos por organización la adecuación de los diferentes registros de un fichero en el espacio disponible de soporte físico reservado a tal efecto y con arreglo a una estructura prefijada. Todo ordenador soporta una serie de organizaciones que hacen posible el almacenamiento y la posterior utilización de los datos de un fichero. Normalmente los sistemas operativos soportan las siguientes organizaciones: - SECUENCIAL - INDEXADA - RELATIVA Se debe distinguir con claridad el "modelo de organización" de los "métodos de acceso" de un fichero. Método de acceso es el modo de escribir o leer - por un programa - los registros de un fichero. Modelo de organización determina los modos de acceder los registros de ese fichero. Secuencial. En principio cualquier tipo de soporte permite esta organización, ya sea en tarjetas perforadas, cintas o discos. En un fichero secuencial, los registros se almacenan unos a continuación de otros, sin huecos, según el orden cronológico de llegada. La secuencia física de almacenamiento coincide con la secuencia lógica en caso de clasificación previa de los registros. La característica fundamental de esta organización es que cada registro sigue físicamente al anterior. En una organización secuencial el tratamiento de puesta al día obligará a reescribir sobre un segundo soporte análogo al anterior los registros del fichero, incorporando los nuevos artículos no presentes en el fichero inicial. Existen dos variantes en la organización secuencial: la pura (vista hasta ahora) y la encadenada. En la organización SECUENCIAL ENCADENADA, cada registro además de los datos contiene una o más zonas llamadas punteros con la dirección del siguiente o anterior registro en la secuencia lógica.

Page 141: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.11

Mediante este sistema de enlaces, un fichero puede encontrarse ordenado lógicamente, sin que lo este físicamente. Es necesario para esta organización soportes que permitan ser direccionables. Un fichero de estas características debe constar además de los punteros de una zona de desbordamiento destinada a alojar la nuevas altas que se producen una vez creado el fichero. Directa o relativa. En esta organización, el fichero en disco que la soporta, se divide previamente en elementos destinados cada uno a albergar un registro. Los registros se almacenan en direcciones relativas al comienzo del fichero. Dichas direcciones vienen a ser un número entero calculado a partir de la clave del registro. La dirección donde se encuentra cada registro será un valor comprendido entre 1 y el máximo de registros reservados independientemente del orden de llegada de los registros. El principal problema de esta organización consiste en crear una función que permita que para cada clave del registro solo le corresponda una dirección. Si no es así se dará el caso de los sinónimos, es decir a dos claves distintas le corresponde la misma posición en el disco?!. Indexada. Este modelo de organización se soporta únicamente sobre soportes direccionables - discos -. En un fichero indexado se distinguen fundamentalmente tres zona o áreas: datos, índices y overflow (o desbordamiento). Los registros del fichero se irán alojando secuencialmente en la zona de datos. Dichos registros son referenciados mediante un fichero de índices. Cada una de estas referencias consta de un "indicativo" o clave de un registro y la dirección física donde se encuentra el registro.

4.4 UTILIZACIÓN DE ARCHIVOS. SECUENCIALES . Creación de archivos secuenciales. El primer proceso imprescindible para cualquier operación con ficheros es la construcción del registro. Este proceso consiste en definir los campos que lo van a componer, su tipo (numérico, alfanumérico, etc.), su longitud y el orden en el que se van a encontrar en el registro.

Page 142: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.12

Una vez realizado, el siguiente proceso es definir el modo de organización del archivo, en este caso es secuencial, y darle un nombre de acuerdo a las normas establecidas por el Sistema Operativo que se utilice. Por último será necesario introducir los datos que componen un registro (esta entrada se realiza habitualmente por teclado) y definir una condición de fin de fichero. Esta condición suele consistir en la introducción por el medio de entrada de una clave que indique la no existencia de más registros, momento en el que se cierra el fichero. Lectura y búsqueda en archivos secuenciales. El siguiente proceso lo constituye la localización de un determinado registro en un archivo. En el caso de la organización secuencial, es necesario la lectura de cada uno de los registros que componen el archivo hasta localizar el que estamos buscando. Si el archivo no tiene ningún criterio de clasificación será necesario la lectura completa del archivo, pues el registro que estamos buscando puede ser el último. Para evitar este problema, los archivos secuenciales se clasifican siempre por algún criterio, siendo el más habitual el orden alfabético ascendente (como la guía de teléfonos). Altas, Bajas y modificaciones en archivos secuencia les. Se agrupan en este apartado las tres operaciones básicas sobre archivos secuenciales. El concepto más importante en este tipo de operaciones es la necesidad de disponer de otro archivo donde quedaran reflejadas las operaciones realizadas. El ejemplo más habitual de este tipo de operaciones se encuentra en el enfrentamiento de archivos: Se dispone de un fichero de organización secuencial, con un determinado criterio de clasificación, denominado MAESTRO. Existe un segundo archivo, también de organización secuencial que debe estar organizado con el mismo criterio del archivo MAESTRO, denominado MOVIMIENTOS. Este último, en sus registros, contiene las operaciones a realizar con los archivos de primero (modificar algún dato de un registro del fichero MAESTRO, añadir un registro que no se encuentra en el MAESTRO - alta -, eliminar un registro - baja -). Todas estas operaciones se realizan sobre un tercer fichero denominado MAESTRO ACTUALIZADO, cuya organización suele ser secuencial, y su criterio ha de ser el mismo que los dos ficheros anteriores. La necesidad de este tercer fichero radica en la imposibilidad mediante la organización secuencial de realizar inserciones de nuevos registros (seria necesario desplazar una posición hacia delante todos los registros que le siguen), de la misma manera que en una cinta de música no podemos insertar una canción. El mismo problema existe en el caso de las bajas, si podemos borrarlos, al igual que podemos eliminar una canción de la cinta, pero su espacio estaría desaprovechado.

Page 143: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.13

Una vez se termina el proceso el fichero MAESTRO ACTUALIZADO pasa a ser el MAESTRO, y el proceso se repite cada vez que sea necesario una actualización. Ordenación de un archivo secuencial. En el punto anterior se dio como premisa que tanto el fichero maestro como el de movimientos estaban ordenador ascendentemente por el campo apellido. Sin embargo todavía no sabemos como se ordenan ficheros secuenciales. Existen distintos métodos para la ordenación de ficheros secuenciales. a) Si en fichero nos cabe por completo en la memoria del ordenador podemos utilizar el método de la burbuja y una vez ordenado grabarlo en la cinta. b) Pero si el fichero no nos cabe en la memoria la cosa se complica. Uno de los métodos más utilizados es el denominado de "rotación de cintas". Consiste básicamente en dos procesos. El primero de ellos es "partir" el fichero en dos, grabando un registro en una cinta y el siguiente en la otra, hasta la finalización del archivo. El segundo consiste en "mezclar" los registros de ambas cintas grabando en un archivo de salida siempre primero el menor de ambas (si queremos ordenarlo de menor a mayor) y así hasta la finalización de ambas cintas. Si hemos detectado que el archivo de salida esta ordenado se termina, si no, se repite el proceso desde el punto anterior, pero esta vez sobre el archivo generado en este punto. Es evidente que cuantas más cintas (archivos) dispongamos menos se tardara en ordenar el archivo. Este sistema se utilizará cuando no se disponga de soportes de acceso directo.

DIRECTOS. Es aquel al que se accede directamente a un determinado registro por la posición que ocupa dentro del fichero. Para que esta organización sea posible es necesario:

a) Utilizar un soporte direccionable b) La existencia de un campo clave

Establecer una correspondencia entre los valores de las claves y las direcciones disponibles en el soporte. Esta correspondencia se realiza transformando la clave del registro en la posición de almacenamiento en la que reside el registro en el archivo. El mecanismo utilizado para obtener la dirección de denomina "algoritmo de aleatorización" o mejor función hash . Dada una clave k y la función de conversión f se tiene

Page 144: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.14

f(k) -> p donde p es la posición del registro en el soporte. Dirección absoluta y dirección relativa. La posición real de un registro dentro de un soporte se denomina dirección absoluta o dirección física , que en el caso de un disco se compone de:

dirección p : nº de plato, cilindro, pista y sector. En la práctica, pues si no sería un lío, se manejan direcciones relativas al comienzo del archivo. Así, el archivo puede cambiar de sitio, pero la dirección respecto al comienzo del archivo no cambiará. Un archivo directo constará de:

- zona principal de almacenamiento de registros. - zona de desbordamiento (overflow )

Para el manejo de este tipo de archivos se necesita un función de conversión que permita distribuir los registro sobre el soporte de la forma más homogénea posible. Si dada la función f(k) -> p y dos clave k1 y k2, de tal forma que f(k1) -> p y f(k2) -> p es decir, la función me devuelve la misma dirección para dos claves distintas, se producen sinónimos o colisiones . Los registros cuyas claves producen esta condición se almacenan secuencialmente en la zona de desbordamiento (overflow ). Factor de carga. Factor de carga (fc ) es igual al número de registros reales almacenados en una zona dividido por el número de registros reservados en esa zona para el archivo. En los archivos directos es necesario conocer previamente el número de registros que se quiere almacenar para dimensionar el archivo. En la realidad, el tamaño del archivo se sobredimensiona por tres motivos distintos: a) Por lo que pueda pasar b) Para almacenar los registros de overflow c) Por que la función de hashing puede dar valores fuera del tamaño del

archivo (en su tamaño estricto). Por ello se necesita conocer el factor de carga:

Page 145: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.15

El factor de carga debe ser menor de 1 (100% de almacenamiento, ya no cabe ni una aguja). Valores estándar son desde 0.5 a 0.8 Funciones de conversión (hash). Como ya se ha explicado anteriormente, la función de hash será la que nos convertirá la clave del registro en su posición. Pero una función hash debe intentar cumplir las siguientes condiciones:

• Distribuir las claves uniformemente entre todas la direcciones. Es decir, debe producir el menor número posible de sinónimos.

• Ejecución eficiente. El algoritmo debe ser rápido, pues si tarda más en averiguar

donde esta el registro que en procesarlo, mal asunto ...

• Dejar el menor número de huecos posibles. Hay que aprovechar el espacio. Métodos de conversión de claves (hashing). Hay miles de métodos para convertir una clave en la dirección del registro. Incluso puede llegar a ser posible que no sea necesario esta conversión (desgraciadamente pocas veces). a) Módulo Es el más popular y usado. F(clave) = clave mod n donde N es el tamaño del archivo (direcciones posibles). mod es una función que incorporan la mayoría de los lenguajes de programación. Devuelve el resto de la división entera entre clave y N. La ventaja de este método es que el resultado estará siempre dentro del rango del espacio de dirección (entre 0 y N-1). Ejemplo: En PASCAL: var a: integer; begin a:=10 mod 3; end.

10 / 3 = 3 y queda 1 de resto. luego a contendrá el valor 1 (el resto). En COBOL: divide 10 by 3 giving cociente remainder resto

Page 146: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.16

en el identificador resto quedará el resto de la división. En CUALQUIERA: En un lenguaje que NO tenga función mod (ya empieza a ser raro) pues lo hacéis: Suponer que un BASIC marca registrada pepe no lleva función mod ... 10 COCIENTE = INT ( DIVIDENDO / DIVISOR ) 20 RESTO = DIVIDENDO - ( DIVISOR * COCIENTE )

Habitualmente el número elegido como divisor es el número primo más cercano al número de registros. b) Cuadrados Este método consiste en elevar al cuadrado la clave y extraer o truncar una parte del resultado que será la dirección. Ejemplo: Clave 45832 45832*45832=110 0572 224 Dirección lógica 0572 Simplemente se ha truncado el número y nos hemos quedado con los números del centro. El número de operaciones con los cuadrados son infinitas, tanto, que este método se utiliza como RANDOM (instrucción de aleatorización) en muchos lenguajes de programación. c) Claves alfabéticas Se muestra este método para ver como será el método hash si la clave de un registro es alfabética en vez de numérica. Se muestran dos métodos: a) Asociar a cada letra su código ASCII y sumar los valores. b) Asociar a letra un número de orden (A=1, B=2, C=3, etc.) la suma resultante serán la direcciones lógicas, o se utilizaran como valor inicial en un algoritmo hash. a) R U I Z b) R U I Z 82 85 73 90 18 21 8 26 ------------------- ------------------ -- 82+85+73+90 = 330 18+21+0 8+26 = 73

Tratamiento de las colisiones. No pueden eliminarse, pues los algoritmos de hash no son infalibles, pero deben reducirse en lo posible. Por lo tanto debe existir un método para tratarlos.

Page 147: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.17

El más sencillo es cuando se produce una colisión, nos situamos en la zona de desbordamiento y buscamos la primera posición libre. Una vez encontrada se graba el registro en esa posición. Otra más elaborada es la de las cubetas. Simplemente se reserva en cada posición espacio para más de un registro. Si se produce un sinónimo se graba en el hueco libre de la cubeta. El ultimo hueco de la cubeta contiene un puntero que nos indicara la cubeta de desbordamiento en el caso de que se llene (mas sinónimos que huecos hay en la cubeta).

INDEXADOS. El fichero secuencial indexado surge con la necesidad de armonizar las dos organizaciones anteriores: En la organización secuencial no tenemos acceso a un determinado registro directamente. En la organización directa no podemos procesar los archivos ordenadamente, pues se encuentran grabados al azar. Un fichero secuencial indexado, que a partir de ahora llamaremos ISAM (Indexed Secuencial Access Mode) reúne en uno las ventajas de las dos organizaciones (y sus defectos). Requisitos: Es necesario la existencia de un soporte direccionable para su uso. Cada registro debe incluir una clave que lo distinga de los demás. Un fichero ISAM se compone de:

• Area de índices • Area principal • Area de oveflow

El área de índices es un archivo secuencial que contiene las claves del ultimo registro de cada bloque físico del archivo y la dirección al primer registro del bloque. El área principal contiene los registros de datos, clasificados ascendentemente por el campo clave. El área de overflow contiene los nuevos registros que no se han podido situar en el área principal CLAVE DIRECCION PISTA DATOS

0025 01 01 0015 0017 0018 0023 0025 0047 02 02 0030 0047 0065 03 03 0050 0052 0053 0058 0065

Page 148: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.18

0123 04 04 0070 0080 0115 0123 ..... ..... 1150 94 94 1045 1100 1150 OVERFLOW

¿Cómo funciona?. La búsqueda: Como muestra la figura anterior en la zona de índices, se almacena la clave de mayor valor almacenada en la pista. Cuando se quiere localizar un registro con una determinada clave, por ejemplo clave = 53, se busca secuencialmente en la zona o área de índices. En este caso la clave 53 es mayor que 47 y menor que 65, luego deberá encontrarse en la pista 03. Una vez localizada la pista, no situamos directamente en la pista 03 (he aquí la necesidad de utilizar un soporte direccionable) y leemos uno a uno los registros que allí se encuentran, hasta localizar el que nos interesa. La grabación de un nuevo registro: Supongamos que queremos añadir dos registros cuyas claves son 40, 55 y eliminar el registro 123. En el primer caso, clave = 40, habrá que grabarlo en la pista 02 pues el ultimo registro almacenado en esa pista es el 47. En esta situación, se "inserta" el registro de clave 40 en la posición que permita mantener ordenado los registros de esa pista. En este caso, entre el 30 y el 47. Para el caso del registro con clave 55 no encontramos que no caben más en la pista donde debe ser almacenado. En este caso, se inserta el registro en la posición lógica para mantener ordenada la pista, y el registro que se nos "sale" por la derecha se almacena en la zona de overflow En el caso de eliminar el registro 123, su hueco en la pista se marca como vacío y se actualiza la zona de índices con el nuevo valor máximo de esa pista. CLAVE DIRECCION PISTA DATOS

0025 01 01 0015 0017 0018 0023 0025 0047 02 02 0030 0045 0047 0065 03 03 0050 0052 0053 0055 0058 0115 04 04 0070 0080 0115 @@ ..... ..... 1150 94 94 1045 1100 1150 OVERFLOW

Page 149: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.19

0065

En el caso de que posteriormente quisiéramos acceder al registro de clave 65, primero buscaríamos en la pista 03 y al no encontrarlo lo buscaremos en la zona de overflow. Como habréis imaginado, puede llegar un momento en el que unas pistas puedan esta prácticamente vacías y otras tener muchos registros en la zona de overflow. Si no, pensar sobre el ejemplo anterior las siguientes operaciones: Eliminar los registros 30 y 45. Añadir los registros 54, 57, 60, 62. Periódicamente, o cuando se detecta un indique de ocupación elevado en la zona de overflow se realiza una reordenación para distribuir más razonablemente los registros y los índices. Hasta ahora, se parece mucho a la organización directa. ¿Dónde esta la ventaja? La ventaja radica en que si nos colocamos al principio de la zona de datos y lo leemos secuencialmente, nos encontramos con que el fichero esta ordenado, que será muy conveniente para determinados procesos. Por ejemplo, en el caso de un archivo de tarjetas de crédito, será muy conveniente poder leer el saldo de una determinada tarjeta en el momento que su propietario quiere realizar una compra. Esta operación se realizara rápidamente por que podemos acceder al registro de forma casi directa. Sin embargo, la necesidad de examinar cada registro para emitir un determinado informe, sugiere un procesamiento secuencial, que podremos realizar al ser la organización ISAM. Por este motivo, este tipo de organizaciones (hemos visto la más sencilla, se puede complicar mucho mas) se impone en la empresas que necesitan realizar este tipo de actividades. Por último, indicar, que el mantenimiento de esta organización (actualizar claves, insertar registros, etc.) no las realiza el programador, sino el lenguaje utilizado. Lenguajes que no soportan directamente los ficheros ISAM son: BASIC, PASCAL Si pueden con ellos: COBOL, DBASE

Page 150: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.20

Un buen, gran, enorme ejercicio es realizar una rutina en PASCAL o BASIC para permitir la organización ISAM.

5 . AC T U AL I Z AC I O N E S D E AR C H I V O S . Puesto que ya se han visto a lo largo de los puntos anteriores, se resume aquí las operaciones a realizar con los archivos y sus registros:

SOBRE ARCHIVOS OPERACIÓN SIGNIFICADO creación escritura de los registro sobre el soporte consulta lectura total o parcial de los registros actualización inserción, supresión o modificación de algunos registros ordenación clasificación de los registros por un campo clave

reorganización nueva organización del archivo en el soporte después de realizar numerosas operaciones de actualización

borrado supresión física del archivo dejando libre el espacio que

ocupaba en el soporte fusión reunión de dos o más archivos en uno solo rotura división de un archivo en dos o más trozos.

SOBRE REGISTROS OPERACIÓN SIGNIFICADO inserción añadir un nuevo registro supresión borrar o eliminar un nuevo registro modificación alterar la información de un registro consulta lectura total o parcial de uno o varios registros

Page 151: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.21

EJEMPLO DE USO DE FICHEROS SECUENCIALES 1. ORDENACIÓN DE UN FICHERO SECUENCIAL SIN DISPONER DE SOPORTES DIRECCIONABLES. DIAGRAMA DE FLUJO

fich1

mezclar

fich1

separar

fich2

fich3

S E U D O C O D I G O P R I N C I P AL

INICIO

PROCESO Repetir Separar Mezclar Hasta ordenado=si

FIN

S E U D O C O D I C O S E P AR AR INICIO Abrir entrada fich1 Abrir salida fich2 y fich3

PROCESO Sw=0 Leer fich1 repetir Si sw=0 Grabar fich1 en fich2 sw=1 Sino Grabar fich1 en fich3 sw=0 Fin si Leer fich1 Hasta fin(fich1)

FIN Cerrar ficheros

ESTRUCTURA DE REGISTRO: CAMPO TIPO LONGITUD -------------- -------------- --------------- NCUENTA: ENTERO 2 BYTES TIPO: CARÁCTER 1 BYTE IMPORTE REAL 6 BYTES RESTO: CARÁCTER 119 BYTES ------------- TOTAL 128 BYTES

Page 152: Apuntes sistemas01092008

TTT EEE MMM AAA VVV ... FFF III CCC HHH EEE RRR OOO SSS

Entrada y Salida. Registros y Ficheros V.22

Labor a realizar por el alumno, reformar el seudocódigo para cambiar los Repetir por Mientras, realizar su programación en C. OJO A LOS EOF ...

SEUDOCODIGO MEZCLAR

INICIO Abrir Entrada Fich2 y Fich3 Abrir Salida Fich1 Ult = 0 Ordenado=SI

PROCESO <LeerFich2> <LeerFich3> Repetir Si cuenta.fich2 < cuenta.fich3 Grabar fich2 en fich1 Si cuenta.fich2 >= ult Ult = cuenta.fich2 Sino Ordenado = NO Fin Si <LeerFich2> Sino Grabar fich3 en fich1 Si cuenta.fich3 >= ult Ult = cuenta.fich3 Sino Ordenado=NO Fin Si <LeerFich3> Fin SI Hasta fin(fich2) y fin(fich3)

FIN Cerrar Ficheros <LeerFich2> Leer fich2 Si fin(fich2) cuenta.fich2=99999 Fin si <LeerFich3> Leer fich3 Si fin(fich3) cuenta.fich3=99999 Fin si

PROBAR CON LOS SIGUIENTES DATOS: 2 2 1 3 Como no funciona con < se cambia por <= y curioso ya funciona, pero probar con 2 2 2 1 3 ...

Page 153: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.1

1 . AD M I N I S T R AC I Ó N D E L A U C P , M U L T I P R O G R AM AC I Ó N Y T I E M P O C O M P AR T I D O . El supervisor mediante las rutinas de interrupciones y el despachador junto con las rutinas de apertura y cierre (NÚCLEO del S.O.) gestiona los sistemas de multiprogramación. Mientras se realizan las operaciones de E/S la UCP podía ejecutar miles o millones de instrucciones, en lugar de estar inactiva, como pasa con los sistemas de monoprogramación (hasta que no termine de ejecutarse un programa no comienza a ejecutarse el siguiente). La multiprogramación es una técnica que aprovecha los tiempos muertos de la UCP , los tiempos muertos en periféricos y los espacios en memoria principal no ocupa-dos por el proceso. Consiste en cargar en memoria principal varios procesos (aprovechando mejor la memoria al estar llena de programas), el S.O. concretamente un modulo llamado despachador (“Dispatcher”) o planificador de prioridades de la UCP, va dando turno de ejecución a cada uno de los procesos almacenados en memoria, provocando sucesivas interrupciones, cerrando (guardando el estado de los registros) y abriendo (cargando el estado de los registros) procesos.. El tiempo asignado a cada trabajo depende del tipo de multiprogramación empleado, pero en todos los casos, los programas se van ejecutando a lo largo del tiempo “a trozos” (del orden de 100 ms) dando la sensación a los usuarios de que todos los trabajos en memoria se están ejecutando simultáneamente. Existen tres tipos básicos de multiprogramación:

A) MULTIPROGRAMACIÓN CLÁSICA. El despachador da el turno a un trabajo P1. Cuando P1 tiene que realizar una operación de E/S da el turno a P2 hasta que este a su vez tenga operaciones de E/S pasando a ejecutar P3 y así sucesivamente. Cuando P1 acaba la operación de E/S, el periférico utilizado mediante una interrupción lo comunica a la UCP, dándole el despachador la vez la próxima ocasión que le toque el turno. Este tipo de multiprogramación tiene el inconveniente de que un programa con mucho tiempo de UCP (mucho “calculo”) y pocas E/S puede “monopolizar” la UCP hasta que acabe su ejecución.

B) TRATAMIENTO PARALELO. A cada uno de los programas en memoria se les asigna un intervalo de tiempo fijo (período T) o “quantum” (décimas de segundo), cuando finaliza el “quantum” de un proceso, el despachador pasa el control al siguiente proceso y así sucesivamente.

Page 154: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.2

Este sistema se lleva a cabo mediante un circuito contador , activado por el reloj de la UCP. Se trata de un temporizador digital que cuando su salida llega a una determinada cuenta (tiempo T) provoca una interrupción de la UCP avisando al despachador para dar turno a otro trabajo. Este tipo de multiprogramación sigue teniendo tiempos muertos, bien porque en el transcurso de un quantum se produce una E/S en el programa en curso, bien porque cuando se da la vez a un programa, este está aún en una operación de E/S.

C) TIEMPO COMPARTIDO. En este caso, el modulo de prioridades de la UCP da el turno a un nuevo programa P1+1 interrumpiendo el P1, siempre que este cumpla una de las dos siguientes condiciones: a) El programa P1 agote su quantum b) El programa P1 entra en la ejecución de una E/S. La idea de tiempo compartido se liga a la posibilidad de poder utilizar desde varios terminales interactivos, concurrentemente los recursos del ordenador (UCP y memoria principal). Los sistemas que permiten la utilización aparentemente simultánea del ordenador por diversos terminales interactivos se denominan sistemas de acceso múltiple (“multiaccess”), estos sistemas utilizan multiprogramación y tiempo compartido. Un sis-tema de tiempo compartido, no ha de ser necesariamente de acceso múltiple, ya que pueden estar dedicados únicamente a procesar trabajos en colas (secuencias múltiples o lotes-paralelo o “multi-streams" en contraposición a lotes serie o colas-serie). Las rutinas de los programas de control se dividen en tres grupos fundamentales, que a su vez se subdividen en otros más elementales, de la siguiente manera: 1. Gestionador de hardware del sistema.

a) Núcleo - Rutinas de interrupción - Dispatcher (o gestor de procesos) - Rutinas de apertura y cierre b) Gestión de memoria c) Gestión de E/S 2. Gestión de datos y archivos 3. Gestión de trabajos a) Gestionador de recursos b) Gestionador de trabajos Unas de estas rutinas están a un nivel más cercano del hardware y otras a un nivel más cercano del usuario. Los niveles más externos (más cercanos al usuario) gobiernan

Page 155: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.3

el trabajo de los más internos. Es decir, los niveles internos darán la información que requieran los niveles externos.

VARIOS

GESTIONADOR DE TRABAJOS

ASIGNACION DE RECURSOS

GESTION DE ARCHIVOS

RUTINAS DE E/S

GESTION DE MEMORIA

R.I. DISPATCHER

APERTURA Y CIERRE

USUARIO

HARDW ARE

Page 156: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.4

2 . - T É C N I C AS D E E X P L O T AC I Ó N . Si todos los recursos del ordenador (procesador, memoria, S.O, periféricos, ...) tuvieran un coste nulo no tendría ningún sentido la compartición, pero esto no es así, y lo que se busca siempre es rentabilizar al máximo el equipo ya sea ejecutando varios programas a la vez, trabajando varios usuarios simultáneamente, etc. Las diferentes formas que existen de poder trabajar con un equipo (explotación) son: Sistemas Batch . Un S.O. trabaja en modo batch, cuando los trabajos a realizar se meten en lotes al ordenador. En estos sistemas, el usuario no conversa con el sistema durante la ejecución del programa, simplemente mete su trabajo y al cabo de cierto tiempo recibe los resultados. Multiproceso . Si un sistema solo puede trabajar con un procesador, se le llama Sistema Monoprocesador . Pero por razones de potencia o velocidad, puede ser interesante el uso de varios microprocesadores funcionando simultáneamente y compartiendo memoria central y periféricos; si el sistema operativo permite manejar todos los procesadores, se le llamará Sistema Multiprocesador . El caso más simple es cuando dos o más procesadores son manejados por el mismo programa control, que es el que reparte los procesos (del mismo o de varios programas) entre ellos, compartiendo memoria central.

U.C.

U.A.L.

Regs

U.C.

U.A.L.

Regs

MEMORIA CENTRAL

Algunos problemas necesitan llevar a cabo los mismos cálculos en muchos conjuntos de datos. Dado que se usa el mismo programa para cada conjunto de datos, un procesador con un PC y un decodificador de instrucciones, pero con varias UAL y varios conjuntos de registros puede llevar a cabo esas tareas simultáneamente. Esto se denomina Procesador matricial .

U.A.L.

Regs

U.A.L.

Regs

MEMORIA CENTRAL

U.A.L.

Regs

UNIDAD DE CONTROL

Algunas maquinas disponen de varias UAL distintas para la suma, la resta, la multiplicación y otras operaciones, y una sola UC que busca y descodifica las instrucciones. Tan pronto como se conoce el tipo de una instrucción se envía a la unidad apropiada y se extrae y descodifica la siguiente instrucción en paralelo.

Page 157: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.5

MEMORIA CENTRAL

UNIDAD DE CONTROL

+ - * / U. Booleana U. Coma Flotante

Existe otro método más de multiproceso, que es el Pipeline o Procesamiento escalonado , y se caracteriza por que cada uno de los pasos de la ejecución de una instrucción tiene una unidad distinta en la UCP para realizarlo. Cuando la maquina arranca, la primera unidad extrae la instrucción, entonces la segunda empieza a descodificarla mientras la primera extrae la siguiente instrucción. Al final las 5 unidades estarán funcionando a la vez.

MEMORIA CENTRAL

Unidad de Extracción

Analizador de Instrucciones

Unidad de Cálculo de Dirección

Unidad de Busqueda de Dirección

Unidad de Ejecución de Instrucciones

Multiprogramación . Si un sistema solo permite la ejecución de un programa a la vez se llama Sistema Monoprogramado . Si por el contrario, permite la ejecución de varios programas al mismo tiempo, pasando el control de un programa a otro, se le llama Sistema Multiprogramado o Sistema Multitarea . Ahora bien ¿Cómo es posible ejecutar varias aplicaciones con un solo procesador? Es imposible. En estos casos, lo que se hace es repartir el uso del microprocesador entre cada aplicación, por medio de tiempos o prioridades, dando la sensación de ejecución múltiple. En los caso de que produzca una interrupción de E/S, se cede el control a otro programa, con lo que la UCP sigue trabajando al mismo tiempo que se efectúa la operación de E/S bajo la supervisión del canal (es el único momento en que pueden trabajar simultáneamente). Existen diferentes grados de multiprogramación, desde una elemental en la que se hacen particiones de memoria fija para cada aplicación, hasta los que se asignan también unidades. Dependiendo del grado de multiprogramación usada, los sistemas deberán: Estar dotados de protección para que no puedan interferir unos programas con otros. Disponer de memorias auxiliares de acceso directo donde se guardaran los programas a la espera de ser llamados para ejecutarse. Tener los llamados programas Monitores , dotados de un control para dirigir de forma global la multiprogramación. Poder usar la Segmentación que permite ejecutar programas cuando la capacidad de la partición no permite tenerlo entero, de tal forma que el programa monitor carga en memoria en cada instante solamente aquellas rutinas que son activas.

Page 158: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.6

Los programas se realizan con direccionamientos relativos para que puedan ser cargados en cualquier lugar de la memoria.

Interrupciones de E/S Supervisor ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒

Programa 3 ⇒ ⇒ Programa 2 ⇒ ⇒ Programa 1 ⇒ ⇒ Tiempo de U.C.P. = = = = = ⇒ = = = = = = ⇒

Este es un sistema de multiprogramación con tres particiones activas, donde el PROGRAMA1 tiene la prioridad más alta y el PROGRAMA3 la más baja. Dentro de estos sistemas multitarea o multiprogramados, existen tres variaciones:

� Multitarea Cooperativa . En este caso, el programa llamado Monitor (que

forma parte del S.O.) es el que marca cual de todas las aplicaciones debe ejecutarse, en qué momento y durante cuanto tiempo.

� Multitarea Apropiativa . El Monitor queda supeditado a las acciones del programa que esté en ejecución en ese momento, siendo este el que debe ceder el control a otro programa (por lo general cuando realiza alguna operación de entrada-salida).

� Multitarea Semicooperativa . En el caso de Windows 9x, existe la multitarea cooperativa, pero únicamente para las aplicaciones de 32 bits (especificas de Windows 9x y Windows NT). Pero cuando ejecuta aplicaciones de 16 bits (DOS y Windows 3.x) lo hace en multitarea apropiativa.

Tiempo compartido . Cuando un sistema es tan simple que solo acepta la conexión de un usuario, se dice que nos encontramos con un Sistema Monousuario (pudiendo ser Monotarea o Multitarea). Si por el contrario, acepta al mismo tiempo las peticiones de diferentes usuarios desde diferentes terminales u ordenadores cliente, se dice que es un

Sistema Multiusuario o De Tiempo Compartido . En este caso, es necesaria la Multiprogramación de tal forma que el procesador atienda a los diferentes programas durante ciertos intervalos, con tal rapidez, que de la impresión que se están ejecutando varios programas al mismo tiempo. El paso de un programa a otro se hace por las interrupciones de E/S o por un reloj que actúa restringiendo el tiempo a cada usuario. Los programas no se encuentran todos en memoria, sino que se van trayendo a medida que se necesite desde una memoria externa de acceso directo. Dentro de los sistemas de tiempo compartido se encuentran desde el tipo de pregunta-respuesta en el que el usuario solo puede formular y recibir de su terminal mensajes determinados hasta el que

Page 159: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.7

permite formular, compilar y ejecutar los programas desde cada terminal y en distintos lenguajes. Tiempo Real . En algunos casos es necesario que un sistema procese una determinada información, y nos devuelva los resultados con restricciones de tiempo. Si el sistema es capaz de responder en unos pocos milisegundos, decimos que estamos ante un Sistema de Tiempo Real ; si por el contrario el tiempo de respuesta llega a minutos, se llaman Sistemas de Tiempo Util . Los dos casos tienen en común que los resultados obtenidos se utilizan para continuar o influyen en el mismo proceso que el de los datos que los han originado. Lo normal en este tipo de sistemas es que el envío de información y recogida de resultados se haga desde terminales alejados, en este caso, va implícito también lo que se llama Teletratamiento o Teleproceso . Sistemas dependientes de la aplicación . En determinadas empresas o gobiernos se utilizan sistemas para la ejecución y el control de un único programa, dedicándolo todos los recursos del ordenador. Este tipo de sistemas se llaman Sistema De Propósito Especifico . En el caso de que admita cualquier tipo de programa, en modo monousuario o multiusuario y en multitarea o monotarea, se dice que es un Sistema de Propósito General .

3 . - G E S T I Ó N D E M E M O R I A E N S I S T E M AS M O N O U S U AR I O Y M O N O T AR E A. En este tipo de sistemas resulta muy sencilla, una porción de la memoria se reserva al S.O. y el resto se dispone para el programa que se ejecuta. Cuando el programa termina de ejecutarse, se carga otro programa en la misma posición que ocupaba el programa anterior. Como el S.O. tiene un tamaño fijo, los programas se suelen cargar a partir de la siguiente posición libre. Este sistema no resulta complicado pero tiene dos inconvenientes: Solo sirve para sistemas monousuarios , lo que implica una infrautilización de la UCP y los periféricos. El segundo inconveniente es similar a todos los sistemas excepto el de memoria virtual, y consiste en que si el tamaño de un programa es mayor que el que queda libre no puede ejecutarse por falta de memoria.

4 . - G E S T I Ó N D E M E M O R I A E N S I S T E M AS M U L T I U S U AR I O .

Con la introducción de los sistemas Multiusuarios y/o Multitarea, la gestión de memoria se complica debido a que todo el espacio que no ocupa el S.O. se ha de repartir entre los diversos programas que están en memoria en un momento dado.

El S.O. tiene una tabla en la que guarda información sobre la memoria que se halla ocupada y la que queda libre en el sistema. Este sistema es relativamente sencillo de implantar, cuando un programa finaliza se actualiza la tabla indicando las posiciones que quedan libres.

Page 160: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.8

El problema que surge con este esquema es la fragmentación de memoria. Supongamos que hay dos regiones libres, la primera de 500 posiciones y la segunda de 5000. Si un programa que ocupa 5300 posiciones estuviera listo para ejecutarse no podría hacerlo, ya que, aunque hay suficiente memoria libre, no es contigua. Según se vayan ejecutando programas, la memoria se puede ir fragmentando más y mas, quedando una serie de "agujeros" que son porciones muy pequeñas de memoria que no pueden ser utilizadas. Este problema se puede resolver mediante dos técnicas: Redistribución y Paginación .

5 . - R E D I S T R I B U C I Ó N D E M E M O R I A. Con este método se sigue una filosofía similar a la anterior, sin embargo, llegado un punto en que la memoria esta muy fragmentada, se para la ejecución de los programas y se redistribuye la memoria, para que todas las posiciones libres se queden en una zona contigua única. De este modo toda la memoria libre queda disponible en un bloque. A pesar de su aparente sencillez, este método tiene una dificultad: Los compiladores producen códigos como si el programa que esta traduciendo fuera a ejecutarse a partir de la posición 0. El Loader (programa que carga este del disco a la memoria antes de ejecutarse), una vez que el S.O le ha indicado la posición real que ocupara el programa, se encarga de modificar las direcciones para que el programa se ejecute correctamente en el lugar indicado. Si se redistribuye la memoria, las posiciones que ocupaba y los saltos que hacia ya no valen. Este problema se resuelve mediante el llamado Registro Base , que es un registro especial de la UCP que se suma a la dirección computada en la instrucción para obtener la dirección real. Cuando el programa se carga en memoria el registro base se inicializa a cero, sin embargo al redistribuir la memoria y cambiar el programa de lugar, se modifica el registro base para reflejar la nueva situación Suele haber un solo registro base y, por tanto, su valor tiene que variar según sea el programa que se este ejecutando; para un programa determinado el registro base se encuentra en su PCB. Cuando el programa va a ejecutarse, se coge de su PCB, entre otras cosas, el contador de programa y el registro base, cuando se interrumpe la ejecución el valor del registro base se guarda de nuevo en el PCB.

6 . - P AG I N AC I Ó N . El problema de la fragmentación se puede resolver también por medio de dividir la memoria en paginas y asignarlas (no necesariamente de una forma contigua) a los distintos programas. Una pagina es la porción mínima de memoria que se puede asignar a un programa, y de ahí hasta el total que necesite. El S.O. contiene una tabla en la que se refleja el estado de las paginas del sistema, es decir, que paginas están listas y cuales asignadas a programas. Cuando se carga un programa se calcula el número de paginas que necesita y si están libres, se le asignan. Con este método, cuando se carga en memoria las direcciones del programa no se modifican, por tanto todas las direcciones que se referencian son relativas a la posición 0,

Page 161: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III ... AAA DDD MMM III NNN III SSS TTT RRR AAA CCC III ÓÓÓ NNN DDD EEE LLL MMM III CCC RRR OOO

Admon del Micro VI.9

como si el programa estuviera en esa posición. Al tiempo de la carga se crea una tabla de paginas en la que se refleja la situación real en memoria de las distintas paginas que componen el programa. Con la paginación de memoria se reduce considerablemente la fragmentación de memoria, aunque no totalmente, esto es debido a que el tamaño del programa no suele ser múltiplo del tamaño de la pagina y se desperdicia un cierto espacio de la ultima pagina.

7 . - M E M O R I A V I R T U AL . El ultimo método de gestión de memoria que vamos a ver es la de memoria virtual, este es un método derivado de la paginación y tiene una ventaja con respecto a los métodos anteriores: un programa puede ejecutarse aunque su tamaño sea mayor que la memoria disponible. Observamos que durante la ejecución de un programa no es necesario que todo el programa este en memoria. Hay un conjunto de instrucciones que se repiten una y otra vez durante un tiempo determinado, por ejemplo un bucle, por tanto, no es necesario que la parte del programa que no se esta ejecutando se encuentre en memoria. Con la memoria virtual, por cada programa que se ejecuta solo hay un cierto número de paginas en memoria. Este número depende del tamaño del programa y de su prioridad. La tabla de paginas tiene que modificarse para poder saber en todo momento si una pagina determinada esta o no en memoria. En caso de que no lo este, tiene que contener la dirección en el disco donde se encuentra para poder pasarla a memoria. La tabla tiene por tanto tres entradas: El número de pagina, una indicación de si esta en memoria y la dirección. Si no hay espacio suficiente en memoria, una de las paginas tiene que pasarse a disco para dejar sitio a la pagina que se ha referenciado. Para seleccionar que pagina hay que pasar a disco hay tres métodos muy utilizados: PMR, PMA y PMAR. En el PMR (Pagina Menos Referenciada ) se usa un contador por cada pagina que se encuentra en memoria, cada vez que se referencia una pagina se incrementa el contador. Cuando haya que pasar una pagina a disco se elige aquella cuyo contador sea menor. En el método PMA (Pagina más Antigua ), cuando una pagina pasa a memoria se anota el instante en que esto ocurre. Cuando haya que pasar una pagina a disco para liberar espacio se escoge aquella que haya estado más tiempo en memoria sin tener en cuenta cuantas referencias se hayan hecho. Si se usa el método PMAR (Pagina más Antigua Referenciada ), cada vez que se referencia una pagina en el programa se anota el tiempo en el que ocurrió la referencia. Para seleccionar la pagina que tiene que ir a disco se mira aquella que hace más tiempo que no se referencia.

Page 162: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.1

1 . H I S T O R I A Por el año 1981, I.B.M., el mayor fabricante de ordenadores, se busco la ruina ella sola. En cooperación con Intel (fabricante de procesadores) y una modesta empresita llamada Microsoft, lanzo al mercado un nuevo concepto de ordenador: el PC (personal computer). ¿Por qué fue un nuevo concepto?. Por entonces los sistemas estaban basados en Mainframes o Miniordenadores. Un gran ordenador central del que se alimentaban los terminales. Los terminales no podían funcionar si el ordenador central no estaba conectado. Así pues, el desarrollo de aplicaciones se hacia para grandes y complicados ordenadores mediante una raza especial de humanos: los programadores. Éstos estaban considerados como una especie animal distinta de todas las demás; tenían la mirada perdida, hablaban de cosas rarísimas, como bits, bytes, etc., la gente se cambiaba de acera cuando se cruzaban con ellos, y no podías decir que tenias un amigo programador, pues estaban socialmente marginados. Pero el mundo cambió (para bien o para mal nunca lo sabremos...). Apareció un aparato en el que dentro se encontraban todos los elementos de un mainframe (pero a menor escala). Disponía de un microprocesador (¿qué es eso?), memoria R.A.M. etc. Pero lo peor fue su precio. Las pequeñas empresas pudieron comprarlo y comprobaron que podía aumentar el rendimiento del personal. Poco a poco fueron apareciendo aparatos de estos en la mayoría de las empresas. Pero el éxito de estas máquinas no fue sólo su precio. Había muchos programas que funcionaban en estos ordenadores. Programas para escribir cartas, para hacer facturas, para multitud de problemas, a un precio razonable (para la época). Debemos analizar antes de continuar un aspecto económico. La gente no compra ordenadores si no existen programas para ellos. Y los fabricantes de programas no los hacen para maquinas que no se venden. Es un círculo vicioso. Además, añadiremos que el desarrollo del software era muy caro, pues los locos programadores cobraban bastante dinerito y los sistemas operativos de la época eran prohibitivos. ¿Cómo solucionar esto?. Fácil. I.B.M., la todopoderosa compañía informática que creaba estándares, contrató una pequeña compañía para la realización de un sistema operativo. Pero ese sistema operativo no sería propiedad de I.B.M., sino de su fabricante: MicroSoft. Ya tenemos un sistema operativo barato. ¿Cómo conseguir que se realicen programas para él?. Sencillo. MicroSoft licencia (cede su uso) a las compañías que quieran desarrollar programas para él. Ahora solo falta que las casas de software se decidan a desarrollar

Page 163: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.2

programas. Hubo quien apostó por esta solución y se hizo millonario (Borland, Lotus, étc), también hubo quien no lo vio claro y espero a que se implantaran estas máquinas (algunos esperaron demasiado y tuvieron que cerrar). Después de este rollo, vamos a centrarnos en el fabricante de este sistema operativo: Microsoft. Para el desarrollo de su sistema operativo plagiaron la estructura de ficheros y di-rectorios de otro sistema operativo de la época: el DOS-VMS. (Disk Operating System - Virtual Memory System). De aquí, que el sistema se llamara MicroSoft-Disk Operating System: el famoso MS-DOS. Pero no plagiaron el sistema de memoria virtual (una pena). En este caso inventaron un sistema de direccionamiento basado en lo que el procesador permitía (tengamos en cuenta que entonces era impensable hablar de Megas de RAM en equipos personales), el registro de segmento y desplazamiento. Las primeras máquinas contaban con 64 o 128 Kbytes de R.A.M. (una o dos páginas de 64 Kbytes). Pero pronto aparecieron máquinas con 512 y 640 Kbytes. El sistema operativo, debido a lo simple de sus funciones, ocupaba muy poca memoria. Sobre los 40 Kbytes, dejando disponibles para la ejecución de programas el resto (entre 470 y 600 Kbytes), que para entonces parecían inagotables (yo he programado en ordenadores profesionales con 4 Kbytes). En cuanto a la gestión del disco, inventaron un formato para los discos flexibles de la época (180 y 360 Kbytes una vez formateados). Pero, ¿por qué se buscó la ruina I.B.M.?. El sistema operativo no era copyrigth I.B.M. El microprocesador tampoco, era Intel. Los programas eran de multitud de fabricantes. ¿Qué le quedaba a I.B.M.? La idea, y no la tenía registrada. Cuando los demás fabricantes de ordenadores se decidieron a fabricar PC's y bajaron los precios, el gigante azul no pudo competir y tuvo que cerrar fabricas y despedir a muchos de sus empleados.

Page 164: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.3

2 . V E R S I O N E S Las primeras versiones de MS-DOS, no vieron la luz. Esto es normal. Y podemos hablar de la primera versión como la 2.0 En esta versión se incluía soporte para discos duros. Con la aparición de discos duros mayores, abaratamiento de la memoria, aparición de los sistemas operativos de red y sobre todo por el Intel 80286, se desarrolló una versión ampliada: la 3.0 que incluía programas para gestión de memoria por encima de los 1024 Kbytes (EMM???.EXE), gestión de particiones de disco duro ampliada (FDISK.EXE), compartición de archivos (SHARE.EXE). Esta versión podía ver unidades lógicas de un máximo de 33 Mbytes. Pero los discos crecían más de lo que MS-DOS podía ver. Para muestra un botón: Un disco de 40 Mbytes, necesitaba particionarse en dos unidades lógicas: una de 33 Mbytes (C:) y otra de 7 (D:). He visitado clientes que no sabían que tenían 7 Mbytes más. Solución, la versión 3.1. Y esto fue un jaleo. Porque había 3.1 de Tandom, 3.1 de Compaq, etc. Microsoft cedió parte de las fuente de su sistema a los fabricantes de ordenadores y éstos personalizaron el sistema según las características de sus maquinas. ¿Cómo solucionarlo?, con la versión 4.0. El peor sistema operativo jamas construido. Permitía unidades lógicas mucho mayores pero a costa de un gasto de memoria excesi-vo. Ocupaba más de 100 Kbytes de R.A.M., y supuso un quebradero impresionante a los programadores de entonces para conseguir que los programas pudieran funcionar con la memoria que quedaba libre (habíamos perdido más de 60 Kbytes). Además, parece que el sistema tenía algún que otro bug (error) y la gente prefería usar la 3.1 Solución. La 5.0. Los discos duros se quedaban pequeños y hay que aprovechar la memoria por encima de los 640 Kbytes. Solución. La 6.0. Que incluye el manejador de memoria para correr parte del sistema por encima de los 640 Kbytes y la utilidad DoubleSpace (copia del STACKER, un duplicador para la versión 3.0). ¿Hasta cuándo?. Quién lo sabe. Con la aparición de Windows 3.11 y la reciente Windows 95, parece que el MS-DOS se irá muriendo ... Sinceramente, la evolución de MS-DOS desde la versión 3.0 no ha dado solución a las expectativas de la gente (multiprogramación, gestión de memoria, etc.).

Page 165: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.4

3 . R E Q U I S I T O S Es necesario entender qué es lo que esperamos de un sistema operativo y los recursos hardware de que disponemos. Cuando encendemos el ordenador sólo disponemos de los programas que están graba-dos en las pastillas R.O.M. Una parte vital para comprender como funciona el sistema operativo MS-DOS es analizar brevemente la ROM BIOS. La ROM BIOS (Read Only Memory Basic Input Output System) son un conjunto de programas que nos permiten comunicarnos con los elementos hardware de nuestra máquina. Llamando a un determinado programa (de los que están dentro de la ROM BIOS) conseguimos que el ordenador realice una determinada tarea. El acceso a estos programas no es difícil. Para que se ejecute alguno de estos programas nos comunicamos con el procesador mediante las interrupciones. (Hasta 16). Ejemplo: El control del teclado se realiza mediante la interrupción H1 (hexadecimal 1). Cuando queremos hacer algo con el teclado provocamos la interrupción H1 y entonces el procesador ejecuta el programa de la BIOS que se corresponde con dicha interrupción. Esto, que podríamos hacer nosotros, resulta tedioso. Pensar las instrucciones necesarias para leer una tecla: Provocar la interrupción H1, el procesador ejecuta el programa de la BIOS que lee el buffer del teclado y deposita el código de la tecla pulsada en un determinado registro de la C.P.U. de donde sacaremos el valor y haremos con el lo que nos parezca (por ejemplo, mostrarlo en la pantalla, lo que a su vez se hace provocando la interrupción correspondiente, etc., etc.). Si pensáis esto detenidamente hemos realizado un programa que: - Lee una tecla y - Visualiza esa tecla en la pantalla.

teclado

BIOS CPUejecutar interrupcion H1leer de la CPU la teclaejecutar la interrupcion H2

pantalla

PROGRAMA

P1

P2

P1 = programa de la BIOS para leer del tecladoP2 = programa de la BIOS para poner caracter en pantalla

R.A.M.

Pues bien, el programa que está en la R.A.M. (el nuestro), se denomina rutina de servicio, y el MS-DOS no es más que un conjunto de rutinas de este tipo. Por supuesto bastante más elaboradas.

Page 166: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.5

Estas rutinas (fichero IO.SYS) se cargan en las primeras posiciones de memoria y se accede a ellas mediante otro tipo de interrupciones, denominadas interrupciones software que son específicas del MS-DOS. Por ejemplo: El programa que hemos hecho antes (el de leer una tecla) es un rutina de servicio que ya viene programada con el MS-DOS. Se accede a ella provocando la interrupción software (del MS-DOS) H16. Cuando utilizamos el GET de CLIPPER se llama a la interrupción software H16 (del MS-DOS) que a su vez llama a la interrupción hardware H1 (de la máquina).

Pues un comando no es más que la combinación de llamadas a las interrupciones software. Ahora debemos intentar que los comandos más usados o necesarios tengan un acceso sencillo. ¿Cómo?, pues a cada uno de ellos les doy un nombre (dir, type, etc.) y procuro tenerlos disponibles en la memoria. La forma más fácil de hacerlo es juntándolos en un único fichero (COMMAND.COM) que se "coloque en memoria" cada vez que enciendo el ordenador y solo tengo que esperar a que el usuario ponga el nombre de alguno de estos comandos.

FÍSICAS IRQ FUNCIÓN 00 Timer Output 0 01 Keyboard 02 Cascade 03 COM 2 04 COM 1 05 LPT 2 06 Floppy Disk 07 LPT 1 08 Real Time Clock 09 Reserved 0A Reserved 0B Reserved 0C Reserved 0D CoProcessor 0E Fixed Disk

LÓGICAS(HASTA 256). INT FUNCIÓN ... ... 0E Diskette hardware Interrupt 0F Printer hardware Interrupt 10 Video Functions 11 Equipment installed 12 Memory size 13 Diskette/fixed disk 14 BIOS Asynchronous 15 Cassette/Miscellaneous 16 Keyboard 17 Printer (LPT1,2,3) 18 ROM BASIC entry 19 Bootstrap loader 1A Time of day get/set .. ....

Page 167: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.6

4 . G E S T I Ó N D E M E M O R I A MS-DOS, va colocando en la memoria (de abajo a arriba, de la dirección más baja a la más alta) los programas necesarios para el correcto funcionamiento del sistema. Los programas desarrollados para MS-DOS deben ser reubicables .

ordenador 1 ordenador 2

MS-DOS MS-DOS

CONTROL.CONTROL.

PROG1

PROG1

0F000

10000

LIBRELIBRE

R.A.M. R.A.M.

00000 00000

Suponer dos ordenadores, 1 y 2. El ordenador 2, por que tiene más cosas instaladas (CD-ROM, etc.), necesita cargar en memoria más controladores que el ordenador 1. Am-bos ordenadores están ejecutando el MISMO programa (PROG1), pero si os fijáis, el pro-grama se carga en diferentes direcciones de memoria. Para que el mismo programa pueda funcionar en las dos maquinas es necesario utilizar un sistema operativo que permita la reubicabilidad. Se entiende mejor si se explica lo que es un sistema no reubicable. En un sistema no reubicable, las variables, que solo son direcciones de memoria, son absolutas. Siempre deben estar en la misma dirección. Y las instrucciones también deben estar en las mismas direcciones de memoria. Si un sistema es no reubicable, el mismo programa solo podrá funcionar en dos maquinas si su estado es idéntico. En el caso de MS-DOS, cuando ejecuta un programa, lo coloca en la primera dirección libre de la memoria. Esta dirección puede variar de una maquina a otra (como en nuestro ejemplo). En el caso de PROG1 del ordenador 1, se incrementa a todas las direcciones el valor 0F000 (donde se ha colocado) y en el otro ordenador se incrementa en 10000.

Page 168: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.7

La gestión de memoria es bastante más que esto. Ya sabéis que MS-DOS ve la memoria como paginas de 64 Kbytes. Si un programa ocupa más que 64 Kbytes, MS-DOS debe proporcionarnos la posibilidad de que este programa cruce de página y funcione de forma transparente para los programas cuando se están ejecutando. Esta es la gran diferencia entre los programas tipo COM y los EXE. Un programa COM no puede ocupar más de una página de 64 Kbytes. Las variables estáticas de estos programas se colocan en otra pagina. Luego, una pagina para instrucciones y otra para datos. Esto se debe a que este tipo de programas son arrastrados de la versión CP/M (otro de los sistemas operativos plagiados en MS-DOS). En CP/M, un fichero COM era la copia de un segmento de memoria. Si un segmento no puede ser mayor que 64Kbytes, tampoco lo podrá ser el fichero COM (bastante lógico). Con los EXE la cosa cambia. Se pueden tener programas de más de 64 Kbytes. Es decir, programas que ocupan más de una pagina (o segmento). En los ficheros EXE, existe una cabecera que informa de los segmentos que ocupa el programa. MS-DOS primero mira esta cabecera para saber donde y como cargar cada segmento del programa. Esto es verdad para la denominada memoria convencional de MS-DOS que son los primeros 640 Kbytes. Por encima de esta memoria se encuentran las memorias físicas de algunos componentes del ordenador (como la memoria de video que está en HA000:0000). Esta memoria tiene un tamaño máximo de 384 Kbytes y no toda esta ocupada. Es la famosa HMA. Normalmente, los programas no se ejecutan en esta memoria y como quedan huecos se desaprovechaban. Para aprovechar estos huecos es necesario un manejador especial (HIMEM.SYS). Con este manejador se puede utilizar estos huecos para meter en ellos parte del sistema operativo. Esto es una chapuza que existe por la propia arquitectura de los PC's. Por encima de esta memoria (640 + 384 = 1024 Kbytes) se encuentra la memoria extendida. De nuevo, para que los programas puedan ver esta memoria se necesita un manejador (EMM.EXE).

memoriaconvencional

0 640

areasuperiormemoria

1024

memoriaextendida

himem.sys emm386.exe

Page 169: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.8

5 . G E S T I Ó N D E D I S C O Una vez que hemos estructurado el disco, debemos darle estructura lógica para saber:

Espacio libre, número de ficheros, etc. Esto se consigue con el formato lógico. Consiste en reservar alguno de los sectores del disco para almacenar información relativa al estado de éste. MS-DOS divide el disco en cuatro grandes bloques: 0 n

Boot

Sector

File

Allocation

Table

Directory espacio para almacenar los datos

(1) (2)

BOOT SECTOR Contiene información para ser procesada por un programa especial de la ROM. Este programa el BOOT ROM, (programa de arranque), lee el sector 0 del disco y pasa a memoria y ejecuta el programa grabado en el sector 0. En el caso de MS-DOS, el programa consiste en saber buscar en el disco los ficheros donde se encuentra el Sistema Operativo (IO.SYS y MS-DOS.SYS), cargarlos en memo-ria y comenzar su ejecución. Luego no olvidar la secuencia de arranque del ordenador: Ejecutar el programa BOOT ROM que busca un programa en el sector 0 que al ejecutarse carga en memoria el sistema y lo ejecuta. El programa de la BOOT ROM es el que nos dice al encender el ordenador el mensaje:

Inserte un disco con sistema y pulse INTRO cuando al buscar en las unidades de disco no encuentra ningún disco o si lo encuentra no tiene BOOT SECTOR. El no poder cargar un sistema operativo de la unidad B de nuestro ordenador, se debe a que la BOOT ROM solo busca el sistema en A y C.

FILE ALLOCATION TABLE (F.A.T.) Es aquí donde realmente se distingue el formato físico del lógico. El motivo de esto es bastante claro. Pensar en un disco de 540 Mbytes. Si realizamos la división de este disco en sectores de 512 bytes nos da el número de: 540 Mbytes / 512 bytes = 540 * 1024 Kbytes / 512 = 540 * 1024 * 1024 bytes / 512 = 540 * 1024 * 2 = 1.105.920

Page 170: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.9

Luego nuestro disco tiene 1.105.920 sectores. En buena lógica el sistema deberá llevar la cuenta de cual de este montón de sectores está ocupado, cual esta vacío, cual esta estropeado, etc. Cuando queramos grabar un fichero el sistema deberá buscar entre to-dos estos sectores en cual meter nuestro fichero. En resumen, manejar un número tan elevado complica las cosas al sistema, además de disminuir su rendimiento considera-blemente. Para evitar esto MS-DOS se ha inventado una división lógica del disco. Agrupamos un conjunto de sectores en una unidad denominada CLUSTER. Realmente los que el MS-DOS ve en el disco son CLUSTERS y el número de sectores por CLUSTER dependerá del tamaño del disco. Este mecanismo tiene sus ventajas e inconvenientes: Ventajas: Cuantos más sectores tenga un CLUSTER menos divisiones tendrá en disco y los accesos serán más rápidos. Además llevar la cuenta de espacio libre, etc., es más fácil pues trabajamos con números mucho más pequeños. Inconvenientes: Cuando un CLUSTER se asigna a un fichero, el CLUSTER queda marcado como ocupado. Pero puede ocurrir (y ocurre) que de los sectores que ocupa el cluster no todos estén ocupados, y los libres, desgraciadamente, se desperdician. Mejor un ejemplo: Supongamos que nuestro disco de 540 Mbytes de divide en CLUSTERS de 16 sectores. Cada CLUSTER almacena 8 Kbytes (16 sectores * 512 bytes/sec. = 8196 bytes). Si tengo un fichero que ocupa 4 sectores (2 Kbytes) MS-DOS asignará como mí-nimo un CLUSTER a mi fichero. Los otros 6 Kbytes se desperdician. CLUSTER S. 0 S. 1 S. 2 S. 3 S. 4 S. 5 S. 6 S. 7 S. 8 S. 9 S.1

0 S.11

S.12

S.13

S.14

S.15

MF MF MF MF L L L L L L L L L L L L S.0 a S.15 = 16 sectores del cluster MF = Sectores ocupados por Mi Fichero L = Sectores Libres Así, por pequeño que sea mi fichero, siempre ocupará como mínimo 8 Kbytes. Por supuesto, si mi fichero crece, continuará ocupando los sectores libres del cluster hasta que mida más de 8 Kbytes. En ese momento ocupará otro cluster. Bien, pues la F.A.T. son unos sectores especiales que contienen el mapa de todos los cluster del disco. Para cada cluster el sistema sabe: Si está libre o ocupado, si está defectuoso, quien es el propietario de ese cluster y donde continua el cluster (en el caso de ficheros que ocupen más de un cluster).

Page 171: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.10

Se deduce que la información de la F.A.T. es vital. Si se estropean los sectores donde está la F.A.T. adiós a la información de mi disco. Se que esta ahí, en el disco, pero no se como esta repartida. Por este motivo, en los discos hay dos F.A.T.

DIRECTORY En esta parte del disco se graba la información de los ficheros almacenados en el directorio raíz de mi disco. Es importante destacar que los subdirectorios son tratados como un tipo especial de fichero. Insisto, solo se graban los ficheros del directorio raíz. Para cada entrada de un fichero se reservan 32 bytes. Divididas de la siguiente forma: Nombre ..... atributos cluster ... 2 bytes De esta tabla nos interesan dos columnas. Atributos y cluster. Atributos: Es un byte que identifica el estado del fichero. Si se puede borrar, modificar, ver al ejecutar el comando DIR, etc. Cluster: Identifica el nº del cluster donde comienza el fichero. Como sólo se reservan 2 bytes (16 bits) el número máximo de cluster es de 216 = 65.536. Este dato es vital. Tanto, que identifica al tipo de F.A.T. La F.A.T. de la versión 6.2 de MS-DOS es de 16 bits. Las anteriores también lo fueron, excepto la versión 2.0 que sólo era de 12 bits. Así, que ya sabemos como va a agrupar el MS-DOS los sectores por cluster. Para simplificarlo, el sistema dividirá el número de sectores entre 65536 y lo redondeará a un valor que sea potencia de 2 (esto no es un dogma, pero ayuda a entenderlo). Aquí tenéis el ejemplo de un disco duro: Volume Label 17CO6004MF created on 14/10/94 at 18:12

170.450.944 bytes of total disk space. 42.483.712 bytes available on volume. 106.496 bytes in 9 hidden files. 127.303.680 bytes in 3.600 user files. 544.768 bytes in 123 directories. 0 bytes in bad sectors. 512 bytes per sector. 8 sectors per cluster. 22 sectors per track. 41.614 total clusters. 333.271 total sectors. 15.149 total tracks. 15 sides. 1.010 cylinders.

Page 172: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.11

Por último, si se reservan un determinado número de sectores para el DIRECTORY y sabemos que cada entrada de fichero ocupa 32 bytes podemos deducir lo siguiente: Que el número de ficheros en el directorio raíz es finito. Si sabemos el número de secto-res podremos averiguar el número de ficheros. Pues bien, el número de sectores para el DIRECTORY es de 16. Así que: 512 ficheros es el máximo que puede contener el directorio raíz. Pero al formatear un disco ya tenemos 2 ocupados: El nombre del volumen y el de la etiqueta.

RESTO DEL DISCO Se utilizará para grabar el contenido de los ficheros. Algunos programas como MIRROR u otros que hagan los mismo, crean una F.A.T. auxiliar en el último cluster del disco. Si fallan las dos F.A.T., podemos recuperar los ficheros utilizando esta especie de F.A.T.

PARTICIONES Las veremos con mayor detenimiento al estudiar el comando FDISK.

Page 173: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.12

6 . E J E C U C I Ó N D E U N P R O G R AM A Vamos a ver como se ejecuta un programa. Primero tenemos que recordar que el COMMAND.COM se encuentra en la memoria ejecutándose. Sabemos que está funcionado por que en la pantalla aparece C:\> . Esta es la llamada línea de comandos , por donde nos comunicamos con el MS-DOS. Pues bien, cuando escribimos algo en esta línea y pulsamos <INTRO>, el programa COMMAND.COM captura el texto escrito y comienza una serie de pasos:

c:\MIDIR> miprog /a

1º Pasa a mayúsculas el texto introducido (MIPROG /A ) 2º Separa los parámetros del comando (MIPROG de /A ) 3º Busca en la tabla interna si existe algún comando igual a MIPROG 4º Si lo encuentra lo ejecuta. 5º Si no lo encuentra lo busca en el directorio actual (MIDIR ) con la extensiones COM,

EXE y BAT 6º Si no está y existe un PATH, se empieza a buscar el comando en el mismo orden

en que se encuentran los directorios en el PATH. 7º Si no lo encuentra en ninguno de ellos se muestra el mensaje

“Comando o nombre de archivo incorrecto” y vuelve a aparecer la linea de comandos. 8º Si lo encuentra en algún sitio, se ejecuta. Esto es un poco más complicado. Si el

archivo es COM, se reserva un segmento y el sistema pasa el programa de disco a este segmento. Si es EXE, se investiga en la cabecera del fichero para saber los segmentos que ocupa y comprobar que tenemos memoria suficiente (fatídico mensaje: Memoria insuficiente ).

En cualquier caso, tanto EXE como COM, se descarga de memoria la mayor parte del COMMAND.COM (para dejar el mayor espacio posible de memoria). Colocamos en la C.P.U. la dirección de la primera instrucción a ejecutarse y ¡¡ ya está !!.

9º Cuando termina la ejecución del programa el sistema vuelve a cargar en memoria

el fichero COMMAND.COM y como resultado de esto vuelve a aparecer la linea de comandos. Esto no funciona bien a veces. Si no sabe como volver a cargarlo o no lo encuentra, aparece el mensaje:

No se encuentra COMMAND.COM. Sistema detenido.

Page 174: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.13

7 . P R O G R AM AC I Ó N E N M S - D O S

7.1 REDIRECCIONAMIENTO EN MS-DOS Generalmente todos los comandos de MS-DOS no informan de algo, o como resultado de su ejecución, se produce información. Por defecto la salida de información de todos los comandos va dirigida al dispositivo CON (la consola, es decir, la pantalla). Pero podemos dirigir la salida de los comandos al dispositivo que mejor nos parezca. Esto se consigue añadiendo al final del comando el símbolo ">" y a continuación el nombre del dispositivo por donde queremos que salga la información. Ejemplo: dir > lpt1 Le indica al sistema que la salida del comando DIR se redireccione a la impresora. Los dispositivos que es capaz de manejar el MS-DOS son: CON AUX COM1 COM2 LPT1 PRN NUL ... Podemos redirigir el comando a un fichero. dir > fichero.txt En el archivo fichero.txt queda almacenada la salida del comando DIR. En este caso, si no existe el archivo, se crea automáticamente y si ya existiera, se machaca con el contenido del DIR. Por este motivo hay que tener cuidado. La redirección es especialmente útil para la programación de los ficheros BATCH . Existe una forma especial de redirección. La combinación ">>", añade la salida del comando al fichero que especifiquemos seguidamente. Ejemplo: dir \pepe\juan >> fichero.txt añade al final del archivo fichero.txt los nombre de los ficheros de \pepe\juan .

Page 175: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.14

La redirección también funciona en sentido inverso. La entrada de información a un comando no debe ser obligatoriamente por teclado. Puede ser de un fichero u otro dispositivo. Supongamos que tenemos creado un fichero FICH1.TXT que contiene la siguiente información: b(cr/lf)a(cr/lf)c(cr/lf)^Z donde cr = carriage return = retorno de carro, lf = line feed = salto de línea y ^Z = fin fichero Ejemplo: sort < fich1.txt producirá por pantalla la siguiente salida: a b c Está claro. El comando SORT ordena. En este caso le indicamos que ordene tomando como entrada los registros de un fichero ASCII. Si queremos que los registros queden ordenados en otro fichero: sort < fich1.txt > ordenado.txt Redirigimos la salida del comando al archivo ordenado.txt .

7.2 COMANDOS DEL MS-DOS (ALGUNOS) Solo vamos a detenernos en los comandos nuevos de la versión 6.2 o en aquellos que presentan alguna dificultad en su manejo. Debemos recordar que la versión 6.x incluye un manual en línea. Si tenemos alguna duda con algún comando teclearemos: help nombre_comando y el sistema nos dará alguna información del comando en cuestión, incluso nos muestra algún ejemplo. Para mayor información entrar en help y navegar un poco por ello. Para entender lo que un comando hace, nada mejor que probarlo en ordenador. Intentar memorizar los nombres, sintaxis, etc., de todos los comandos, es una perdida de tiempo. ATTRIB Modifica o muestra los atributos de un fichero. Un fichero puede tener los siguien-tes atributos: R = Read Only. Archivo de solo lectura. No se puede modificar su contenido. A = Archive. Archivo normal. Podemos hacer con el lo que queramos S = System. Sistema. Pertenece al sistema operativo.

Page 176: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.15

H = Hidden. Oculto. No se ve al realizar un DIR. CTTY Se utiliza para cambiar el dispositivo por donde introduciremos los comandos. Cuando queremos tomar control de un ordenador remoto, al que estamos conectados mediante un modem. Si el ordenador en el otro extremo de la linea ejecuta: CTTY COM1 es como si la entrada de su teclado fuera el dispositivo COM1. A través de mi modem puedo actuar como si mi teclado fuera el suyo. Preguntadme por la utilidad COMMUTE de PCTOOLS. DEBUG Es más que un comando. Es una utilidad que proporciona el sistema para ver el contenido de la memoria, ensamblar y desensamblar programas, etc. Escribir en pocas líneas lo que es capaz de hacer DEBUG es imposible. Pero debemos tener especial cuidado en el uso de DEBUG, pues permite grabar registros físicos en cualquier dirección del disco. Es decir, nos podemos cargar la F.A.T. por descuido. Ya sabemos que si perdemos la F.A.T. perdemos la información del disco. DEFRAG Permite desfragmentar el disco. Por el propio uso del disco, al borrar ficheros, añadir otros nuevos, etc., un fichero puede quedar repartido por el disco en clusters muy alejados unos de otros. Esta utilidad agrupa todos los clusters de un fichero y los coloca físicamente contiguos. De esta forma aumenta el rendimiento del disco. FDISK Gestión de particiones de MS-DOS. Pensemos lógicamente. ¿Por qué todo un disco duro debe estar ocupado por un solo sistema operativo?. ¿No puedo dividir en disco en otras porciones más pequeñas y dar un uso diferente a cada una de ellas?. Pues si puedo. Para esto existen las particiones del disco. Para cada partición que yo hago, es necesario especificar el comienzo de la partición y el espacio que ocupa además del propietario. Esta información debe quedar en algún sitio. Pues este sitio es la TABLE PARTITION. Un sector donde se almacena el número de divisiones (particiones) que he realizado en el disco. Cuando arranco el sistema, la BOOT ROM busca el BOOT SECTOR en el disco. Puede encontrarse en el sector 0 una cosa diferente. Un programa (ademas de los datos) que identifica cual de las posibles particiones esta activa (si hay varias particiones, puede haber distintos sistemas operativos grabados en el disco, así que ¿cuál cargar?). El BOOT ROM sabe ahora cual partición esta activa y donde comienza. Se coloca en el primer sector de la partición activa y allí estará el BOOT SECTOR correspondiente al sistema operativo propietario de la partición. El proceso continua como es habitual.

Page 177: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.16

En MS-DOS es necesario particionar el disco antes de poder formatearlo. Y esto va a misa. Lo que ocurre es que normalmente nos dan el disco duro particionado y forma-teado, por eso no estáis acostumbrados a utilizar este comando. FIND Sirve para buscar un texto en un conjunto de ficheros. INTERLNK e INTERSVR Permite transferir ficheros de un ordenador a otro utilizando las puertas serie o paralelo del ordenador (COM y LPT). KEYB Carga en memoria un mapa de teclado. Imaginar un teclado en cuyas tecla no hay nada pintado. Sólo puedo distinguir una tecla de otra por la posición que ocupa. Esto es realmente así. El programa KEYB realiza un mapa del teclado asignando a cada posición de la tecla un código. Este código dependerá del país. Por defecto se carga la tabla del teclado americano. Si quiero cargar otra distinta debo ejecutar el comando KEYB + país (KEYB SPain). Pero se mantienen las dos tablas en memoria. Para probar esto realizar la siguiente operación: Pulsar ALT + CONTROL + F1 se activa el mapa americano. (Ya no esta la Ñ) Pulsar ALT + CONTROL + F2 se activa el mapa español. (Vuelve la Ñ) MEMAKER Esta utilidad optimiza los ficheros CONFIG.SYS y AUTOEXEC.BAT para liberar la máxima memoria posible por debajo de los 640 Kbytes. MODE Otra macro-utilidad. Sirve para configurar los dispositivos MS-DOS. MODE COM (modifica los parámetros para las comunicaciones serie) MODE LPT (lo mismo para la puerta paralelo) MODE CON (lo mismo para pantalla y teclado) etc. MOVE Mueve un fichero o ficheros de un sitio a otro. Esto, que parece evidente, no se podía hacer antes. Era necesario copiar el contenido del fichero donde queríamos y luego borrar el original. MSCDEX Carga el soporte de discos CD-ROM (MicroSoft CD-ROM EXtensions, me lo acabo de inventar pero me imagino que debe ser algo así).

Page 178: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.17

El acceso a los CD-ROM no se parece en nada al de un disco magnético. Así que es necesario una especie de traductor (Interface) que permita traducir de la estructura del CD-ROM a la que el MS-DOS es capaz de entender. SHARE Permite compartir ficheros entre varias aplicaciones. El MS-DOS lleva la cuenta de los programas que quieren acceder al mismo fichero e impide que puedan existir colisiones. SORT Ordena un fichero o entrada por teclado según un determinado criterio. Existen muchos más comandos. Pero parece ridículo escribir aquí algo que podéis ver en vuestro ordenador simplemente tecleando HELP.

7.3 CONTROLADORES Y ARRANQUES Un controlador es un programa especial desde el punto de vista de MS-DOS y por tanto les da un tratamiento distinto. Para cargar un controlador es necesario una instrucción especial, la instrucción DEVICE. Los controladores deben cargarse inmediatamente después del sistema. Este es el mo-tivo de que exista el fichero CONFIG.SYS. En este fichero se especificarán los programas controladores que queremos tener permanentemente en memoria. Un controlador es un programa que realiza una función que NO está implementada en los programas IO.SYS y MS-DOS.SYS. Son extensiones al sistema. Por eso son de vital importancia. El ejemplo más claro de esto se encuentra en el controlador HIMEM.SYS. Como el MS-DOS es incapaz de ver la memoria por encima de las famosas 640 Kbytes, es necesario incluir un controlador que haga lo que MS-DOS no puede hacer por si mismo. Normalmente los controladores suele suministrarlos el fabricante del dispositivo. Cuando compréis un CD-ROM o algo que no esté soportado directamente por MS-DOS el fabricante debe entregaros un disco con los controladores. Esto ha sido bastante habitual con los ratones. Si un fabricante vende ratones debe permitir que funcionen con los sistemas operativos más vendidos. Por eso, cuando compramos un ratón, suele venir un disco con él. Sin embargo, hablando de ratones, MicroSoft ha creado un estándar y la mayoría de los ratones permiten un modo compatible con MicroSoft. Mirar en el HELP de MS-DOS la entrada para CONTROLADORES.

Page 179: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.18

7.4 INSTRUCCIONES PARA PROCESAMIENTO POR LOTES Este es el nombre técnico de los ficheros .BAT . Podemos entender estos ficheros como una secuencia de órdenes (comandos) que queremos que realice el sistema. Sin embargo se han añadido unas instrucciones especiales para mejorar el rendimiento de este tipo de ficheros. Son las siguientes: Call Choice Echo For Goto If Pause Rem Shift CALL Permite llamar (ejecutar) desde un fichero BAT otro fichero BAT. Cuando termina la ejecución de este último continua con la del primero. CHOICE En realidad es un comando externo. Permite interrogar al usuario desde dentro de los ficheros por lotes. En función de la respuesta tomaremos una decisión. ECHO Nuestra un mensaje en la pantalla. FOR Repite una orden para los archivos que cumplen una determinada condición. GOTO

Permite saltar parte de las instrucciones contenidas en el fichero BAT. Estos ficheros no permiten la programación estructurada. Es la única forma de bifurcar los programas.

IF Comprueba el valor de una variable. PAUSE Suspende la ejecución del fichero y espera a que se pulse una tecla REM Permite incluir comentarios dentro de este tipo de ficheros. Se recomienda encarecidamente su utilización. SHIFT

Page 180: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.19

Desplaza las variables parámetro que se pueden pasar a un fichero BAT. Las va-riables se nombran %0, %1, %2, etc. Cuando se ejecuta SHIFT , se pierde el valor de %1 y toma el valor de %2 y, así sucesivamente.

Parece que con estas pocas instrucciones no se puede hacer gran cosa. Pero con imaginación se puede conseguir casi todo.

7.5 CONFIGURACIONES MÚLTIPLES. De lo estudiado hasta el momento podemos deducir que existe un fichero esencial en MS-DOS: El CONFIG.SYS. Puede llegar a ser tan complicado que perderlo puede significar un pequeño desastre. Procurar tener copia de él además del AUTOEXEC.BAT . Pero no va la cosa de esto. Vamos a pensar en un ordenador cargadito de opciones. Tiene CD-ROM, Scanner, tarjeta de capturadora de video, tarjeta de sonido, etc. Como nada de esto está soportado directamente por MS-DOS, necesito un CONFIG.SYS que incluya la llamada a los controladores para cada uno de estos dispositivos. Cada controlador ocupa su parte de memoria. Ahora pensar que este ordenador lo utilizan dos personas. Una que maneja Windows y necesita todos estos aparatos y otra que solo usa el Word Perfect y no los necesita en absoluto. Mas todavía. Como se usa un Word Perfect antiguo, si permanecen en memoria todos los controladores no queda espacio para su ejecución. ¿Como puedo solucionarlo?. Lo primero que se nos ocurre es tener dos ficheros del tipo CONFIG.SYS. Por ejemplo: WINDOWS.BOT y WORDPERF.BOT Estos ficheros contienen solo los controladores necesarios para cada usuario. ¿Como funcionaría esto?. Pues el usuario que va a usar el WORD PERFECT enciende la maquina y copia el fichero WORDPERF.BOT encima del CONFIG.SYS. Rebota la máquina y se carga el MS-DOS con sólo lo necesario para él. Cuando el de Windows quiera usar el ordenador copia el fichero WINDOWS.BOT encima del CONFIG.SYS y rebota la máquina. Ahora se carga el MS-DOS con los controladores necesarios para Windows. Esperamos que se haya entendido. Pues antes de la versión 6 había que hacerlo tal y como lo hemos contado. Pero con la versión 6 se puede hacer de forma más elegante. Puedo realizar un fichero CONFIG.SYS que incluya dos bloques de controladores y al arrancar el ordenador se me pregunta que bloque quiero usar.

Page 181: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.20

Se vera con más detalle realizando prácticas sobre este asunto. Pero aquí va un ejemplo del CONFIG.SYS para los usuarios Miguel y Rosa: [Menu] menuitem=Miguel menuitem=Rosa [Common] dos=high buffers=15 device=c:\dos\himem.sys [Miguel] files=20 device=c:dos\emm386.EXE 2048 [Rosa] files=15 device=c:dos\emm386.EXE 1024 Además, esto también debería hacerse en el fichero AUTOEXEC.BAT. Cuando se utilizan configuraciones múltiples, se crea una variable de entorno %CONFIG% que identifica que opción de arranque se ha utilizado. Dentro del AUTOEXEC ya sabemos: con el IF y el GOTO puedo saltar al bloque del fichero que me interese. Creación de un disquete de inicio con utilidades co mprimidas. Necesito :

a. Un disquete con sistema b. El controlador de disco virtual (RAMDRIVE.SYS) c. El controlador de memoria (HIMEM.SYS) d. El compresor ARJ.EXE e. Los archivos que quiero comprimir

¿Cómo lo hago? : Suponiendo que tengo todos estos elementos, describimos las operaciones a realizar: a) Comprimimos los archivos que deseo

Quiero crear el archivo comprimido COMPRIMO.ARJ con los archivos A.XXX y B.XXX, para ello ejecuto el comando:

C:\> ARJ A COMPRIMO.ARJ *.XXX (para abreviar)

Y si quiero convertirlo en autoexpandible le paso por:

C:\> ARJ Y -JE1 COMPRIMO.ARJ

Page 182: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.21

Y obtengo el archivo COMPRIMO.EXE que como su nombre indica es un ejecutable que se autoexpande.

b) Formateamos el disquete con sistema. Curiosamente, si los formateamos con XP y le

pedimos que haga un disco de inicio de DOS, el archivo IO.SYS mide sólo 114 Kilobytes mientras que el de Windows 98 me mide 218 Kilobytes. Tener esto en cuenta si vamos muy justos de espacio en disco.

c) Creamos un CONFIG.SYS en el disquete que cargue el controlador de memoria alta (HIMEM.SYS) y el del disco virtual (RAMDRIVE.SYS)

COPY CON CONFIG.SYS DEVICE=HIMEM.SYS DEVICE=RAMDRIVE.SYS XXXX /E CTRL+Z

El orden el vital, no podemos reservar XXXX Megas si antes no se ha cargado el controlador de memoria alta (al menos con el arranque del 98, el de XP no se, creo que lo carga por defecto ...)

d) Copiamos al disquete el archivo COMPRIMO.EXE. Ahora viene el problema: Podríamos pensar en crear un AUTOEXEC.BAT que una vez cargado el sistema y creado el disco virtual, expandiera el archivo sobre él. El razonamiento el aplastante, pero, ¿cómo coño se llama la unidad del disco virtual?. Siempre es una más de la ultima montada. Pero, ¿cuántas tiene montada el sistema?. Me explico. Si no hay disco duro el virtual se llamará C:. Pero si tengo disco duro con una partición montable por windows, esa será la C: y el virtual la D: y así sucesivamente. Así que pensar en hacerlo automáticamente es complicado. Si no fijaros en la paja mental que se tuvo que hacer el de Microsoft para averiguar como se llama el disco virtual (mirarlo en el disquete de inicio Windows 98)

… @ECHO OFF set EXPAND=YES SET DIRCMD=/O:N set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15 set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C cls call setramd.bat %LglDrv% set temp=c:\ set tmp=c:\ path=%RAMD%:\;a:\;%CDROM%:\ copy command.com %RAMD%:\ > NUL set comspec=%RAMD%:\command.com copy extract.exe %RAMD%:\ > NUL copy Leame.txt %RAMD%:\ > NUL …

en setramd.bat encontramos

Page 183: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.22

a:\findramd

que es una llamada a findramd.exe. Que se tuvieron que hacer un ejecutable por que desde un fichero por lotes debía se difícil.

¿Solución?. Lo hacemos a mano. Creación de un disquete de inicio con menú de inici o.

Volvemos a la prehistoria. Necesitamos recordar como se hace un archivo CONFIG.SYS con opciones. Lo mejor que se me ocurre es mostrar aquí uno que hicimos hace tiempo:

[MENU] menuitem=1 CDROM,ARRANQUE CON ACCESO A CDROM menuitem=2 VIRTUAL,ARRANQUE CREANDO UN DISCO VIRTUA L menuitem=3 AMBAS OPCIONES,ARRANQUE CON LA OCPION 1 Y 2 menuitem=4 A PELO,ARRANQUE BASICO menudefault=3,20 [1 CDROM] device=oakcdrom.sys /d:cdrom [2 VIRTUAL] device=himem.sys device=ramdrive.sys 10240 /e [3 AMBAS OPCIONES] device=oakcdrom.sys /d:cdrom device=himem.sys device=ramdrive.sys 10240 /e [4 A PELO]

Creo que no es necesario comentar nada excepto la opción menudefault=3,20 que simplemente espera 20 segundos antes de elegir la opción 3. También recordar la etiqueta [COMMON] que se usa para cargar controladores con independencia de la opción seleccionada Ahora mostramos el AUTOEXEC.BAT, recordar la variable de entorno %CONFIG% que toma como valor el de la etiqueta seleccionada en el arranque:

@echo off echo Ha seleccionado el modo %CONFIG% GOTO %CONFIG% echo Ha seleccionado el modo arranque en modo cdrom ..... :1 CDROM MSCDEX.EXE /D:CDROM GOTO FIN :2 VIRTUAL ECHO Ha seleccionado el modo arranque virtual,copia ndo utiles a discovirtual,espere.... copy utiles.exe e: e: utiles GOTO FIN :3 AMBAS OPCIONES echo Ha seleccionado el modo arranque con opcion 1 y 2.... MSCDEX.EXE /D:CDROM copy utiles.exe e: e: utiles GOTO FIN :4 A PELO echo ha selecciondo el arranque en modo basico.....

Page 184: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.23

:FIN keyb sp doskey

He marcado en negrita las instrucciones que son problemáticas por el comentado asunto de desconocer como se va a llamar el disco virtual. Ahora, sabiendo esto, a ver como parís un disco de inicio que además de estas opciones tenga los clientes de red para NETBEUI y TCP/IP. Si no me cabe en un disquete pues uso dos y le pido al paisano que cambie los discos ...

Page 185: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.24

9 . P R Á C T I C AS M S - D O S

9.1 INSTALACIÓN DE UN SISTEMA OPERATIVO MS-DOS Material: PC completo con disco duro Sistema operativo MS-DOS 6.2 Desarrollo: Particionado del disco duro Formateo del disco duro Instalación del sistema Instalación de utilidades Configuración del sistema Comprobación del sistema Optimización del sistema Tiempo estimado: 1h Teoría + 2h practica

9.2 PROGRAMACIÓN DE UN FICHERO BAT SEGÚN DETERMINAD OS REQUISITOS Material: 1 PC Sistema operativo MS-DOS 6.2 Desarrollo: Descripción de las Instrucciones MS-DOS Requerimientos de la función Programación y prueba de la función Comprobación del sistema Tiempo estimado: 1h Teoría + 2h practica

9.3 GESTION DE LOS FICEHROS CONFIG.SYS Y AUTOEXEC.B AT Material: 1 PC Sistema operativo MS-DOS 6.2 Desarrollo: Importancia de estos ficheros Arranques desde distintas opciones

Page 186: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.25

Funcionamiento de instrucciones DEVICE Cambios de la configuración e instalación de nuevos dispositivos Comprobación del sistema Tiempo estimado: 1h Teoría + 2h práctica

9.5 EJEMPLOS DE FICHEROS BAT

BORRADO CON CONFIRMACÍON @ECHO OFF CLS REM ejemplo de For ECHO Utilidad para borrar ficheros IF %1!==! GOTO Error ECHO Ficheros Encontrados ECHO. FOR %%F IN (%1) DO ECHO %%F ECHO. CHOICE.COM /C:SN "Quieres Borrarlos (S/N) ... " IF ERRORLEVEL = 2 GOTO FIN IF ERRORLEVEL = 1 GOTO BORRARLOS GOTO FIN :ERROR ECHO Sintaxis: %0 *.ext ECHO Ejemplo: %0 *.BAK (borrar los ficheros BAK) GOTO FIN :BORRARLOS FOR %%1 IN (%1) DO DEL %%1 /P ECHO. ECHO Ficheros borrados :FIN

USO DE CHOICE @ECHO OFF REM Ejemplo del uso con CHOICE CHOICE.COM /C:SNT Seleccione Opcion (Si, No, Terminar) IF ERRORLEVEL = 3 GOTO Terminar IF ERRORLEVEL = 2 GOTO No IF ERRORLEVEL = 1 GOTO Si GOTO Fin

Page 187: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.26

:Si ECHO Ha pulsado Si GOTO Fin :No ECHO Ha pulsado No GOTO Fin :Terminar ECHO Ha pulsado Terminar GOTO Fin :Fin

MENU DE PROGRAMAS Rem Ejemplo de menu de aplicaciones sencillito Rem se a¤adiria su llamada en el AUTOEXEC.BAT :OTRAVEZ @echo off cls echo MENU DE APLICACIONES echo -------------------- echo. echo 1. Word Perfect echo. echo 2. Dbase IV echo. echo 3. Harvard Graphics echo. echo 4. Salir al dos echo. CHOICE.COM /C:1234 Seleccione Opcion IF ERRORLEVEL = 4 GOTO FIN IF ERRORLEVEL = 3 GOTO HG IF ERRORLEVEL = 2 GOTO DB IF ERRORLEVEL = 1 GOTO WP GOTO OTRAVEZ :WP CALL CARGAWP.BAT GOTO OTRAVEZ :DB CALL CARGADB.BAT GOTO OTRAVEZ :HG CALL CARGAHG.BAT GOTO OTRAVEZ :FIN echo. echo Fin de Menu. Pulse una tecla para continuar ... Pause > nul

Page 188: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.27

cls

CARGAWP.BAT @echo off cls echo Gargando Word Perfect, espere por favor ... cd\wp51 WP.EXE

INSTRUCCIÓN FOR @echo off Rem Llamar al compilador de Clipper para todos los .PRG Rem Cambiar la ruta al compilador for %%1 in (*.prg) do \clipper5\bin\clipper %%1 echo. echo Fin del proceso. Pulse cualquier tecla para continuar ... pause > nul cls

INSTRUCCIÓN CON FILTROS @echo off cls rem dir ordenado por nombre de fichero dir /b | sort | more

AÑADIR UNA NUEVA RUTA AL PATH @ECHO OFF IF %1!==! GOTO ERROR PATH=%PATH%;%1 ECHO Nuevo PATH = %PATH% GOTO FIN :ERROR ECHO SINTAXIS: MASPATH ruta :FIN

LLAMADA A UN BATCH DESDE OTRO @echo off rem ejemplos de instrucciones para procesamiento por lotes. rem ejemplo del call echo estoy en el programa 1 call prog2.bat echo continua el programa 1

Page 189: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III ... MMM SSS--- DDD OOO SSS

MS-DOS VII.28

PROGRAMA PROG2.BAT @echo off rem ejemplos de instrucciones para procesamiento por lotes. rem ejemplo del call echo estoy en el programa 2 pause

VISUALIZACION DE UN FICHERO ASCII SIN TYPE @ECHO OFF REM Utilidad para ver un fichero ASCII IF %1!==! GOTO ERRORP IF NOT EXIST %1 GOTO ERROR CLS ECHO Visualizando fichero: %1 ECHO ------------------------------------ ECHO. MORE < %1 ECHO. ECHO Fin del fichero GOTO FIN :ERRORP ECHO SINTAXIS: VERF nombre_fichero GOTO FIN :ERROR ECHO No existe el fichero %1 :FIN

B I B L I O G R AF Í A Cosecha propia de los autores SUPERUTILIDADES DEL MS-DOS 5 Paul Somerson Ediciones Añaya Multimedia, 1993 ISBN: 84-7614-451-2

Page 190: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.1

1 . G E S T I O N D E D I S C O A diferencia del FDISK de MS-DOS que crea particiones FAT-16, usando el FDISK de Windows 95 o 98 si habilitamos el uso de soporte de discos grandes se usará la FAT de 32 bits para todas las particiones que creen. Si nuestra unidad de disco es menor de 540 Mbytes automaticamente se usa la FAT 16. OJO. Si montamos particiones FAT32, ya no podremos verlas si usamos un disco de arranque de MS-DOS e incluso algunas versiones Windows 95 antiguas (anteriores a OSR2). Si no uso el soporte de disco grande sólo puedo crear particiones de un maximo de 2 Gbytes.

1.1 FAT Y VFAT FILE ALLOCATION TABLE File allocation table (FAT) refers to a disk format, which is a way of organizing the storage space on a hard disk. The table organizes information about the files on the hard disk, representing each one as a chain of numbers that identifies where each part of a file is located. The FAT itself is similar to a table of contents in a book—the operating system uses it to look up a file and find which clusters that file is written to on the hard disk. FAT is probably the most widely recognized disk format, being read by most operating systems. Microsoft originally devised FAT to manage files on floppy disks, and adapted it as a standard for file and disk management in MS-DOS. A 12-bit FAT was first used for managing floppy disks and logical drives smaller than 16 MB. MS-DOS version 3.0 introduced the 16-bit FAT for larger drives. FAT32 FAT32 goes beyond the capabilities of FAT16. The most prominent feature is that it supports drives of up to 2 terabytes in size. In addition, FAT32 decreases the cluster size on large drives, thus reducing the amount of unused space. For example, with FAT16, a 2 GB drive has a 32 KB cluster size. The same drive under FAT32 has 4 KB clusters. To maintain the greatest possible compatibility with existing programs, networks, and device drivers, FAT32 was implemented with as little change as possible to existing architecture, internal data structures APIs, and on-disk format for Windows 98. However, because 4 bytes are now required to store cluster values, many internal and on-disk data structures and published APIs have been revised or expanded. In some cases, existing APIs have been prevented from working on FAT32 drives to prevent legacy disk utilities that use them from damaging the FAT32 drives. Most programs will be unaffected by these changes. Existing tools and drivers should continue to work on FAT32 drives. However, MS-DOS block device drivers (for example, Aspidisk.sys) and disk tools must be revised to support FAT32 drives. All of Microsoft’s bundled disk tools (Format, FDISK, Defrag, and MS-DOS-based and Windows-based ScanDisk) have been revised to work with FAT32. In addition, Microsoft is working with leading device driver and disk tool vendors to support them in revising their products to support FAT32.

Page 191: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.2

Note A FAT32 volume cannot be compressed using Microsoft DriveSpace 3. FAT16 VS. FAT32 FAT16 is still available because of its widespread compatibility with all other non-Microsoft operating systems. The major benefits of FAT32 are that it is more efficient than a 16-bit FAT on larger disks (sometimes by as much as 20–30 percent), and that it can support disk drives larger than 2 GB without having to use multiple partitions. Note In real-mode MS-DOS or when running Windows 98 in safe mode, FAT32 is considerably slower than FAT16. If you need to run applications in MS-DOS mode, loading Smartdrv.exe in Autoexec.bat or your MS-DOS PIF file will be beneficial. Some older applications that were written to FAT16 specifications may be unable to display free or total disk space over 2 GB correctly. Windows 98 provides new MS-DOS and Win32 APIs that applications can use to determine free or total disk space over 2 GB. Table 10.1 shows a comparison of FAT16 and FAT32. Table 10.1 FAT16 and FAT32 comparison FAT16 FAT32 Most operating systems (MS-DOS, Windows 98, Windows NT, OS/2, and UNIX) are designed to implement and use it.

Currently, FAT32 can be used only in Windows 98 and Windows 95 OSR2.

It is efficient, both in speed and storage, on logical drives smaller than 256 MB.

Drives smaller that 512 MB are not supported by FAT32.

Disk compression, such as Drvspace, is supported.

Disk compression is not supported with FAT32.

FAT16 is limited in size to 65,525 clusters with each cluster being fixed in a size relative to the logical drive. If both the quantity of clusters and their maximum size (32 KB) is reached, the largest drive is limited to 2 GB.

FAT32 allows for (x) clusters, therefore, the largest drive can be up to 2 terabytes, based on the 32 KB cluster size limitation.

Storing files in a FAT16 system can be inefficient in larger drives as the size of the cluster increases. The space allocated for storing a file is based on the size of the Cluster Allocation Granularity, not the file size. A 10 KB file stored in a 32 KB cluster wastes 22 KB of disk space.

FAT32 cluster sizes are 4 KB (drives less than 800 MB).

CLUSTER SIZES OF FAT16 AND FAT32 The largest possible file for a FAT32 drive is 4 GB minus 2 bytes. Win32-based applications can open files this large without special handling. However, non-Win32-based applications must use Int 21h Function 716Ch (FAT32) with the EXTENDED_SIZE (1000h) open flag.

Page 192: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.3

The FAT32 file system includes 4 bytes per cluster within the file allocation table. This differs from the FAT16 file system, which contains 2 bytes per cluster, and the FAT12 file system, which contains 1.5 bytes per cluster within the file allocation table. Note that the high 4 bits of the 32-bit values in the file allocation table for FAT32 are reserved and are not part of the cluster number. Applications that directly read a FAT32 file allocation table must mask off these bits and preserve them when writing new values. Table 10.2 provides a comparison of FAT16 and FAT32 cluster sizes according to drive size. Table 10.2 Cluster sizes of FAT16 and FAT32 Drive size FAT16 cluster size FAT32 cluster size 256 MB – 511 MB 8 KB Not supported 512 MB – 1023 MB 16 KB 4 KB 1024 MB – 2 GB 32 KB 4 KB 2 GB – 8 GB Not supported 4 KB 8 GB – 16 GB Not supported 8 KB 16 GB – 32 GB Not supported 16 KB >32 GB Not supported 32 KB

1.2 MASTER BOOT RECORD Y BOOT SECTOR When the computer is powered on, a mechanism is required to manipulate interrupts, find the hard disk(s), and launch code necessary to load drivers located on the boot drive. This mechanism is contained in the Master Boot Record (MBR). The MBR of a hard disk resides at the first physical sector of the disk: track 0, side 0, sector 1. The MBR is divided into five sections: Jump Code, Error Messages, Free Space, the Partition Tables, and Ending Signature. Table 10.5 outlines some of the more important components of the MBR. Table 10.5 Important components of the MBR Area Functions or purpose

Jump Code: 139 bytes

Load MBR into memoryEnable interruptsScan disk characteristicsFind C: driveLoad boot sector from C: drive

Error Messages: 80 bytes Invalid Partition TableError loading operation systemMissing operating system

Free Space: 227 bytes

Partition Tables: 64 bytes

Active partitionStarting head, sector, and cylinderPartition TypeEnding head, sector, and cylinderTotal number of sectors on this partition

Ending Signature: 2 bytes Define the MBR boundary

Page 193: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.4

If one of the values becomes corrupted, the system probably will not boot. Likewise, if a new value is introduced by an operating system and an existing software utility does not understand the new value, there is a possibility of data corruption. The area of the MBR that has changed for FAT32 is the Partition Table. The Partition Table is divided into four 16-byte entries. Inside the Partition Table is the Partition Type. This entry is important for identifying the partition structure for the operating system. In order for FAT32 to accomplish its new capabilities, the MBR contains the following two new Partition Types: DOS32. Defines primary 32-bit FAT partitions of up to 2,047 GB. It is used when the primary partition does not require logical block addressing (LBA) to access that partition. LBA is a method of accessing hard disk drives based on the extensions of INT 13. DOS32X. Defines 32-bit FAT partitions of up to 2,047 GB. It is used when any portion of either the primary or extended partition is beyond 1,024 cylinders, 63 sectors per track, and 16 heads, and requires LBA to access. These new 32-bit FAT partition types cannot be accessed through MS-DOS 6.x or earlier. The Legacy Boot Sector The Boot Sector is the first sector on every logical drive. The Boot Sector contains a table of that drive’s characteristics and the code that boots the operating system. When the system starts, this code is loaded into memory where it loads the operating system files from the disk. The remainder of the Boot Sector is boot code and error messages. The following is the first 64 bytes of a typical Boot Sector on a logical drive. Table 10.6 details some of the more important entries. All values are in hex, not decimal. EB 3E 90 4D 53 57 49 4E-34 2F 31 00 02 04 01 00 . >.MSWIN4.1..... 02 00 02 00 00 F8 CA 00-23 00 0C 00 23 00 00 00 . .......#...#... B1 28 03 00 80 00 29 88-98 24 1D 20 20 20 20 20 . (....)..$. 20 20 20 20 20 20 46 41-54 31 36 20 20 20 F1 7D FAT16 .} Table 10.6 Important characteristics of the Boot Sector Length Contents 3 bytes Jump to boot code. 8 bytes Windows name and version. 2 bytes Bytes per sector. 1 1 byte Sectors per cluster (always a power of 2). 1

2 bytes Number of reserved sectors before the first FAT. 1

1 byte Number of FATs. 1 2 bytes Number of root directory entries (max limit). 1

2 bytes Total number of sectors (00 00 if the drive is greater than 32 MB). 1

1 byte Media descriptor; here it is F8, which identifies this disk as a hard drive of any

Page 194: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.5

capacity. 1 2 bytes Number of sectors per FAT. 1 2 bytes Number of sectors per track. 1 2 bytes Number of heads. 1 4 bytes Number of hidden sectors. 1

4 bytes Number of sectors if drive is greater than 32 MB. 1

1 byte Drive number; here it is 80, which means primary partition.

1 byte RESERVED. 1 byte Extended boot signature (always 29h). 4 bytes Volume ID number. 11 bytes Volume label. 8 bytes Type of file system (12-bit FAT or 16-bit FAT). 1 This portion of the Boot Sector is known as the BIOS Parameter Block (BPB). It offers physical disk characteristics that MS-DOS/Windows use for finding specific disk locations. For example, by adding or multiplying values together, it gives details as to where the FAT, root directory, and data area begin and end. For more information about the Boot Sector, see the Microsoft Programmer’s Reference. It contains detailed information about each of the values previously mentioned. CHANGES TO THE BOOT SECTOR The number of reserved sectors before the first FAT is 1. This is the Boot Sector itself. FAT32 drives usually contain 32, but can vary based on how the drive is set up. New Boot Sector BIOS Parameter Block A FAT32 BIOS Parameter Block (BPB) is larger than a standard BPB and is referred to as Big FAT BIOS Parameter Block (BF_BPB). With this additional information, the Boot Sector is now two sectors since it is not possible to fit the boot code into 512 bytes. This additional sector is located in one of the 32 reserved sectors. The BF_BPB is an extended version of the 12-bit and 16-bit FAT BPB. It contains an identical structure to a standard BPB, but also includes several extra fields for FAT32-specific information. Changes in the BPB for FAT32 include the following: Root Directory Field. This entry contains the number of root directories. For hard drives this has always been 512 (00 02h). This field is changed to 00 00 and is ignored on FAT32 drives. Sectors Per FAT. The number of sectors per FAT entry in the original BPB is changed to zero. This acts as a pointer to the entry in the BF_BPB as the boot process moves to the BF_BPB. Drive Description. New to FAT32 is a 2 byte field called Drive Description that determines the number of FATs on a drive. These 2 bytes set the flags to determine whether there is one or two

Page 195: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.6

FATs on the drive. If set, there is only one FAT. If the flag is clear, there are two FATs. FAT32 created by the FORMAT command will always create two FATs. First Root Directory Cluster. The root directory size is now limited to 65,535 entries, can grow just like a sub-directory, and its location is flexible. This value points to the cluster number of the first cluster of the root directory of the FAT32 drive. File Information Sector. This entry points to the second sector of the Boot Sector that contains the total free and most recently allocated cluster on the drive. This allows a FAT32 volume to obtain the quantity of free clusters on a volume as well as the most recently allocated cluster without having to read the entire FAT. Backup Copy of Boot Sector. Another important change to Boot Sector processing is a backup copy of the Boot Sector. With previous versions of the FAT file system, users worked in a “single point of failure” scenario. That is, if the Boot Sector became corrupted or unreadable, the volume would stop working. FAT32 has made adjustments to offset this potential problem. When Fdisk writes to the boot volume that has a change, and that volume is using a FAT32 partition ID, Fdisk will write a backup Boot Sector to sector 6 of that volume. If the new MBR receives a read error, or has a signature validation problem with reading the Boot Sector, it will search sector 6 and try reading the rest of the bootstrap loader. 32-bit File Allocation Table The purpose of the FAT has not changed. It still acts as a table for linking the clusters of a file together. File/Directory entries point to the first cluster in the file which the operating system uses to find the first entry in the FAT. The FAT then tracks the location of the remaining clusters in the file. The entries are twice the size (4 bytes) and you can hold many more clusters on a FAT32 drive. With the 16-bit FAT, the quantity of clusters on a drive is 65,525 (216 with 10 reserved). With a 32-bit FAT, the highest 4 bits of the 32-bit values are reserved and are not part of the cluster number. Therefore, the maximum amount of clusters on a 32-bit FAT is: 268,435,445 (228 with 10 reserved). Stepping Through a FAT32 Entry The starting cluster given in the file/directory entry tells the operating system where to find the first piece of that file. The starting cluster also tells the operating system where to look in FAT32 for the next cluster number. The entry for a starting cluster in a file entry is in bold below. 49 4F 20 20 20 20 20 20-44 4F 53 07 00 00 00 00 I O SYS..... 00 00 00 00 00 00 80 32-3E 1B 02 00 46 9F 00 00 .......2....F... Two additional entries are used in the 32-bit directory entry. These two entries are taken from a reserved area and in this example are shown above as 00 00. Together with the

Page 196: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.7

existing 2 byte entry (02 00), there is a four-byte entry (00 00 00 02) to search the FAT. The following is a sample tracing of the file in a 32-bit FAT: F8 FF FF 0F FF FF FF 0F-03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00-07 00 00 00 08 00 00 00 09 00 00 00 0A 00 00 00-0B 00 00 00 0C 00 00 00 0D 00 00 00 0E 00 00 00-0F 00 00 00 10 00 00 00 11 00 00 00 12 00 00 00-13 00 00 00 14 00 00 00 15 00 00 00 16 00 00 00-17 00 00 00 18 00 00 00 19 00 00 00 1A 00 00 00-1B 00 00 00 FF FF FF F8 As with FAT16, F8 is the media descriptor byte. The next 7 bytes, FF FF 0F FF FF FF 0F, are reserved. The clusters are grouped in 4 byte numbers as: 03 00 00 00, 04 00 00 00, 05 00 00 00, 06 00 00 00 And so on. Invert the numbers to read: 00 00 00 03, 00 00 00 04, 00 00 00 05, 00 00 00 06 And so on, to trace the file through the FAT. (The contents in the second entry is 00 00 00 03. F8 FF FF FF, and FF FF FF 0F are grouped as entries 0 and 1 respectively.) The new end of file marker is FF FF FF F8 How Win.com Determines Improper Shutdown Of the first 112 bytes of the FAT32, the first 8 bytes are reserved. The eighth byte of the reserved area, by default, is 0F. The virtual file allocation table (VFAT) and the Windows 98 shutdown process manipulate the fourth bit of this byte to 1 or 0. 0 = VFAT has written to disk 1 = Windows has properly shutdown When you write a file to the disk, VFAT handles the write. During the write, VFAT clears the fourth bit to 0 (07h). When Windows 98 exits properly, this bit is reset to 1. During reboot, Win.com reads that bit. If it is set to 0, it runs ScanDisk to check the drive for errors. Hard Sector Error. Windows 98 detects a hard sector error during startup. This process toggles the third bit to zero (0Bh). When detected during startup, Windows 98 automatically launches ScanDisk with a surface scan test. Disabling ScanDisk at Boot. There is a way to disable the improper shutdown check. It is in the Msdos.sys file under [OPTIONS]. The parameters for AutoScan are as follows: Value Definition AUTOSCAN = 0 Ignore the bits in the reserved FAT

Page 197: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.8

entry AUTOSCAN = 1 Default behavior, run ScanDisk Mirroring On all FAT drives, historically, there are two copies of the FAT. If an error occurs reading the primary copy, the file system will attempt to read from the backup copy. On 12-bit and 16-bit FAT drives, the first FAT is always the primary copy and a modification is automatically written to the second copy. When a second FAT is written to as a backup, the process is called mirroring. On new FAT32 drives, mirroring a secondary FAT can be disabled. This means that a read/write is quicker using one FAT, or if the first FAT is sitting on corrupted sectors, the second FAT can be used as a primary with the first FAT ignored. Note On FAT32 drives, a FAT can be very large. Disabling duplicate FAT writes can make FAT access quicker. Windows 98 does not provide a mechanism for eliminating the use of a second FAT. Mirroring is always enabled. Third-party utilities, however, might include this ability as users with larger hard disks might want to disable a second FAT to speed disk access. Any issues about mirroring should be directed to that third-party utility. Root Directory With FAT32, the limitation is now 65,535 root directory entries. There is a new entry in the Boot Sector that points to the first cluster of the root directory. The root directory is no longer forced to reside at a specific location after the second FAT and it can grow just like a subdirectory. There is a trade off in performance when you have a large number of directory entries to pass across when searching for actual data. For this reason, it is recommended that you limit the number of root directory entries to a small, manageable number. There is no actual recommended size for the same reasons as there is no optimal cluster size to choose from.

Page 198: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.9

2 . AR R AN Q U E S E N W I N 9 8 . O P C I O N E S D E L F I C H E R O M S D O S . S Y S O como conseguir que no se pueda arrancar el pc en modo a prueba de fallos o solo Símbolo de comandos. (Mayor seguridad) Msdos.sys: Special Startup Values Windows 98 Setup creates a hidden, read-only system file named Msdos.sys in the root of the computer’s boot drive. This file contains important paths used to locate other Windows files, including the registry. Msdos.sys also supports an [Options] section, which you can add to tailor the startup process. The following example shows a typical file with default values: [Options] BootGUI=1 [Paths] WinDir=C:\WINDOWS WinBootDir=C:\WINDOWS HostWinBootDrv=C Most values in the [Options] section are Boolean — that is, the value can be 1 (enabled) or 0 (disabled). Table 5.7 describes entries in Msdos.sys, using the typical default values. Table 5.7 Msdos.sys entries Entry Description [Paths] section HostWinBootDrv=c Defines the location of the boot drive root directory.

WinBootDir= Defines the location of the necessary startup files. The default is the directory specified during Setup; for example, C:\Windows.

WinDir= Defines the location of the Windows 98 directory as specified during Setup.

[Options] section

AutoScan=

Enables ScanDisk to run automatically when your computer restarts. The default is 1. When this value is set to 1, ScanDisk will run automatically., you will be prompted if you want to run ScanDisk; if you do not respond after one minute, ScanDisk runs automatically. Setting this value to 0 disables this feature. Setting it to 2 launches ScanDisk automatically (if needed), without prompting you.

BootDelay=n

Sets the initial startup delay to n seconds. The default is 0is 2. BootKeys=0 disables the delay. The only purpose of the delay is to give the user sufficient time to press F8press ctrl after the Starting Windows message appears.

BootFailSafe= Enables Safe Mode for system startup. The default is 0. (tThis setting is typically enabled typically by equipment manufacturers for installation.).

Page 199: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.10

BootGUI= Enables automatic graphical startup into Windows 98. This is equivalent to putting the win statement in Autoexec.bat. The default is 1.

BootKeys=

Enables the startup option keys (that is, F5, F6, and F8). The default is 1. Setting this value to 0 overrides the value of BootDelay=n and prevents any startup keys from functioning. This setting allows system administrators to configure more secure systems. (These startup keys are described in Chapter 27, “General Troubleshooting. ”).

BootMenu=

Enables automatic display of the Windows 98 Startup menu, so that the user must press CTRL to see the menu. The default is 0. Setting this value to 1 eliminates the need to press CTRL to see the menu.

BootMenuDefault=# Sets the default menu item on the Windows Startup menu; the default is 3 for a computer with no networking components and 4 for a networked computer.

BootMenuDelay=# Sets the number of seconds to display the Windows Startup menu before running the default menu item. The default is 30.

BootMulti=

Enables dual-boot capabilities. The default is 0. Setting this value to 1 enables the ability to start MS-DOS by pressing F4 or by pressing F8 to use the Windows Startup menu.

BootWarn= Enables the Safe Mode startup warning. The default is 1.

BootWin=

Enables Windows 98 as the default operating system. Setting this value to 0 disables Windows 98 as the default; this is useful only with MS-DOS version 5 or 6.xon the computer. The default is 1.

DblSpace= Enables automatic loading of Dblspace.bin. The default is 1.

DoubleBuffer=

Enables loading of a double-buffering driver for a SCSI controller. The default is 0. Setting this value to 1 enables double-bufferingdouble buffering, if required by the SCSI controller.

DrvSpace= Enables automatic loading of Drvspace.bin. The default is 1.

LoadTop=

Enables loading of Command.com or Drvspace.bin at the top of 640K memory. The default is 1. Set this value to 0 with Novell NetWare or any software that makes assumptions about what is used in specific memory areas.

Logo=

Enables display of the animated logo. The default is 1. Setting this value to 0 also avoids hooking a variety of interrupts that can create incompatibilities with certain memory managers from other vendors.

Network= Safe Mode With Networking is no longer supported in Windows 98. This value should be set to 0 or left blank to disable this feature.

Page 200: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.11

Tip for Starting an Earlier Version of MS-DOS If you installed Windows 98 in its own directory, the earlier version of MS-DOS is preserved on your hard disk. If you set BootMulti=1 in the [Options] section in the Windows 98 version of Msdos.sys, you can start the earlier version of MS-DOS by pressing F4 when the Starting Windows message appears during system startup.

Page 201: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.12

3 . I N S T AL AC I Ó N AU T O M Á T I C A D E W I N D O W S MSBATCH.EXE (viene en el kit de recursos de win98) Este programa permite crear un fichero con extensión.inf que contendra las respuestas que deben darse en la instalacion de windows. Por ejemplo el número de licencia puede escribirse en el fichero y se tomara del fichero. Luego simplemente hay que instala windows especificando el fichero que contiene estos datos. INSTALAR nombrefichero.inf

Para hacer un fichero para cada maquina primero creamos un fichero de tipo texto que contiene los nombre de las maquinas (maquinas.txt): Maria Pepe Juan Luego dentro del msbatch en la opción archivo seleccionamos múltiples nombres de maquina. Le decimos que procese el fichero maquinas.txt y directorio donde dejar el resultado. Se me crearan tantos ficheros.inf como nombres de maquinas he escrito en el fichero maquinas.txt. Luego edito uno a uno para cambiar los datos particulares de cada uno de ellos. INFINST.EXE

Con este programa seremos capaces de añadir los ficheros inf de los drivers que no vienen en windows No he probado como funciona. Con estos dos métodos, seriamos capaces de: en un servidor copiar el CD de win 98 crear tantos inf como maquinas tengo añadir a la instalación de Windows los controladores de los dispositivos que tenga Si se me cae una maquina, con nuestro disco de arranque con acceso al servidor, podríamos reinstalar Windows de forma desatendida y configurándose solo (nombre de maquina, dirección ip, etc.) Será importante estudiar también el Microsoft Systems Management Server que chuta con Windows NT. Con esta herramienta se puede mantener todo el software instalado en las maquinas. Cuando se decida la instalación de una nueva máquina o la restauración de una que se ha caído, le digo que tipo es y se me instala automáticamente todo lo necesario. (Creo). Es el SMS. Ayuda del InfInst sacada del propio windows Introducción al Instalador de información del Hardw are

Page 202: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.13

El Instalador de hardware Inf (Infinst) le permite agregar nuevos controladores de hardware a Instalar de Windows 98. Cuando se instala Windows 98, Instalar detecta automáticamente todo el hardware e instala los controladores necesarios. Sin embargo, puede adquirirse hardware nuevo cuyos controladores no se incluyan en Windows 98. Este programa le permite agregar archivos inf del hardware nuevo y los controladores asociados a un Instalar compartido de Windows 98. Para agregar un controlador de hardware nuevo a ins talar.exe Inserte el CD-ROM de Windows 98. Aparecerá la ventana del CD-ROM de Windows 98 . Haga clic en Examinar este CD para mostrar el contenido del CD-ROM. Haga doble clic en herramientas , haga doble clic en admin , haga doble clic en infinst y, después, haga doble clic en el icono Infinst . Inserte el CD-ROM o el disco flexible que contiene el controlador de hardware nuevo. En el cuadro de diálogo Instalador de información , escriba la ruta de acceso de la nuevo información del hardware en Información del hardware a agregar para la instalación de Windows 98 . Escriba la ubicación del instalar.exe de Windows 98 en instalar.exe de Windows 98 . Haga clic en Agregar información para agregar el controlador de hardware nuevo. Aparecerá un cuadro de diálogo mostrando el progreso de la instalación. Notas Para agregar la información a Instalar.exe de Windows 98 deberá tener permisos de escritura. Agregar información y controladores al Instalar.exe que ya utilizó para instalar equipos causará discrepancias entre los archivos de los equipos y los archivos de instalación de Windows 98. Si, después, instala un dispositivo en estos oquipos, puede que el hardware no responda. Es mejor ejecutar sólo el programa de instalación cuando haya terminado de agregar toda la información. También puede utilizar el botón Examinar para buscar la ubicación del controlador de hardware nuevo y de instalar.exe. Una vez que haya agregado el controlador de hardware nuevo a instalar.exe, podrá instalar su hardware nuevo

Page 203: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.14

4 . G E S T I O N D E M E M O R I A Optimizing the Swap File Windows 98 uses a special file on your hard disk called a virtual memory swap file (or paging file). With virtual memory under Windows 98, some of the program code and other information are kept in random access memory (RAM), while other information is swapped temporarily to virtual memory. When that information is required again, Windows 98 pulls it back into RAM and, if necessary, swaps other information to virtual memory. This activity is invisible, although you might notice that your hard disk is working. The resulting benefit is that you can run more programs at one time than the computer’s RAM would usually allow. The Windows 98 swap file is dynamic, so it can shrink or grow based on the operations performed on the system and based on available disk space. A dynamic swap file is usually the most efficient use of resources. It can also occupy a fragmented region of the hard disk with no substantial performance penalty. Tip The single best way you can ensure high swap file performance is to make sure that the disk containing the swap file has ample free space so that the swap file size can shrink and grow as needed. The Windows 98 swap file (Win386.swp) is not a permanent file. However, Windows 98 can also use a permanent Windows 3.1 swap file. In this case, the file cannot shrink below the permanent size set for it in Windows 3.1, although the file can grow bigger if required. Under Windows 98, the swap file can reside on a compressed drive if a protected-mode driver (that is, Drvspace.vxd) controls the compressed drive. DriveSpace marks the swap file as uncompressible and places the swap file as the last file in the sector heap (to reduce the risk of fragmentation), allowing room for the swap file to grow. Although the system defaults usually provide the best performance, you can adjust the parameters used to define the swap file. For example, to optimize swap file performance on a computer with multiple hard disk drives, you might want to override the default location of the Windows 98 swap file. The swap file should be placed on the drive with the fastest performance, unless that disk is overused. If a user usually loads all software from the same drive in a computer that has multiple drives, performance might be boosted by placing the swap file on one of the drives that is not as busy. Caution Completely disabling virtual memory might cause the computer to stop operating properly. You might not be able to restart the computer, or system performance might be degraded. Do not disable virtual memory unless instructed to do so by a product support representative. To adjust the virtual memory swap file In Control Panel, double-click System, click the Performance tab, and then click Virtual Memory . To specify a different hard disk, click the Let me specify my own virtual memory settings option. Then specify the new disk in the Hard disk box. Or type values (in kilobytes) in the Minimum or Maximum box. Then click OK

Page 204: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.15

If you set the maximum swap file size in the Virtual Memory dialog box to the amount of free space currently on a drive, Windows 98 assumes that it can increase the swap file beyond that size if more free disk space becomes available. If you want to impose a fixed limit on the swap file size, make sure that the limit you choose is less than the current maximum.

Page 205: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.16

5 . R E D E S E N W I N D O W S

5.1 CONEXIÓN DIRECTA POR CABLE

En comunicaciones, lanzamos el programa Conexión Directa por cable. Es necesario tener instalado el acceso telefonico a redes, y recordar que no puedo usar simultaneamente ambos. (Usan el mismo programa Vxd).

Esto debe hacerse en los dos ordenadores, uno será el Host y el otro el Invitado. En que se conecta como invitado debera validarse como usuario en el equipo Host y a partir de este momento podra ver los recursos compartidos en esa maquina (y a la inversa).

Page 206: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.17

Lo más importante : El equipo Host se comporta como una pasarela (GateWay) de tal forma que si éste está conetado a una red usando protocolos IPX o NetBeui, el equipo Invitado podra ver el resto de equipos de la red. La conexión fisica puede hacerse por cable serie null MODEM que ya conocemos de temas anteriores (COM1, COM2), Infrarojo o paralelo. La mejor solucion es la paralelo con un cable denominado Universal Cable Module (UCM) . Conecta dos ordenadores a traves de la puerta paralelo con la Norma ECP (Enhanced C Parallel). Es de momento el medio de intercambio más rapido.

5.2 ENTORNO DE RED La instalación de un adaptador, protocolo, cliente y servicio se da en prácticas en el aula.

SEGURIDAD EN WIN98 Si en el control de acceso marco la casilla:

Page 207: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.18

Control de acceso por recursos (Shared-level) puedo especificar para cada recurso que comparto los atributos del recurso y la clave de acceso. Parece lógico que se necesita el servicio compartir archivos e impresoras. Control de acceso por usuario. Se necesita un proveedor de seguridad NT o Novel Netware 4.x en modo emulacion bindery. En este modo de control de acceso, a la hora de compartir un recurso veremos que los permisos son mejores. De esta forma puedo decir que usuario o grupo puede acceder a un determinado recurso. Recordar que se descarga TODA la seguridad en el proveedor de seguridad. El control de accesos por recurso no está disponible en redes Netware ADMINISTRACIÓN REMOTA

En funcion de el tipo de control de acceso permitire que un usuario o usuarios, o los que sepan la contraseña adecuadad puedan administrar mi equipo de forma remota. Esto es muy comodo cuando quiero desde una maquina dar o dejar de dar a compartir un recurso en otra maquina. Así no me tengo que levantar del sitio.

Page 208: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.19

Page 209: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.20

5.3 HERRAMIENTAS TCP-IP EN WIN 98 El profesor de redes habrá explicado ya las tres posibilidades de direccionamiento TCP/IP en una máquina WIN98: Estatica: Especifico la dirección IP y máscara para el equipo, y tendrá siempre esa hasta que no se decida lo contrario. Dinámica: Debe existir un servidor DHCP. El equipo WIN98 buscara servidores DHCP que le entreguen una dirección IP. El proveedor de estas direcciones, es decir, el servidor DHCP también informará de la mascara y opcionalmente de los GateWays, Servidores DNS, etc. Automática: Si en el caso anterior no se encontrara un servidor DHCP, la máquina WIN98 no puede quedar huérfana de IP así que se asigna ella sola una dirección en el rango: 169.254.x.x WINIPCFG: windows ip configuration. Configura IP para todos los dispositivos que tengan enlazado IP. Permite liberar la direccion ip y tomarla de un servidor DHCP o darse una propia al inicio del sistema

PING: Comprueba si el equipo remoto esta vivo. Respondera a mi peticion devolviendome un paquete con lo mismo que le he mandado (en Win98 cuatro veces). ROUTE: Muestra la tabla de rutas y permite modificar o añadir NETSTAT: Estado de la red. Estadisticas y conexiones actuales ARP: address resolution protocol. Mantiene una tabla con las direcciones IP y su direccion fisica (MAC). Si no tiene entradas, forzar una con PING a la maquina remota. TELNET: Se usa para abrir sesion en una maquina remota. La maquina remota debe ser servidor TELNET. Ni WIN98 ni WINNT permiten hacerles TELNET sin herramientas adicionales. IPCONFIG: Parecido al WINIPCFG pero en modo texto.

Page 210: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.21

FTP: File Transfer Protocol. Herramienta en modo texto para realizar copia de ficheros entre maquinas IP. El destino debe ser ser servidor FTP. WIN98 no es servidor FTP. WINNT si lo es, LINUX y UNIX tambien si se instalan los servicios apropiados (demonio ftpd). FTP es una herramienta en modo texto. En preferible usar otras más comodas en modo grafico, como CUTFPT, etc. TRACERT: Da la informacion de la trayectoria utilizada para alcanzar la máquina IP destino. NBTSTAT : Muestra los datos de NETBIOS sobre tcp NET: Ya lo conocemos. Arranca los servicios de red. Permite realizar varias cosas: NET HELP Proporciona información sobre comandos y mensajes de error. NET INIT Carga controladores de adaptadores de red y protocolos sin enlazarlos con el administrador de protocolos. NET LOGOFF Interrumpe la conexión entre su equipo y los recursos compartidos a los que está conectado. NET LOGON Le identifica como miembro de un grupo de trabajo. NET PASSWORD Cambia su contraseña de conexión. NET PRINT Muestra información sobre colas de impr esión y controla trabajos de impresión. NET START Inicia servicios. NET STOP Detiene servicios. NET TIME Muestra la hora o sincroniza su equipo con el reloj de Microsoft Windows para Tr abajo en grupo, Windows NT, Windows 95, o el servidor de reloj NetWare. NET USE Conecta o desconecta un recurso compartido o muestra información sobre conexiones. NET VER Muestra el tipo o la versión del redireccionador del grupo de trabajo q ue está utilizando. NET VIEW Muestra una lista de equipos que compa rten recursos o la lista de recursos compar tidos de un equipo determinado.

Para cada uno de ello se puede usar /?. Por ejemplo: NET TIME /? nos informara de: Muestra la hora o sincroniza el reloj de su PC con el reloj compartido de Microsoft Windows para Trabajo en grupo, Windows NT, Windows 95, o el servidor de reloj de NetWare. NET TIME [\\equipo | /WORKGROUP:gruptrab] [/SET] [/ YES]

Equipo Especifica el nombre del equipo (servido r de reloj) que quiere comprobar o sincronizar el reloj de su equipo. /WORKGROUP Especifica que quiere utilizar el servi dor de reloj de otro grupo de trabajo. gruptrab Especifica el nombre del grupo de traba jo al que pertenece el equipo con el cual quiere sincronizar su propio equipo o consu ltar la hora. Si hay varios servidores de reloj en un grupo de traba jo, NET TIME usa el primero que encuentra. /SET Sincroniza el reloj de su equipo con el reloj o grupo de trabajo que especificó.

Page 211: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.22

/YES Realiza el comando NET TIME sin pedir i nformación o confirmación.

OTRAS FUNCIONES DE RED

Windows 98 no es de motu propio servidor telnet ni servidor ftp. La primera edición tampoco permitía compartir una conexión de red para varios equipo (proxy). Si se incluyó la posibilidad de instalar Personal Web Server (PWS) y convertir así mi equipo en servidor de páginas web (con lo que esto permite ...) SAMBAR Sambar es un producto de un caballero con el mismo nombre que permite convertir mi máquina Win98 en servidor FTP, Proxy y pagando en servidor Telnet Es necesario en este punto que el profesor de redes haya explicado lo que es un proxy (cache, no cache, etc) EL PROXY NO VA SI ESTA CORRIENDO PERSONAL WEB SERVER DE MICROSOFT USAN EL MISMO PUERTO Práctica a realizar: BAJAR EL SAMBAR PROXY MONTARLO EN UNA MAQUINA WIN 98 ADMINISTRARLO DESDE LA MAQUINA QUE LO TIENE INSTALADO HTTP://127.0.0.1 LA PAGINA POR DEFECTO ES LA DE LA ADMINISTRACION DEL PROXY PINCHAR EN SYSTEM ADMIN, EL USUARIO ES ADMIN SIN PASSWORD ACTIVAR EL HTTP PROXY PERMITIR LA ADMON DE SERVIDOR PROXY DESDE OTROS PUESTOS QUITANDO LA RESTRICCION 127.0.0.1 AHORA SE PUEDE ADMINISTRAR DESDE CUALQUIER PUESTO PONIENDO HTTP:// (LA IP DE DONDE ESTA CORRIENDO) VER COMO RESTRINGIR LOS ACCESOS DESDE DETERMINADOS PUESTOS IP VER COMO IMPEDIR QUE SE BUSQUEN PAGINAS GUARRAS APRENDER TODO LO DEMAS. QUE ES UN HUEVO. DEFINIR USUARIOS Y GRUPOS EN EL SERVIDOR PROXY. DIFERENCIAS ENTRE SERVIDOR PROXY Y SERVIDOR WEB. Documentar lo que falta (a lo mejor ya no merece la pena hacerlo, 2000 y XP ya hacen muchas, sino todas, de estas cosas).

Page 212: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.23

PERSONAL WEB SERVER

Page 213: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.24

6 . AR Q U I T E C T U R A D E L S I S T E M A ( R K 9 8 B O O K . C H M ) mirarlo en el fichero rk98book.chm porque es extenso y complicado.

Page 214: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.25

7. ARQUITECTURA DE RED (RK98BOOK.CHM)

OVERVIEW OF WINDOWS 98 NETWORK ARCHITECTURE Windows 98 provides multiple, simultaneous connections to a variety of networks (Windows NT, Novell NetWare, and others) and a variety of resources (files, programs, printers, host systems, and mail systems) over most popular media (Ethernet, Token Ring, X.25, ATM, and ISDN) from almost any location. Windows 98 networking capabilities are implemented using a high-performance, reliable, and open architecture based on the Windows Open Services Architecture (WOSA) specification. This approach provides users with a consistent interface to different services on the front end, while giving system administrators the flexibility to mix and match multiple services on the back end. OPEN SYSTEMS INTERCONNECTION MODEL The modular networking architecture of Windows 98 is based on two industry standard models for a layered networking architecture, namely the International Standards Organization (ISO) model for computer networking, called the Open Systems Interconnection (OSI) Reference Model, and the Institute of Electrical and Electronics Engineers (IEEE) 802 model. Windows NT and Windows for Workgroups are also designed according to these standard models. The ISO OSI and IEEE 802 models define a modular approach to networking, with each layer responsible for some discrete aspect of the networking process. They are only models; they do not correspond exactly to any existing network. However, they can help you understand how networks function in general. The OSI model describes the flow of data in a network, from the lowest layer (the physical connections) up to the layer containing the user’s applications. Data going to and from the network is passed from layer to layer. Each layer is able to communicate with the layer immediately above it and the layer immediately below it. In this way, each layer is written as an efficient, streamlined software component. When a layer receives a packet of information, it checks the destination address, and if its own address is not there, it passes the packet to the next layer. When two computers communicate on a network, the software at each layer on one computer assumes it is communicating with the same layer on the other computer. For example, the transport layer of one computer assumes that it is communicating directly with the transport layer on the other computer. However, the actual connection occurs only at the physical layer, as Figure 29.1 shows. The transport layer on the first computer has no regard for how the communication actually passes through the lower layers of the first computer, across the physical media, and then up through the lower layers of the second computer. Figure 29.1 shows the OSI model.

Page 215: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.26

Figure 29.1 Layers in the OSI Model The OSI model includes seven layers: The application layer represents the level at which applications access network services. This layer represents the services that directly support applications, such as software for file transfers, database access, and electronic mail. The presentation layer translates data from the application layer into an intermediary format. This layer also manages security issues by providing such services as data encryption, and compresses data so that fewer bits need to be transferred on the network. The session layer allows two applications on different computers to establish, use, and end a session. This layer establishes dialog control between the two computers in a session, regulating which side transmits, as well as when and how long it transmits. The transport layer handles error recognition and recovery. When necessary, it also repackages long messages into small packets for transmission and, at the receiving end, rebuilds packets into the original message. The receiving transport layer also sends receipt acknowledgments. The network layer addresses messages and translates logical addresses and names into physical addresses. It also determines the route from the source to the destination computer and manages traffic problems, such as switching, routing, and controlling the congestion of data packets. The data link layer packages raw bits from the physical layer into frames (logical, structured packets for data). This layer is responsible for transferring frames from one computer to another, without errors. After sending a frame, it waits for an acknowledgment from the receiving computer. The physical layer transmits bits from one computer to another and regulates the transmission of a stream of bits over a physical medium. This layer defines how the cable is attached to the network adapter and what transmission technique is used to send data over the cable. The IEEE 802 model defines low-level protocol standards at the physical and data link layers of the OSI model, dividing the data link layer into two sublayers: logical link control (LLC) and media access control (MAC). Figure 29.2 compares the IEEE 802 model and the lower layers of the OSI model.

Figure 29.2 IEEE 802 model compared to the OSI mode l The LLC sublayer performs the following tasks: Link establishment and termination Frame control

Page 216: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.27

Frame sequencing Frame acknowledgment The MAC sublayer performs the following tasks: Media access management Frame delimiting Frame error checking Frame address recognition WINDOWS 98 NETWORKING MODEL Figure 29.3 shows the layered components that make up the Windows 98 networking model.

Figure 29.3 Windows 98 network architecture These layers correspond roughly to the layers in the OSI model, as the following list describes: The network providers, Installable File System (IFS) Manager, and redirectors provide functionality described in the application, presentation, and session layers of the OSI model. The transport protocols provide functionality described in the transport and network layers of the OSI model. Network driver interface specification (NDIS) and the network adapter drivers provide functionality described in the data link layer of the OSI model. The following sections describe these elements of the Windows 98 network architecture, beginning with redirectors. Network providers are described in “Multiple Network Support” later in this chapter.

Page 217: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.28

8 . E L R E G I S T R O REGEDIT.EXE o como cambiar el nombre del icono Papelera de Reciclaje por Basurita (es una corrada pero mola). Table 31.1 Registry files File Description User.dat User-specific information, in the form of user profiles, is contained in the

User.dat file. It contains logon names, desktop settings, Start menu settings, and so on. During Windows Setup, User.dat is automatically stored as a hidden file in the \Windows directory, but the file does not necessarily remain there. If User Profiles are enabled, users can have their own settings stored in \Windows\Profiles. In a network, this file may be located on a central server.

System.dat

Hardware or computer-specific settings (the hardware profile) are contained in the System.dat file. It contains all the hardware configuration, Plug and Play settings, and application settings. It is always stored as a hidden file on the local machine in the Windows 98 directory.

Policy.pol System policies are designed to provide an override for any settings contained in the other two registry components. System policies can contain additional data specific to the network or corporate environment, as established by the network administrator. The system policies themselves are contained in the Policy.pol file. Unlike System.dat and User.dat, Policy.pol is not a mandatory component of a Windows 98 installation.

Page 218: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.29

Con el editor del registro podemos cambiar cualquier valor de configuración del sistema (siempre que sepamos donde está, que a veces no es fácil). Es una herramienta potente que mal usada puede dejar el sistema inutilizable. Los experimentos con gaseosa, antes de hacer nada con el registro realizar copia de los ficheros antes mencionados por si las moscas.

Page 219: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.30

9 . P O L I T I C AS D E S I S T E M A POLEDIT.EXE, o como conseguir que mi hermano no me cambie la direcciones IP

USING SYSTEM POLICY EDITOR You can use System Policy Editor to create system policies. More specifically, you can do the following with System Policy Editor: Set entries for the default computer and user policy entries. This creates a default policy file for all users and computers, which is downloaded when each user logs on. Create entries for individual users, individual computers, or groups of users. By default, these include the policy entries you defined for Default User and Default Computer. Specify whether and in what manner you want policies downloaded from a centralized server, or specify whether you want to have policies downloaded from other specific locations for all or some users. Caution System Policy Editor is a powerful tool; you should restrict its use to network administrators. To avoid unauthorized use, do not install this tool on users’ computers, and restrict access to the source files so users cannot install it themselves. INSTALLING SYSTEM POLICY EDITOR You can install and use System Policy Editor from the Netadmin\Poledit directory on the Microsoft Windows 98 Resource Kit compact disc.

To install System Policy Editor In Control Panel, double-click the Add/Remove Programs icon, click the Windows Setup tab, and then click Have Disk . In the Install From Disk dialog box, click Browse and specify the Netadmin\Poledit directory on the Microsoft Windows 98 Resource Kit compact disc. Click OK, and then click OK again in response to the dialog boxes. In the Have Disk dialog box, select the System Policy Editor check box, and then click Install .

To run System Policy Editor On the Start menu, click Run . Type poledit , and then click OK. If you want to use group policies, you must install that capability on each computer running Windows 98 by either using a custom setup script when you install Windows 98 or using the Add/Remove Programs option in Control Panel.

To set up capabilities for group policies using Add /Remove Programs In Control Panel, double-click Add/Remove Programs, click the Windows Setup tab, and then click Have Disk . In the Install From Disk dialog box, click Browse and specify the Netadmin\Poledit directory on the Microsoft Windows 98 Resource Kit compact disc. Click OK, and then click OK again in response to the dialog boxes. In the Have Disk dialog box, select the Group Policies check box, and then click Install . Windows 98 Setup places Grouppol.dll in the Windows System directory on the client computer and makes the required registry changes. For more information about adding the ability to use group policies when installing Windows 98 using custom setup scripts, see Chapter 4, “Automated Installations.” MODIFYING POLICIES AND THE REGISTRY WITH SYSTEM POLICY EDITOR

Page 220: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.31

You can use System Policy Editor in two different modes: Registry mode and Policy File mode: In Registry mode, you can directly edit the registry of the local or the remote computer, and changes are reflected immediately. For more information about editing the registry for a remote computer, see Chapter 23, “System and Remote Administration Tools.” In Policy File mode, you can create and modify system policy (POL) files for use on other computers. In this mode, the registry is edited indirectly. Changes are reflected only after the policy is downloaded when the user logs on.

To use System Policy Editor in Registry mode In System Policy Editor, on the File menu, click Open Registry . Then double-click the appropriate Local User or Local Computer icon, depending on what part of the registry you want to edit. After you make changes, you must shut down and restart the computer for the changes to take effect.

Important Use Registry mode only when you want to make direct changes to the registry. You should typically change system settings by using the Control Panel options and other tools provided with Windows 98.

To use System Policy Editor in Policy File mode In System Policy Editor, on the File menu, click New or Open to open a policy file.

When you edit settings in Policy File mode, clicking a registry option sets one of three possible states: Selected Cleared Dimmed Each time you select an option, the display cycles to show the next possible state. This is different from selecting a standard check box, which sets an option only to on or off. Table 8.2 summarizes the three possible states for options in a policy file. Table 8.2 Option states in a policy file Option state

Meaning

Selected — this policy will be implemented, changing the state of the user’s computer to conform to the policy when the user logs on. If the option was previously checked the last time the user logged on, Windows 98 makes no changes.

Cleared — this generally forces the registry setting to the opposite of the on state. Depending on the specific policy, this has the effect of either implementing

Page 221: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.32

or not implementing the policy each time the user logs on.

Dimmed — the setting is unchanged from the last time the user logged on, and Windows 98 will make no related modifications to the system configuration. The dimmed state ensures that Windows 98 provides quick processing at system startup, because it does not need to process each entry each time a user logs on.

Caution When you define a policy option, make sure you have set the proper state for the option. If you set an option by selecting it but then change your mind and clear the option, you can inadvertently destroy the user’s previous configuration. If you decide not to set a particular policy option, make sure that option is shaded so that the user can configure and retain the setting for that option. For example, you might select the option to specify Microsoft Client for NetWare Networks and then click again to clear that option. When the user logs on and the policy is downloaded, this setting would wipe out the user’s current configuration that specifies Client for NetWare Networks. If a setting requires additional information, an edit control appears at the bottom of the Default User Properties dialog box. For example, if Wallpaper is selected in the Desktop settings, the following dialog box appears.

Usually, if a policy has been selected and you no longer want to enforce it, you should clear the box to cancel the policy. However, in the following cases, a few policies might behave differently than you might expect if the check box is cleared: The policy setting contains an edit box that must be completed (as opposed to a simple check box). The policy setting can also be set by users through Control Panel. In these cases, you should consider making sure the check box is dimmed when you no longer want to enforce the policies. A user can then modify this information as needed. Table 8.3 describes the results of different settings for such policies. Table 8.3 Policy settings and their behavior Policy Behavior

Page 222: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.33

Settings for Wallpaper

Selecting it forces the specified wallpaper to be used. Clearing it removes the wallpaper (the user will not have any wallpaper). Leaving it dimmed means that the user can choose wallpaper after clicking Display in Control Panel.

Client for NetWare Networks: Preferred Server

Selecting it sets the preferred server you specify. Clearing it deletes the preferred server from the computer’s registry. The user must specify the preferred server at every logon if set to primary logon. Leaving it dimmed means the user can specify the preferred server after clicking Network in Control Panel.

Microsoft Client for Windows Networks: Domain

Selecting it sets the Windows NT Logon domain you specify. Clearing it deletes the domain setting from the computer’s registry. The user must specify the domain at every logon if set to primary logon. Leaving it dimmed means the user can specify the domain after clicking Network in Control Panel.

Microsoft Client for Windows Networks: Workgroup

Selecting it sets the workgroup for that computer. Clearing it deletes the workgroup setting from the computer’s registry. Leaving it dimmed means the user can specify the workgroup after clicking Network in Control Panel.

Page 223: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.34

1 0 . P E R F I L E S D E U S U AR I O S USER.DAT, USER.MAN O como conseguir que dejar un escritorio igual “pa´tos”.

Page 224: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.35

W I N D O W S 2 0 0 0 . P R O F E S I O N AL Y S E R V E R M E Z C L AD O S

MMC. MICROSOFT MANAGEMENT CONSOLE Es el programa o utilidad para administrar el 2000. Microsoft Management Console (MMC) contiene herramientas administrativas que puede utilizar para administrar redes, equipos, servicios y otros componentes del sistema. Probar INICIO->EJECUTAR->mmc

Esta vacía. Podemos definir los elementos que queremos que aparezcan en nuestra consola, para posteriormente almacenar esta vista de consola (.msc). Aprovechar ahora para buscar los ficheros con esta extensión:

Saldrán alguno de estos ficheros (ojo yo lo estoy haciendo desde Windows XP). Démonos el gustazo de editar alguno de esto ficheros (que parecen ejecutables…) a ver que tiene dentro…

Page 225: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.36

<?xml version="1.0"?> <MMC_ConsoleFile ConsoleVersion="2.0" ProgramMode=" UserSDI"> <ConsoleFileID>{6DFEA07A-E86E-45DC-B4E6-108B6E2FC9 AF}</ConsoleFileID> <FrameState ShowStatusBar="true"> <WindowPlacement ShowCommand="SW_SHOWNORMAL"> <Point Name="MinPosition" X="-1" Y="-1"/> <Point Name="MaxPosition" X="-1" Y="-1"/> <Rectangle Name="NormalPosition" Top="2" Bottom= "470" Left="2" Right="640"/> </WindowPlacement> </FrameState> <Views> <View ID="2" ScopePaneWidth="154"> <BookMark Name="RootNode" NodeID="2"/> <BookMark Name="SelectedNode" NodeID="2"/> <WindowPlacement WPF_RESTORETOMAXIMIZED="true" ShowCommand="SW_SHOWMAXIMIZED"> <Point Name="MinPosition" X="-1" Y="-1"/> <Point Name="MaxPosition" X="-4" Y="-24"/> <Rectangle Name="NormalPosition" Top="22" Botto m="325" Left="22" Right="646"/> </WindowPlacement> <ViewOptions ViewMode="Report" DescriptionBarVis ible="false" DefaultColumn0Width="200" DefaultColumn1Width="0"/> </View> </Views> <VisualAttributes> <String Name="ApplicationTitle" ID="1"/> <Icon Index="0" File="%systemroot%\system32\dfrgr es.dll"> <Image Name="Large" BinaryRefIndex="0"/> <Image Name="Small" BinaryRefIndex="1"/> </Icon> </VisualAttributes>

… ¿Y qué? Pues eso, que son diferentes vistas de la MMC. ¿? Vamos a hacer una. Dentro de la consola seleccionamos Archivo -> Agregar o quitar complemento, pulsamos en el boton Agregar, y seleccionamos el complemento, Usuarios locales y grupos, por ejemplo. Aceptamos todo. Y ahora en el menú archivo grabamos esta vista de consola (usuarios.mmc, por ejemplo). Mientras no digamos lo contrario, esta vista de la consola se almacenará en la ruta por defecto que será mis_documentos…./herramientas administrativas/usuarios Es por ello que Windows 2000 nos da una configuración de consola para poder acceder a la mayoría de opciones: inicio->ejecutar->compmgmt.msc Que es lo mismo que boton derecho sobre mi_pc->administrar

USER PROFILE TYPES Los perfiles roaming=moviles y mandatory=obligatorio se deberían usar cuando estos se descargan en un servidor. In Windows 2000 Professional, user profiles automatically create and maintain the desktop settings for each user's work environment on the local computer. A user profile is created for each user when the user logs on to a computer for the first time.

Page 226: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.37

User profiles include all user-specific settings of a user's Windows 2000 Professional environment, including program items, screen colors, network connections, printer connections, mouse settings, window size and position, and desktop preferences. User profiles provide several advantages to users. For example, when users log on to their workstations, they receive the desktop settings as they existed when they logged off. Also, when several users log on to the same computer, each receives a customized desktop. There are three types of user profiles, which are as follows: Local User Profile This profile is automatically created the first time a user logs on to the computer, and it is stored on the computer's local hard drive. Any changes made to the local user profile are specific to the computer where the change was made. Roaming User Profile You, as the administrator, create this profile, and store it on a network server. This profile is available when a user logs on to any computer on the network. Any changes made to roaming user profiles are automatically updated on the server when the user logs off. Mandatory User Profile Mandatory user profiles are stored on a network server and are downloaded each time the user logs on. This profile does not update when the user logs off. It is useful for situations where consistent or job-specific settings are needed Only administrators can make changes to mandatory user profiles. If the mandatory user profile is unavailable, the user cannot log on

POLITICAS Y DIRECTIVAS DE USUARIO Y GRUPO Directiva: Mecanismo por el que los valores del escritorio se configuran automáticamente de la forma establecida por el administrador. Según el contexto, puede hacer referencia a Directiva de grupo, Directiva del sistema de Windows NT 4.0 o una configuración específica de un objeto de Directiva de grupo. No son tan agradables de manejar como en Win98 e incluso NT. Todo es a base de tocar en el registro los valores de las claves. Vamos, que no hay POLEDIT tal y como estamos acostumbrados (al menos yo no lo encuentro …). Así usaremos la consola para definir una vista a las directivas locales: Inicio- >ejecutar->gpedit.msc E:\WINDOWS\system32\GroupPolicy donde están las plantillas de políticas.

Page 227: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.38

Page 228: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.39

SISTEMAS DE ARCHIVOS

TIPOS DE ALMACENAMIENTO 2000 soporta dos tipos de almacenamiento en disco, el basico y el dinámico. El basico ni lo contamos porque es el ya conocido sistema de particionado tradicional en primarias y extendidas y entendiendo que en un mismo disco FISICO no podemos mezclar ambos tipos pasamos a ver las opciones dinamicas que molan mazo. La pena es que para probarlas será necesario más de un disco duro y/o una raid. El grafico siguiente es bastante explicativo asi resumiremos las opciones: Un SIMPLE VOLUME contiene espacio de un único disco y no es tolerante a fallos Un SPANNED VOLUME incluye espacio en disco de multiple discos (hasta 32). Windows 2000 va llenando el primer el disco del volumen y cuando este se llena pasa al siguiente disco. No es tolerante a fallos pues si un disco del volumen falla los datos del volumen ENTERO se pierden (eso dice el manual …) Un STRIPED VOLUME es el que más mola. Va escribiendo en cachitos en cada disco al mismo tiempo. Será muy rápido. Por ejemplo, si un disco graba a 10MB por Segundo, un fichero de 200 megas tardaría 20 segundos. Si tenemos un stripped en 4 discos tardaríamos 5 segundos al escribir simultáneamente en los 4 discos (El fichero acaba repartido entre los cuatro discos) pero si uno solo de los discos del volumen striped falla todos los datos del volumen a tomar por culo. TOLERANCIA A FALLOS Es la posibilidad que un ordenador o sistema operativo tiene para responder a un error catastrófico sin pérdida de datos. OJO. Windows 2000 Professional no es tolerante a fallos. Windows 2000 Server si lo es mediante los sistemas: MIRRORED VOLUME

Page 229: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.40

Un mirrored volume consiste en dos copias idénticas de un volumen simple, cada uno en un disco duro separado. RAID-5 VOLUME Un RAID-5 volume es un striped volume tolerante a fallos. Windows 2000 añade informacion de paridad a cada disco del volumen que se utiliza para reconstruir el disco si este falla. Se necesita como minimo tres discos para un volumen RAID-5. Como en casa tengo dos discos duros, uno de ellos lo he hecho volumen simple que ocupa la mitad del disco:

Cuando se llene o cuando me de la gana lo puedo ampliar siempre y cuando este bajo NTFS.

Page 230: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.41

Si un volumen simple lo extiendo sobre otro disco, lo convierto en spanned.

NTFS Es el sistema de ficheros más apropiado para usar un 2000. Solo usar Fat cuando se vayan a hacer arranques de modo dual con sistemas operativos que no son ni NT ni 2000. Versiones anteriores ya permitían la compresión de archivos sin necesidad de terceros. Esta nueva versión de NTFS incluye:

a) Servicio de cuota de espacio en disco. Por fin Microsoft añade esta opción en uno sistema de sus sistemas operativos, Novel lo hace desde que era pequeño amen de UNIX y también me parece que Linux (es logico si es de lo más usado para Servido de páginas)

b) Soporte Sparse File. Sparce en el diccionario significa esparcido y puede dar una idea de lo que permite. No se como lo hace pero el manual dice que lo hace. Imaginar un fichero esparcido, es decir, con mucho espacio vacío entre datos significativos, pues el NTFS es capaz de compactar el fichero solo almacenando los datos relevantes. ¿?.

c) Link Tracking o seguir la pista. Es un servicio que permite seguir la pista enlaces que se mueven dentro del equipo local o del dominio. Los clientes que se apuntan al servicio este mantendrán la integridad de sus enlaces pues los objetos apuntados se pueden mover de forma trasparente. En resumen, si tienes un acceso directo a una aplicacion y te la mueven de sitio no te preocupes, porque será capaz de linktracear el nuevo destino. Será Verdad …

Page 231: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.42

d) Change journal. Pues eso, registrar que se borra, copia, reindexa, replica, etc en un volumen.

e) EFS. Encrypting File System. Permite mantener la información encriptada. Sólo la podra ver el usuario que activo el atributo de cifrado.

Hacer una pequeña practica de esto. Un usuario crea un fichero, le cambia el atributo de cifrado y posteriormente otro lo intenta leer. ESTRUCTURA DE NTFS Como todos los sistemas de archivo de MS, maneja clusters (conjunto de sectores físicos de disco). El tamaño del cluster depende del tamaño de partición y por fin el administrador puede especificar este tamaño de cluster. Novel lo hace desde que era pequeñito. En teoría, si el volumen recive ficheros grandes, clusters grandes. Si los ficheros son chicos clusters pequeños. Aprovechamos mejor el espacio y un poco (o mucho) el rendimiento para ficheros grandes. La tabla de tamaño de cluster:

Volume size Sectors per cluster Cluster size

512 MB or less 1 512 bytes

513 MB-1024 MB 2 1 KB

1025 MB-2048 MB 4 2 KB

2049 MB-4096 MB 8 4 KB

4097 MB-8192 MB 16 8 KB

8193 MB-16,384 MB 32 16 KB

16,385 MB-32,768 MB 64 32 KB

> 32,768 MB 128 64 KB

Las partes de un sistemas de archivos NT se parecen a todos los sistemas de archivos:

a) Boot sector. Lo primero que encontramos en un volumen NTFS comienza en el sector 0 y puede medir 16 sectores. Comprende dos datos. El primero información de la estructura del sistemas (cluster, tamaño, etc). La segunda es el codigo para cargar el sistema. Es decir, buscar y ejecutar el ntldr

b) Master File Table, vamos la FAT. Para cada fichero se crea una ficha con su tamaño, permisos, etc. Lo mismo para cada directorio.

c) La metadata. Pues el resto del disco.

Hay que tener cuidadito cuando se actualiza un sistema con 2000. Leer en el manual todas las posibilidades. (de fat a ntfs, de ntfs 4 a 5, etc).

UDF Universal Disk Format. Por primera ver en Windows 2000. Parido para el intercambio de datos desde DVD y CD. Su primera intención era soportar los dispositivos DVD-ROM y es compatible con la norma ISO13346.

Page 232: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.43

SEGURIDAD DEL SISTEMA ARCHIVOS Compartir carpetas y asignar permisos Asignar permisos NTFS a ficheros y carpetas .

HERRAMIENTAS ADMINISTRATIVAS En primer lugar instalemos todos los componentes de Windows 2000 mediante el asistente. Panel de control-> Agregar o quitar programas->agregar o quitar componente de windows Marcamos todo para no pasar más veces por aquí y aceptar.

Un vez instalados todos los componentes de windows, la carpeta de herramientas administrativas tendrá este aspecto:

Admón. de equipos. Ya lo conocemos. Mediante la consola MMC se nos ofrece una vista para las opciones más habituales de configuración del sistema. Recordar que es lo mismo que inicio->ejecutar->compmgmt.msc.

Page 233: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.44

Deberíamos echar un vistazo a cada una de las opciones. Las de IIS las veremos aparte. Herramientas del sistema Visor de sucesos. Pues eso. Nos sirve para ver que cosas pasan. Como la ultima vez que se apagó el equipo, errores en la carga de controladores, etc. Información del sistema. Nos dirá que interrupciones tenemos instalados, direcciones de I/O, direcciones de memoria ...

Registros y alertas. Si ponemos un chivato de que nos avise cuando el disco este saturado de I/O. Por ejemplo hay muchas peticiones de lectura en cola. Lo que puede significar que el subsistema de disco no es el más apropiado para el rendimiento que demandamos del sistema (poner más discos, o de más revoluciones o scasis, o ...).

Page 234: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.45

Cuando el sistema llegue al límite impuesto nos aparecerá un mensaje. (Digo yo ...) Carpetas compartidas. Podemos ver que compartimos de un plumazo, quien está en sesión, que ficheros se están consultando, etc.

Administración de dispositivos: Es muy parecido al de 98. Podemos ver, organizado por categorías, el hardware que tenemos instalado, y pulsando en propiedades camibiaremos su configuración, actualizaremos los drivers, etc. Usuarios locales y grupos. Crearemos los usuarios locales al sistema, definiremos sus propiedades, (contraseñas, perfiles, pertenencia a grupos, etc). Almacenamiento. Administración de discos. Desde aquí crearemos las particiones, formatearemos, crearemos volúmenes, etc.

Page 235: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.46

Este es mi disco. Pelín desordenado. Desfragmentar. Ya sabemos todos lo que es.

Unidades logicas. En vez de ver las unidades físicas (discos duros, particiones etc) vemos los volúmenes lógicos en que estos discos están divididos y son reconocibles por el sistema. Almacenamiento extraíble. Las cintas, los cd-rom, y en general los discos o unidades que necesiten montarse antes de poderse utilizar estarán aquí. Ver por ejemplo un CD

Page 236: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.47

montado en la unidad de cd-rom. Prestar atención a LADO. Los DVD, y los magneto-opticos puede que sea necesario darles la vuelta.

Servicios y aplicaciones. Control WMI. El Instrumental de administración de Windows (WMI, Windows Management Instrumentation) es la implementación de Microsoft de Web-Based Enterprise Management (WBEM), una iniciativa que pretende establecer normas estándar para tener acceso y compartir la información de administración a través de una red de empresas. WMI es compatible con WBEM y proporciona compatibilidad integrada para el Modelo de información común (CIM, Common Information Model), que describe los objetos existentes en un entorno de administración. Si alguien sabe lo que es, que me lo explique. Servicios:

Page 237: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.48

Modificar la configuración de un servicio:

Servicio de Index Server es un servicio que extrae la información de un conjunto de documentos y la organiza de modo que sea más rápido y sencillo el acceso a ella mediante la función de búsqueda de Windowsº2000, el formulario de consulta de Index Server o un explorador de Web. Message Queuing Server. Es el mecanismo por el que se comunican los procesos entre diferentes máquinas. No se como va esto. Servicios de Internet Information Server Configuramos nuestras opciones de WEB, servidores FTP y el servicio de correo SMTP. Estos los veremos más despacito. 1. Admón. del servidor telnet. Por fin un sistema de Microsoft (20 años han pasado)

incorpora un servidor telnet. Mediante esta opción configuraremos las opciones de este servidor. Lo primero es lanzar el servicio de servidor telnet:

Page 238: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.49

Picamos en el icono y seleccionamos la opción 4) Iniciar el servicio. Ojo, este servidor telnet sólo soporta una conexión simultanea, el de 2000 server aguanta más, supongo que las licencias que se pagan .... Si desde Windows 98 hacemos telnet no conecta. Esto se debe a que este servidor telnet ya incorpora cifrado de paquetes para que no nos chupen las contraseñas. Si probáis la conexión a vuestro propio win2000, si se deja pues el cliente telnet de 2000 negocia con el servidor este sistema. Para permitir el acceso desde telnet desde otras plataformas sera necesario cambiar este valor en el servidor de Telnet. Para ello seleccionamos la opcion 3 -> modificar valores del registro -> 7-> NTLM:

Opciones de autenticación. 0: no utiliza la autenticación NTLM. Resulta útil para la conexión a otros sistemas operativos y viceversa. 1: intenta primero la autenticación NTLM. Si no es posible, utiliza nombre de usuario y contraseña. Resulta útil si desea establecer conexiones entre equipos con Windows NT o Windows 2000 y equipos que ejecuten otros sistemas operativos. 2: utiliza sólo la autenticación NTLM. Resulta útil si desea establecer conexiones entre equipos que ejecuten Windows NT o Windows 2000.

Paramos el servicio, lo volvemos a lanzar y reintentamos la conexión. Para ver quien está conectado pues eso...

¿Qué puedo hacer con telnet?

Page 239: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.50

Echar una ojeada a los ficheros .EXE del directorio \winnt\system32. De momento encontramos el comando AT.EXE, que sólo existía en UNIX/LINUX, es el comando que permite ejecutar comandos o scripts un día a una determinada hora. Seguir la pista de todos los .EXE es labor de paciencia. Muchos solo funcionan en entorno gráfico, así que no serán muy útiles desde telnet. Falta FTP, IIS y muchas cosas más Ver en 2000 Server los DFS (Distributed file system) que debe molar (se deben parecer a los NFS)

COMPARTIR UN ESCRITORIO

Me creo una carpeta llamadas “perfiles ” (un poner) Copio sobre esta carpeta el perfil de otro usuario (administrador, un poner) Botón derecho sobre Mi PC Propiedades Perfiles de usuario Marco el perfil del administrador (suponiendo que este me gusta) Copiar a y lo mando a la carpeta perfiles Me voy a esa carpeta y miro lo que me ha copiado Si me interesa lo personalizo (quito o pongo accesos, etc.)

Creo el usuario “negro ” (otro poner) En la ficha ruta de acceso al perfil pongo la trayectoria donde se ha almacenado el

perfil (c:\perfiles ) Yasta Hago login como “negro ” y compruebo que en el escritorio están las cosas que

personalizado en el punto 2.g Para darme el gustazo creo otro usuario “blanco ” que use el mismo perfil Me conecto como “blanco ” y miro tengo el mismo escritorio

El proceso es el siguiente:

Page 240: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.51

1. Cuando el usuario hace login crea una copia de la carpeta c:\perfiles en c:\doc & set\nombre_de_usuario

2. Cuando se desconecta se realiza la copia en sentido inverso Probemos...

1. Siendo el usuario “negro ” creo una carpeta en el escritorio llamada “por_negro ”. 2. Voy a c:\doc& set\negro\escritorio y veo que está. 3. Voy a c:\perfiles\escritorio y veo que NO está. 4. Me desconecto como “negro ” y entro como admin . 5. Voy a c:\perfiles\escritorio y veo que está. Es lógico, hasta que no se ha

desconectado “negro ” no se ha realizado la copia de su perfil temporal a c:\perfiles . OK

6. Me conecto como “blanco ” y veo que en mi escritorio la carpeta “por_negro ”. Es lógico pues el escritorio es el mismo

7. Me follo la carpeta “por_negro ” y creo una llamada “por_blanco ” 8. Me desconecto como “blanco ” y hago login como “negro ” 9. ... Conclusión: EL ÚLTIMO GANA.

OBLIGAR A TENER EL ESCRITORIO DEFINIDO POR ADMIN

Si partimos de la estructura anterior, simplemente me conecto como “admin ” y en la carpeta c:\perfiles renombro el archivo ntuser.dat (gracias Carlitos) a ntuser.man de mandatory. Hago login como “blanco ” y debo ver la carpeta “por_blanco ”. Me la follo. Hago logout y login. La carpeta sigue ahí. Hago login como “negro ” y debo ver la carpeta “por_blanco ”. Me la follo. Hago logout y login. La carpeta sigue ahí. Chapó. Hemos conseguido que dos usuarios tengan el mismo escritorio y que además no lo puedan modificar. Probar a cambiar fondos, etc. Salir y volver a entrar. Está todo como debe estar. Finiquitando: si a estos usuarios les quiero poner algo en el escritorio, me conecto como admin. y voy a la carpeta c:\perfiles\escritorio . Lo que aquí deje lo verán la próxima ver que se conecten.

PREGUNTAS QUE DEBO HACERME ¿Qué pasa si se borra la carpeta c:\perfiles ? ¿Cómo personalizar el escritorio, menús, etc para que solo pueda tocar lo que me interesa? ¿Cómo conseguir que estos perfiles locales sean móviles o roaming?

Page 241: Apuntes sistemas01092008

TTT EEE MMM AAA VVV III III III ... WWW III NNN DDD OOO WWW SSS 999 555 YYY 999 888 YYY 222 000 000 000

Microsoft Windows VIII.52

¿Cómo asegurarme que los usuarios no me toquen la carpeta perfiles? En los permisos de la carpeta perfiles, a todos le quito todos los permisos y solo le doy de lectura. A admin. le doy todos los permisos. Ojo con la herencia de permisos (mejor quitarla), que puede hacer que a todos les dé control de modificar ...

Page 242: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.1

este tema está escrito hace muuuuchos años (1995, antes del Windows 95). los linux de ahora son más facilitos

1 . H I S T O R I A Unix es uno de los sistemas operativos más populares en el mundo, debido sobre todo al gran soporte que recibe. Fue desarrollado a mediados de los 70 como un sistema operativo multiprograma. Existen multitud de versiones de UNIX, desde las versiones de PC hasta la de los superordenadores. Sin embargo son productos caros: un UNIX de SCO (Santa Cruz Operation) para PC puede costarte 200.000 pelas. Por eso veremos LINUX en vez de UNIX. El LINUX es una versión de libre distribución del sistema UNIX. Fue desarrollado en principio por un tal Linus Torvalds, de la Universidad de Helsinki (Finlandia). Lo hizo por que si, por que le daba la gana. Sacó por fin una primera versión de este sistema opera-tivo al que denominó LINUX y lo metió en InterNet. Este proyecto entusiasmó a multitud de programadores en UNIX que desarrollaron drivers, aplicaciones, etc, para este nuevo sistema, y de nuevo, lo hicieron por que si. El caso es que cinco años después de su primera versión, el LINUX actual es un clónico de UNIX que soporta el entorno X-Windows, redes TCP-IP, etc, etc, etc, a un coste infinitamente menor que un UNIX de marca, (y tanto, es gratis ...). ¿Porqué y cuándo usar LINUX en vez de UNIX?. Tal vez la pregunta sería mejor hacerla al revés, ¿cuándo no utilizarlo?. Pues cuando instalemos un sistema de forma profesional. LINUX no tiene ninguna garantía, así que si algo no funciona, pues eso, tu mismo. Si compras un UNIX de marca tienes detrás un fabricante que te dará soporte y resolverá la mayoría de los problemas que puedan aparecer. Eso dicen ...

2 . L I N U X V S M S - D O S No es raro encontrar máquinas que disponen de LINUX y MS-DOS a la vez. La verdad es que el usuario que se ha acostumbrado a trabajar con MS-DOS, encontrará el LINUX demasiado tedioso. Por ejemplo, el comando equivalente al DIR, que es el LS, tiene más opciones que letras el alfabeto. O que el disco A: se llama fd01440ds16 (o algo parecido). Ahora bien, el LINUX es un sistema operativo de 32 bits, sin las conocidas chapuzas de direccionamiento de memoria por registro y desplazamiento del MS-DOS. Es un autentico sistema operativo multitarea, no como el Windows 3.xx, y es además multipuesto. LINUX aprovecha de verdad la potencia de la máquina, no como MS-DOS o Windows 3.xx, por que está parido sin la necesidad de ser compatible con versiones anteriores. Pero si todo lo que vas a hacer es correr el Word Perfect, ni lo pienses, quédate con tu MS-DOS ramplón y te evitarás un montón de problemas y disgustos.

Page 243: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.2

3 . H AR D W AR E E S P E C I F I C O ¿Que máquina necesito para correr LINUX? Procesador Por lo menos un 386. No es necesario disponer de coprocesador matemático, LINUX lo simula por software, pero será mejor tenerlo. Está documentado que funciona en cualquier procesador SX, DX, e incluso los Pentium. Buses Ojo, no soporta el MicroCanal (MCA) de IBM. Si los ISA y EISA. Se recomienda una tarjeta de Video y controladora de disco sobre VESA Local Bus (VLB). Si es PCI, pues mejor. Memoria RAM El manual dice que como mínimo 2Mbytes, pero con eso podremos hacer un LS y poco más, así que 4Mbytes para empezar. Si pensamos correr X-Windows se reco-mienda 8Mbytes y si vamos a dar servicio a varios usuarios 16Mbytes o más. En efecto, el dimensionamiento de memoria depende en gran media del número de usuarios que harán LOGIN al sistema. Recuerdo de UNIX que se hacía la siguiente cuenta: 4 Mbytes + (640 Kbytes * Nº Usuarios) = Memoria Recomendada Disco Mínimo 20Mbytes. Pero esto ya os suena a risa. Si queréis hacer algo de verdad pensar en 80 Mbytes. Pensar en lo que hará falta si montáis X-Windows, compiladores, librerías, etc., unos 150 Mbytes. Video Soporta Hercules, CGA, EGA, VGA, SVGA para programas en modo texto. Para X-WINDOWS hay que ver si el modelo que tenemos está soportado, pero si la tarjeta es compatible SVGA no debe dar problemas. Es conveniente 1Mbyte de Video para una resolución de 1024 x 768 en 256 colores. Otro dispositivos Ratón: Soporta los tipos PS/2 y los serie. CD-ROM: Un montón de ellos. Y todos los compatibles ISO 9660. Se recomienda tenerlo por que existe un versión de LINUX en CD-ROM (exactamente en 4 CD-ROM) lo que permite que la instalación sea más rápida y agradable. Tarjetas de Red: Las NE1000 y NE2000 están soportadas. También aquellas que son realmente compatibles. Las Western Digital 8003 y 8013 también (las del taller). Si queremos montar una red basada en LINUX necesitaremos este tipo de hardware.

Page 244: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.3

Puertas Serie: Para conectar terminales tontos se utiliza la conexión serie. Tam-bién para algunas impresoras lentas. Existen tarjetas multipuerto para 4, 8 o 16 salidas serie. No penséis conectar un PC a un servidor LINUX para correr X-Windows mediante conexión serie, excepto si sois masocas.

PC´s en MS-DOS ejecutando TCP-IP

PC´s ejecutando LINUX

Terminales Tontos via multipuerto (serie)

Multipuerto

PC en MS-DOS

Concentrador

Impresoras via serieen emulacion

de terminal

Conexion Serie

Conexion Ethernet (802.3)

Conexion Contrador-Multipuerto

Page 245: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.4

4 . I N S T AL AC I Ó N El método general para instalar LINUX es el siguiente: 1. Reparticionar el disco duro. 2. Arrancar con el disco BOOT 3. Crear la partición LINUX 4. Crear el sistema de ficheros y la zona de SWAP 5. Instalar el software. Como podemos observar se parece mucho a la instalación de MS-DOS. 1. Reparticionar el disco. No es estrictamente necesario. Existe la posibilidad de crear un disco virtual sobre MS-DOS. Vamos a ver. Es como si creara un fichero muy grande (equivaldría a la partición) dentro de la partición MS-DOS. Este fichero sólo tiene sentido para LINUX, es decir, una vez que arranco LINUX, trabaja dentro de este fichero como si fuera su partición (si hacemos un DELETE de este fichero ...) Pero mejor hagamos las cosas como es debido. Tal como indicamos en la instalación de Novell, podemos encontrarnos con todo el disco duro ocupado con una única partición, la de MS-DOS. A estas alturas ya sabemos como eliminar la partición MS-DOS y crearla más pequeña. Existe otro mecanismo, un programa, el FIPS, que permite aumentar o disminuir el tamaño de una partición. Yo no lo he visto funcionar, pero lo que si pone, es que por si acaso, hacer copia de seguridad ?!. Bueno, el caso es que conseguimos hacer hueco en nuestro disco duro para LINUX. 2. Arrancar con el BOOT de LINUX. Si estamos instalando LINUX desde CD-ROM, necesitamos una utilidad para generar los discos de BOOT (o arranque). Ésta viene en el CD-ROM. Se necesita generar el BOOT y el ROOT. El primero contiene el sistema y el segundo el programa de instalación. Metemos el disco de BOOT en la disquetera y reseteamos el equipo. Salen unos mensajes de LINUX y nos dice que metamos el disco ROOT. Cuando acaba de leer del disco aparecerá un mensaje familiar: Login: Hacemos login como usuario root (el equivalente a SUPERVISOR) y ya estamos en el sistema. El prompt de LINUX depende de como nos conectemos, si somos root aparece el símbolo #, si somos otro usuario aparece $.

Page 246: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.5

3. Crear la partición de LINUX. Se utiliza un programa con un nombre grotesco, fdisk, ¿casualidad?, en absoluto. El FDISK de MS-DOS es copia del fdisk de UNIX. Ojo con las mayúsculas y minúsculas que en UNIX y LINUX si se distinguen. La filosofía de LINUX es absolutamente diferente de MS-DOS. Desde LINUX todo son dispositivos y tienen su correspondiente fichero. Por ejemplo: El disco A se llama como dispositivo lógico /dev/fd0 (flexible disk) El disco B /dev/fd1 El disco C (entero) /dev/hda (hard disk) La primera partición del disco C /dev/hda1 La segunda /dev/hda2 etc. El funcionamiento del fdisk es un poco más complicado que en MS-DOS. Pero vayamos por partes. Lo normal dentro de LINUX será crear dos particiones: Una para la zona de Swaping Otra para el sistema de ficheros, en adelante filesystem. Recordar el concepto de Swaping. Intercambio con el disco de páginas de memoria cuando ésta se ha agotado. El tamaño de Swaping depende de la cantidad de memoria que tenga el ordenador, cuanta más RAM tenga más pequeña puede ser el área de Swaping (es lógico, ¿no?). Para hacernos una idea, el tamaño será lo que nos falte para completar 16Mbytes. Por ejemplo, si tengo 4Mbytes de RAM debería crear una partición de Swaping de 12MBytes. El tamaño para el filesystem dependerá de todo lo que quiera instalar. Para sólo aprender un poco de LINUX basta con 20Mbytes. Pero como ya se dijo al principio, si os gusta, empezareis a instalar muchas más cosas. En este caso os recomiendo 150Mbytes. Para crear una partición se debe especificar sobre que disco vamos a trabajar, normalmente será /dev/hda En el caso de que ya existiera la partición de MS-DOS aparecerá dentro de LINUX como /dev/hda1. Esto quiere decir que las particiones de LINUX serán la /dev/hda2 (Swaping) y /dev/hda3 (filesystem), o viceversa. Debemos especificar el cilindro donde comienza y luego podemos decir el cilindro donde termina o el tamaño el Kbytes que deseamos para la partición. Posteriormente debemos indicar el tipo de partición, si es para Swaping o para filesystem. Por último, no olvidar grabar la tabla de particiones. Se recomienda rearrancar el equipo con la nueva tabla de particiones.

Page 247: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.6

4. Crear el sistema de ficheros y la zona de SWAP Si ya lo hemos hecho !!!. No, hemos creado el espacio físico para ello, pero no le hemos dado estructura. La zona de Swaping debe ser activada y se realiza con la orden # mkswap (makeswap) ademas de la orden # swapon. Una vez hecho, LINUX la utilizará cuando sea necesario. Para crear el filesystem se utiliza la orden # mke2fs (make extension 2 file system). Este sistema de ficheros permite nombres de 256 caracteres y tamaños de 4 terabytes. (232 = 4.294.967.296 bloques. Si cada bloque = 1024 bytes, el espacio total direcciona-bles es 4.398.046.511.104 bytes = 4 terabytes). Aquí se ve la arquitectura de 32 bits reales de LINUX. 5. Instalar el software. Ejecutando el programa # setup decidimos que vamos a instalar. Este programa me permite realizar todo lo anterior excepto la creación de las particiones. Según el hardware que tenga y mis necesidades de aplicaciones, compiladores, editores, etc., se-lecciono el grupo de discos que deseo instalar. Los grupos de discos (A, B, N, Q, etc.) son conjuntos de discos flexibles que en el caso de instalar desde CD-ROM aparecen como directorios. Seleccionamos los paquetes y drivers que quiero instalar y me espero. OJO Antes de nada, ¿como se apaga la máquina?. Si LINUX es un sistema operativo multipuesto multitarea ¿puedo apagar a la brava?. NO Si desde Novell es peligroso, desde LINUX puede ser mortal. Novell no ejecuta mis programas, éstos se ejecutan en mi PC. Pero en LINUX es muy probable que el servidor de LINUX esté ejecutando mi programa y muchos otros más. Para apagar se pulsa CTRL + ALT + DEL (eeeeeeeh !?). Que si hombre, que si. Esta combinación de teclas provoca que se lance la secuencia de desconexión de LINUX. Se puede hacer de forma más elegante con el comando # shutdown.

Page 248: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.7

5 . C O N C E P T O S B Á S I C O S D E U N I X LINUX es un sistema multiusuario-multitarea. Puesto que puede haber múltiples usuarios en el sistema debe existir algún mecanismo que los identifique. Este proceso se divide en dos partes: Nombre de usuario y Clave de acceso Ambos datos los suministra el administrador del sistema (root).

5.1 CREAR UNA CUENTA (USUARIO) Para poder crear una cuenta se debe conectar al sistema como root. Una vez hecho, se ejecuta el comando adduser o useradd. Más adelante veremos más datos sobre este comando.

5.2 HACER LOGIN Cuando el sistema se arranca o conectamos desde un terminal, lo primero que vemos es el mensaje de conexión: host login: donde host es el nombre del servidor que nos propone la conexión. Tecleamos nuestra identificación (si no se sabe debemos consultar con el administrador). host login: hola Inmediatamente nos pedirá la clave de acceso Password: Se teclea y andando. Si recibimos como respuesta Login incorrect nos hemos equivocado al teclear el nombre de usuario, la clave o simplemente no existe la cuenta.

5.3 CONSOLAS VIRTUALES Es uno de los aspectos más sorprendente de LINUX. Denominamos consola al conjunto de teclado y monitor conectado directamente al servidor LINUX. Los terminales no serán consolas aunque tal vez veamos terminales de doble sesión. Bien, las consolas virtuales permiten hacer más de un Login desde la consola simultáneamente. Hasta 12 consolas virtuales se pueden tener en LINUX. El movimiento se demuestra andando:

Page 249: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.8

La secuencia de teclas alt+Fn permite cambiar de consola virtual. Por defecto el primer Login que nos propone el sistema se hará dentro de la primera consola virtual (alt+F1) y nos identificamos como root.

login: root#

consola 1

login: root#Alt+F2

consola 1 consola 2

login: hola

$ vi

login: root#

consola 1 consola 2

login: hola

$ viAlt+F1

Ahora pulsamos alt+F2. Aparece otra pantalla pidiéndonos Login, y nos vamos a conectar como hola. Dentro de esta consola ejecuto un programa, el vi por ejemplo. Ahora pulso ALT+F1 y vuelvo a la consola en la que estaba como root. ¿Se comprende?. Mejor el gráfico siguiente:

5.4 LA SHELL. LA HOSTIA. Es el interprete con el sistema. Para nosotros, que sabemos mucho MS-DOS, po-demos asociarlo al famoso COMMAND.COM. La SHELL será la que nos muestre el prompt y recoja las pulsaciones que efectuamos en el teclado. Cuando por fin pulsamos INTRO, analiza la instrucción y ejecuta el programa correspondiente. En LINUX existen muy pocos comandos internos. No vamos a entretenernos con esto por que funciona igual que en MS-DOS. Sin embargo debemos tener en cuenta que no existe una única SHELL. Por ejemplo: bsh - bourne Shell csh - C shell bash - bourne again Shell Tcsh - ni idea Cada una tiene algo que la diferencia de las demás: entorno, variables, etc. Cuando se crea un usuario se decide que SHELL va a utilizar. Por lo que yo se, casi todo el mundo utiliza la bash. La SHELL es un mundo, pues desde la SHELL puedo lanzar otra copia de ella ejecutan-do algún programa mientras sigo trabajando con la primera.

5.5 ABANDONAR EL SISTEMA (NO APAGARLO)

Page 250: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.9

En los sistemas UNIX se hace Logout pulsado CTRL+D. En LINUX se hace ejecutando el comando exit /home/hola$ exit host login:

Cuando hago exit, el sistema me vuelve a pedir el Login. Es así. No pasa nada.

6 . P R I M E R O S P AS O S E N U N I X Nos los saltamos.

7 . C O M AN D O S B Á S I C O S El mecanismo de comandos en LINUX es muy parecido a MS-DOS. Si un comando no existe en el PATH, nos responderá con el mensaje command not found. El comando más importante es man. man es una manual en línea de LINUX. Es el equivalente al HELP de MS-DOS, pero con más detalle. Por ejemplo: # man man

nos cuenta como usar el comando man. LINUX distingue entre mayúsculas y minúsculas. Así el parámetro -F hará cosas distintas que el parámetro -f. cd Cambia de directorio Sintaxis: cd (directorio)

Ejemplo: cd .. Te lleva al directorio padre. Observa que hay que dejar un espacio entre al comando y el parámetro. Notas: cd a secas no te dice el directorio en el que estás. Te lleva a tu directorio por defecto.

ls Muestra el contenido de ficheros y directorios Sintaxis: ls (fichero1) ... (ficheroN) Ejemplo: ls -l Hace un listado completo, es decir, mostrando la fecha, tamaño, etc.

Notas: ls tiene parámetros para aburrir. Para los acostumbrados a MS-DOS existe el DIR.

cp Copia ficheros Sintaxis: cp (fichero1) ... (ficheroN) (destino)

Ejemplo: cp hola /home/adios Copia el fichero hola al directorio home llamándolo adios.

Notas: cp sobrescribe el destino y no avisa ...

Page 251: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.10

mv Mueve ficheros de un sitio a otro. Es lo mismo que copiar a otro sitio y borrar el original.

Sintaxis: mv (fichero1) ... (ficheroN) (destino) Ejemplo: mv hola /home/hola Mueve el fichero hola de donde está al directorio home.

rm Borra ficheros. Sintaxis: rm (fichero1) ... (ficheroN)

Ejemplo: rm * -r Lascagao. Borra todo, incluido los directorios que tengas por debajo.

Notas: Ojo. rm borra de verdad. No hay undelete como en MS-DOS. mkdir Crea directorios rmdir Borra directorios man Muestra las páginas del manual asociadas al texto en cuestión. Sintaxis: man (comando)

Ejemplo: man ls Muestra la descripción del comando ls y todos sus parámetros. A ver si tienes paciencia para leer todas las páginas de ls.

more Muestra el contenido de un fichero, página a página. Igual que en MS-DOS. Sintaxis: more (fichero1) ... (ficheroN)

Ejemplo: more /home/adios Muestra el contenido del fichero adios del directorio home. Nota: en MS-DOS estamos mal acostumbrados. Hacemos type adios | more para ver el contenido de adios. Sería más cómodo hacer more < adios.

cat Se utiliza para encadenar ficheros. Pero se usa más como equivalente del type de

MS-DOS. Sintaxis: cat (fichero1) ... (ficheroN)

Ejemplo: cat /home/adios > /dev/tty01 Muestra el contenido del fichero adios por el dispositivo tty01. Nota: Normalmente tty01 será un terminal o una impresora. En el primer caso puteamos a quien esté sentado en ese terminal (le sale de repente cosas por su pantalla), en el segundo se imprime. Yo lo usaba mucho para comprobar las impresoras (velocidad en baudios, emulación, salto de página, etc).

echo Pues eso. Sintaxis: echo (arg1) ... (argN) Ejemplo: echo "Hasta mañana" Muestra el texto Hasta mañana grep Muestra todas las líneas de un fichero que contienen un patrón. Sintaxis: grep (patron) (fichero1) ... (ficheroN)

Ejemplo: grep pepe /datos/clientes Muestra todas las líneas del fichero clientes que contengan el texto pepe.

pwd Muestra el nombre del directorio en el que estás. Sintaxis: pwd Nota: ya casi no se usa porque el prompt suele decírtelo.

Page 252: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.11

ps Muestra procesos que está ejecutando la máquina Sintaxis: ps (parametros) Ejemplo: ps -aux Lista todos los procesos que ejecuta la máquina. existen muchísimos más ...

8 . N AV E G AN D O P O R E L F I L E S Y S T E M

9 . P E R M I S O S E N F I C H E R O S

1 0 . C O N T R O L D E T R AB AJ O S

1 1 . AP AG AR L A M AQ U I N A

1 2 . AD M I N I S T R AC I Ó N D E U S U AR I O S

1 3 . R E D E S L I N U X

1 4 . S E R V I D O R E S T E L N E T , S AM B A, N F S , F T P Y H T M L

1 5 . C L I E N T E S T E L N E T , S AM B A, N F S , F T P Y H T M L

1 6 . I M P R E S I Ó N C U P S

1 7 . AP AC H E . J AU !

1 8 . E L S E N D M AI L . O C O M O C O N F I G U R AR U N S E R V I D O R D E C O R R E O

1 9 . C O M P I L AC I Ó N D E U N K E R N E L

2 0 . P R O X Y S Y C O R T AF U E G O S

Page 253: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.12

P R Á C T I C AS U N I X ( L I N U X )

INSTALACIÓN DE LINUX Vamos a instalar Linux en la colección Mandrake 7.0.2 Distintas posibilidasdes de instalación:

a) desde cdrom con boot de arranque b) desde cdrom sin boot de arranque (hacer disquete) c) desde disco duro d) desde otra maquina linux o unix servidor nfs e) desde otra maquina servidor ftp f) desde otra maquina servidor web

Vamos a usar en este ejemplo la de servidor nfs hacer disco de arranque con imagen network, usamos la utilidad rawritewin que viene en el cdrom nos conectamos a nt y buscamos la carpeta sistemas dentro de ella la carpeta linux dentro de ella la carpeta dosutils lanzamos el rawritewin seleccionamos la imagen network (ojo, está en la carpeta images) previamente se ha instalado linux en otra máquina se copia el cd de linux en un directorio del equipo anterior, se da permisos de lectura a ese directorio para todos, ojo dar permiso de pinchable (ni puta idea de lo que es pero es necesario) se exporta con nfs (anadir la ruta en /etc/exports) atencion a la forma de instalar este linux, si se instala como servidor será muy seguro y el montaje de nfs desde los clientes sera más dificil. Usar drakeconf, configuracion de redes, tareas como servidor, nfs para ver como se ha exportado o hacerlo a huevo en /etc/exports. Ojo, tambien montar en esta maquina linux el servicio nfsd con rmpmdrake, bucando el paquete que tiene el fichero nfsd, y dentro de drakconf, servicioos al arranque ver que se lanza nfs. Ver el comando S60nfs Por fin arrancamos las estaciones con el disquete que hemos creado Rezamos para que encuentre la placa (creo que la ve como tulip) Seleccionamos la instalacion desde imagen nfs Damos la direccion ip local, nombre de dominio, etc Damos la direccion de la maquina servidor nfs Damos la ruta donde esta la copia de linux Se debe lanzar la instalacion solita Supongo que sera eterna a 10 mbps todos tirando a la vez DENTRO DE LA INSTALACION DE LINUX Ver el cambio de terminal con alt+ctrl+fx Selecionamos idioma Elegimos personalizada

Page 254: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.13

Elegimos normal Otra es programación Otra es servidor (mayor seguridad, como password más largas, etc) Ver si la de programacion monta el compilador cc De todas formas es necesario aprender rpmdrake para montar paquetes Elegimos teclado No tenemos scsi en los puestos cliente La seguridad la dejamos baja Explicar el supermount (se vera en el futuro las diferencias con mount) Lo activamos (viene por defecto) Gestion de las particiones, aquí viene lo gordo: Boot, / y swap O asignacion automatica Formateo Elegir paquetes En casa tarda 20 minutos para 400 Megas. En el cole que seran 15 puestos durara mucho más (*15) sera eterno Una vez visto este modo de instalacion sera conveniente tal vez ver las instalacion desde disco duro local ? Instalar la red Deberia permanecer las opciones del arranque si hemos usado la opcion NFS Si optamos por la de disco deberemos seleccionar la tulip (creo) Impresoras he aquí el dilema, la usamos desde windows nt, desde unix Instalar el cargador. En hda Instalar Xwindows. Probar la placa Como hacer disco de arranque desde linux: me voy a al cdrom cd /mnt/cdrom cd images lanzo el comando dd (disk dump creo) $ dd if=network.img of=/dev/fd0 /dev/fd0 se entiende que es device flopy disk Como instalar desde sitio ftp (casi lo consigo) copiar el cd de linux a /linux (un poner) el servidor debe correr ftpd (ser servidor ftp) existira entonces una ruta /home/ftp/pub (ficheros publicos) hacer un enlace #ln –s /linux /home/ftp/pub/linux arrancar la estacion cliente con el disquete con network.img elegir sitio ftp poner la direccion ip del servidor ftp especificar la ruta /home/ftp/pub/linux conectarse como guest suponiendo que guest existe en el servidor (esto es para evitar problemas de ftp anonimos) lanza el install y se me queda frito (tal vez algun permiso) me da un time out en la placa. Como instalar desde sitio web Por hacer. Como instalar desde disco duro:

Page 255: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.14

Copiamos el CD de Linux en el disco duro. Linux ve las FAT16 y FAT32. Se puede copiar en cualquiera de ellas. Generamos el disco de arranque con la imagen hd.img Arrancamos con ese disquete y selecionamos la particion que contiene la copia de Linux. Le decimos la ruta (directorio) donde hemos copiado el Linux y a correr.

Page 256: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.15

IMPRESIÓN CON LINUX.

I N T R O D U C C I Ó N

Cuando yo era pequeño y se usaba unix, solía existir el cojocomando que servía para todo. En el caso de SCO era scoadmin , en algunos de HP era sysadminsh . El caso es que estos comandos simplemente eran agrupaciones por medio de un menú de los comandos mas usados (vamos, como si hacemos un batch con un menú para llamar a los comandos que usamos con más frecuencia). Es decir, que cuando por medio de estos comandos llamabas a los servicios de impresión para crear un impresora física lo verdaderamente estabas haciendo era llamar al comando lpadmin. Este y no otro era el cojocomando impresión en Unix. Además de otros como lpsched , lpstat , cancel , lp , etc. El asunto (insisto, cuando yo era pequeño) se resumía en los siguientes pasos:

a) crear la conexión física a la impresora b) crear una cola de impresión c) definir un filtro para esa cola (el driver o como se interpretan secuencias de

escape) d) asignar la cola de impresión a una impresora física e) habilitar la cola de impresión para que empiece a recibir trabajos

Esto permitía, por ejemplo, crear dos colas de impresión que apunten a la misma impresora física. Los sheriffs imprimían por una cola y los mortales por la otra. O justo lo contrario, una misma cola se asignaba a dos impresoras físicas (es este caso debían las impresoras de ser iguales) y los trabajos salían al doble de velocidad. Ahora que ya he contado la batallita vamos con el l inux.

No he encontrado más servicio de impresión que el famoso CUPS (Common Unix Printer System) que cuando funciona da gusto. Así que será necesario (si alguien lo sabe hacer más fácil que me ilumine) montar los paquetes de cups-drivers y toda la parafernalia que le acompañe y pedir al sistema que arranque el servicio de cups . Lanzamos el comando ntsysv y debemos ver el asterisco sobre cups (no me preguntéis por el cups-lpd por que ahora no me da el coco pa´ más)

Page 257: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.16

Bien, ¿y ahora cómo doy una impresora de alta? Pues por la Web. Mola mazo. Ya se que esto lo hicimos el año pasado en sistemas del Asi de primero, pero no quedó escrito y además la repetición es la madre del aprendizaje, así que repetimos. Pero, ¿cómo voy a ver la web sin ventanas? Podría, pero aquí me la enfundo y nos vamos a las ventanas. Arrancamos el startx y con el morcilla (ji, ji, ji) o el cornudo (jo, jo, jo) mozilla o konqueror nos conectamos a localhost por el mágico puerto 631 http://localhost:631 debería ver esto

De muerte. Pico en PRINTERS y ADD PRINTER

Page 258: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.17

Si al escribir no veis un pijo ... dais a opciones -> configurar konqueror

tal que así. Sigo, pico en PRINTERS y ADD PRINTER

Page 259: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.18

Doy en continue y ahora me toca decir como está enchufada la láser

Elijo el HP JETDIRECT (que ya sabemos lo que es ...) y ahora me tocará decirle la IP

Page 260: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.19

Yo no tengo una impresora con interface de red, pero creo recordar que el año pasado lo hicimos así en el aula 11 y funcionó (que si, que era otra IP). ATENCIÓN: UNO NO ES INFALIBLE. EL PANTALLAZO CREO Q UE ESTÁ MAL. PREGUNTAR EN CLASE CUAL MÉTODO FUNCIONÓ CORRECTAMEN TE Y REPONER PANTALLAZO. Ahora me falta decirle el filtro o driver con en el que hay que componer los trabajos para esta impresora. Ya sabemos, a la postre siempre será o una PCL o una POSTCRIPT:

Page 261: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.20

Pues doy a continue y si me sale el mensajito de éxito ya está. Resumiendo: La impresora se llama: milaser Pinta por: tcp/ip Con dirección: 192.168.88.120 Con driver: postscript Vale, pero ¿cómo se imprime?

Desde las ventanas no tiene misterio:

Page 262: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.21

Desde la consola tiene más gracia. Vamos a crear un archivo de prueba para imprimir.

# ls –l /dev > kk

¿que he hecho?. Pues crear el archivo kk con el contenido del directorio /dev. Ahora lo imprimo:

# lp –d milaser kk

line printer por la cola milaser del documento kk o también vale

# lp kk

pues como sólo hay una cola es la cola por defecto y el sistema me responde con el número del trabajo que se manda a la cola:

# request id is milaser-8 (1 file(s))

Ale, con lpstat veo los trabajos que hay en la cola y con cancel me follo los que quiero. Si tenéis capricho de saber a donde van los trabajos mientras la impresora queda libre, daros una vuelta por /var/spool/cups y veréis unos archivos con nombre parecidos a estos: c00008 que es el control del trabajo (quien lo manda, etc) al que se asocia el d00008-001 que es el trabajo en si (pegarle un cat y vereis el directorio de /dev )

Page 263: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.22

IMPRIMIR CON LINUX POR UNA COLA DE WINDOWS En la máquina windows agregamos el componente servicios de impresión para UNIX. Y en la máquina Linux la gestionamos como una impresora LPD/LPR (line printer daemon/line printer remote) como:

lpd://192.168.8.1/hp

suponiendo que la dirección IP de la máquina windows es 192.168.8.1 y que la impresora se llama hp. (Perdonar, pero ahora no recuerdo si tiene que ser compartida. Me parece que no. Así que ponerle un nombre facilito a la impresora y será más fácil engancharse a su cola ...). Existe otro método de impresión como cliente SAMBA. Primero pruebo si veo la impresora:

Smbclient –L //host

Y me debe responder con los recursos que host comparte. Si veo la impresora me puedo enganchar ella: Smbmount ... Y obtengo el prompt de samba:

Smb:>help

Con el comando print nombre_archivo puedo mandar trabajos locales a la cola de impresión del host pero este trabajo ya debe estar en el lenguaje de la impresora (a no ser que el spool de la impresora de windows sea de esos que reciben el trabajo en wmf y lo componen para la impresora. En este caso no se que pasa.)

IMPRIMIR CON LINUX O WINDOWS POR UNA IMPRESORA IPP (INTERNET PRINTING PROTOCOL). Alguna llevan el IPP en el propio ROM de la impresora (me ha parecido leer) pero lo habitual es que se configuren con el IIS. Ya me he cansado. Fin

Page 264: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.23

INSTALACIÓN DE UN SISTEMA OPERATIVO LINUX Material: 1 PC servidor Procesador 386 4 Mbytes Memoria Disco Duro > 80 Mbytes 1 Sistema operativo LINUX Desarrollo: Instalación y comprobación de todos los componentes Creación y formateo de la partición LINUX Instalación de LINUX Instalación de utilidades LINUX Comprobación de LOGIN Arranque y desconexión del servidor Comprobación del sistema Tiempo estimado: 1h Teoría + 3h practica

CREACIÓN DE UNA COLA DE IMPRESIÓN EN LINUX Material: Mismo material actividad anterior 1 Impresora (conexión serie y paralelo) 1 Cable conexión paralelo 1 Cable conexión serie Papel Desarrollo: Comprobación de funcionamiento de la impresora Comando CAT del LINUX Comando de creación y arranque de la cola en LINUX Comando LPADMIN Impresión de un fichero Comprobación del sistema Tiempo estimado: 1h Teoría + 2 h práctica

Page 265: Apuntes sistemas01092008

TTT EEE MMM AAA III XXX ... MMM UUU LLL TTT III UUU SSS UUU AAA RRR III OOO ((( UUU NNN III XXX YYY LLL III NNN UUU XXX )))

Multiusuario. Linux y Unix IX.24

CREACIÓN DE UN USUARIO ESTÁNDAR EN LINUX Material: Mismo material actividad anterior Desarrollo: Comando MKUSER Comando SYSADMIN Comprobación de conexión y desconexión del usuario Comprobación del sistema Tiempo estimado: 30' Teoría + 1h practica

ASIGNACIÓN DE PRIVILEGIOS A UN USUARIO Material: Mismo material actividad anterior Desarrollo: Comando SYSADMIN Comando SU Comprobación de lectura, grabación, etc. del usuario Comprobación del sistema Tiempo estimado: 30' Teoría + 3 h practica REDES LINUX (TCP/IP) servidor ftp, web, telnet Impresión LP, impresión REMOTA creación de un .PROFILE especifico A UN USUARIO CONEXIÓN DE TERMINALES MODIFICACIÓN DE LOS FICHERO TTYS Y TTYTYPE fichero securetty comando KILL comando SHUTDOWN auditoria del sistema ampliación de VOLÚMENES CREACIÓN de nuevas PARTICIONES FDISK, MKFS montaje de nuevas PARTICIONES MOUNT, FSTAB COMUNICACIÓN DOS Y LINUX MOUNT FAT COMUNICACIÓN WINDOWS Y LINUX SMBMOUNT, SAMBA, SWAT MONTAJE DE SISTEMAS de ARCHIVOS: NFS, FAT16 y 32, ntfs SOFTWARE DE EMULACIÓN DE TERMINAL RESTO DE COMANDOS XWINDOWS , KDE, GNOME,

Page 266: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.1

1 . I N S T AL AC I Ó N Y D E S AR R O L L O D E AP L I C AC I O N E S E N S I S T E M AS O P E R AT I V O S M U L T I U S U AR I O S

1 . 1 I N S T AL AC I Ó N Licencias Precauciones Usuarios

1 . 2 D E S AR R O L L O Protección de memoria Bloqueo de registro y fichero Gestión de SPOOL Gestión de terminales

1 . 3 U T I L I D AD E S Programación de utilidades Utilidades comerciales PCTOOLS Norton QEMM etc.

Page 267: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.2

2 . I N F O R M Á T I C A I N D U S T R I AL

CAD/CAM/CAE Se reúnen en estas siglas las herramientas software para el diseño, mecanizado, producción y control de materiales necesarios para producir un determinado objeto (desde un mechero hasta el ala de un avión). Vamos por partes:

CAD. Son la siglas de Computer Aided Design (o lo que es lo mismo: Diseño Asistido por ordenador). Podemos dividir los programas de CAD en dos grandes familias: Diseño orientado a arquitectura y Diseño orientado a mecánica

CAD DE ARQUITECTURA. Está pensado para la producción de planos de edificios, pisos, etc. Este tipo de trabajos esta normalizado, es decir, se suele pedir siempre lo mismo de un proyecto de arquitectura: Plano de la planta, alzados frontales y laterales. Originalmente fue un concepto 2D (dos dimensiones). Posteriormente, debido a la mayor potencia de calculo de los ordenadores, permitió el diseño 3D (tres dimensiones). De este concepto se derivan las herramientas más potentes en el diseño arquitectónico: Perspectivas Remover ocultas Renderización o modelado de solidos Partiendo de unas entidades básicas, como son: linea, polígono, arco, etc., se consigue el diseño de un objeto:

Triángulo

Polígono

Modelo de alambre

Remover ocultas

Sólido

Entidades básicas

Page 268: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.3

Para el diseño en arquitectura se utilizan librerías de símbolos:

Fontaneria

Bajante

Fregadero de un seno con escurreplatos

Electricidad

Interruptor

Toma de enchufe

Otros

Ventana en alzado

Ventana en planta

Etc. Se suele utilizar el diseño por capas. Es como si tuviéramos diferentes hojas, unas encima de otras que se hacen visibles cuando queramos. Por ejemplo, en una capa tengo todo el tendido eléctrico, en otra la fontanería, etc. Así, cuando el proyecto ya es grande, activo o desactivo la capa que me interesa. Otra de las funciones que debe realizar un programa de diseño orientado a la arquitectura es el acotado, superficiado y, en lo posible, medición y presupuesto de la obra:

X

yx*y luego x*y m2 a z pts/m2 = n pesetas

CAD MECÁNICO.

Page 269: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.4

El CAD mecánico nace como un concepto 3D real. Se trabaja con precisiones de décimas de milímetro, tolerancias, etc. Debe permitir rotar la pieza sobre cualquier eje que definamos, trabajar sobre cualquier plano de la pieza, realizar secciones, etc. También debe permitir superficies de revolución, intersección de elementos, etc. Tener entidades básicas como hélices, splines, polilineas. Todo esto, insisto, en tres dimensiones reales. Es difícil, sin este programa, realizar algún dibujo que lo ilustre. Ya lo conseguiremos. CAM Son las siglas de Computer Aided Manufacture (mecanizado asistido por ordenador). Este tipo de programas no se puede entender si antes no estudiamos la maquina-herramienta. Ésta es una especie de robot especializado en una determinada función. Maquina de oxicorte: Se utiliza, por ejemplo, en astilleros. Es como un plotter gigantesco para realizar cortes en metal, normalmente sobre planchas (planas) de acero u otro material. Se llama de oxicorte por que realiza el corte en el material utilizando un soplete con una mezcla de acetileno y oxigeno. Fresadora de 2 ejes. La mayoría de los tornos. Se usa mucho en carpintería. No penséis que los labrados de las patas de las mesas se realiza a mano.

x

y

Fresadoras de 3 ejes. Se utiliza mucho para la realización de moldes, que posteriormente se inyectan en plástico para obtener, por ejemplo, la botella de Fairy Limón (... hasta cuatro veces más que uno normal ...). Es difícil de dibujar aquí, pero pensar en un taladro que puede moverse en los tres eje (izquierda-derecha, delante-detras, arriba-abajo). Seria capaz de ir quitando, poco a poco, parte del material de un bloque, hasta conseguir en negativo del objeto. El tipo de broca (fresa) que se utiliza depende del material a desgastar. Por ejemplo, dicen que el magnesio es durísimo y se necesita una broca de punta de diamante girando a unas determinadas revoluciones por minuto y refrigerándose por un liquido especial. Pensar cuando será necesario una fresadora de más de 3 ejes. Todas esta maquinas están controladas por un microprocesador que le indica los milímetros que debe avanzar la broca en el eje X, que revoluciones darle al motor, etc. El maestro tornero, programaba esta maquina de forma muy rudimentaria y tediosa. Solo se disponía de un teclado en el que se iba marcando el tipo de instrucción que debía realizar la maquina y el desplazamiento o valor de revolución.

Page 270: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.5

El mecanizado de una pieza puede tener miles de instrucciones. Una vez hecho el programa se grababa en cinta perforada, si, si, en cinta perforada. más tarde, dependiendo de la pieza a realizar, se montaba en la maquina el rollo de la cinta que contenía el programa de la maquina herramienta. Bien, pues el CAM es el programa que permite automatizar en lo posible toda esta tarea. ¿Pero como?. El diseño de la pieza lo hemos realizado con el programa de CAD mecánico, luego tenemos todas las coordenadas de la pieza en cuestión ¿para que hacerlo otra vez?. El programa de CAM, lee las coordenadas de la pieza y nos lo muestra en pantalla. Ahora solo falta especificar sobre que tipo de material vamos a realizar la pieza. El propio programa CAM es capaz de reducir revoluciones cuando se llega a una curva, cambiar la broca cuando lleva mucho tiempo y esta caliente, etc. Ahora, solo falta mandar todas estas instrucciones a la maquina herramienta en cuestión. Ojo, cada maquina en función del fabricante utiliza un lenguaje especial, luego el programa de CAM debe traducir al tipo de fabricante. Es decir, el CAM hace el proceso que antes se hacia a mano. Una vez el programa en la maquina, (ahora se manda normalmente por una puerta serie), el operario de la maquina realiza el mecanizado de la pieza sobre un material barato, comprobando que no existen errores u optimizando en algún momento un cambio de fresa o alguna cosa. Un vez dado por bueno el programa, se realiza una pieza sobre el material autentico, de nuevo comprobando que no tenga errores. Si el resultado es bueno, el programa definitivo se guarda para cuando se necesite.

CAE Son las siglas de Computer Aided Engeneering. Se trata de programas que permiten simular el comportamiento de un determinado material sometido a multitud de factores: Cambios bruscos de temperatura, flexiones, esfuerzos, etc. dan como resultado una gráficas que sólo entienden los ingenieros. Para realizar los cálculos, dividen el material en pequeñas partes y aplican los cambios a medir sobre cada una de estas partes viendo como se transmite a la siguiente. (Me imagino). Pensar que cuando se diseña un avión de caza, antes de construirlo se somete a cada una de las piezas que lo componen a los esfuerzos que soportara en la realidad. Es mejor que se rompa imaginariamente en el ordenador que cuando esta volando..., hul, hul, hul. Autómatas

Page 271: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.6

Electrónica-Informática Robótica

Page 272: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.7

3 . O F I M Á T I C A Procesadores de texto Hojas de Calculo Correo electrónico

4 . M U L T I M E D I A Introducción Hardware necesario Aplicaciones Software especifico

5 . C O M U N I C AC I O N E S Sistemas digitales de transmisión Medios y canales Comunicación entre sistemas

Page 273: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.8

COSAS PERDIDAS Formatear con sistema Copiar utilidades FDISK y FORMAT Hacer CONFIG.SYS y AUTOEXEC.BAT Carga del teclado en castellano KEYB SP Carga de controladores para CDROM en CONFIG.SYS Carga de MSCDEX Carga de RAMDRIVE.SYS Configurar arranques en el CONFIG.SYS Menuitem Etc Continuar el arranque en el AUTOEXEC.BAT Goto %CONFIG% Etc Hacer arranque con cliente de red Formatear con WIN 95 En la maquina NT hacer disco cliente Elegir tarjeta y protocolo Copiar el driver en modo real (*.DOS) Ver el uso del comando NET MONITOR DE RED EN WIN NT. Y SERVIDOR DHCP Antes de nada a ver si somos capaces de instalar los driver de la tarjeta de video en las maquinas nt. Ya lo he intentado varias veces y no he sido capaz. Para que sirve. Me permite capturar cualquier paquete que tenga como origen y destino mi maquina. Si se desea bichear paquetes de otras maquinas, es necesario otro software. Como se instala. Se instala como un servicio dentro de las propiedades de red: AGENTE Y HERRAMIENTAS DE MONITOR DE RED Puesto que en el aula hay 16 dominios distintos, lo primero será comprobar que desde el equipo NT de cada alumno se tiene acceso al servidor SRV_NT. Pinchando en la maquina SRV_NT se nos debe preguntar como nos queremos conectar a esa maquina, (pperez y su contraseña) Si podemos ver los recursos, agregaremos el servicio antes mencionado especificando como origen //srv_nt/sistemas/nt/i386 más o menos Hay que reiniciar con el nuevo servicio. 5. Explicar brevemente las pantallas que nos da el programa.

Page 274: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.9

Por si no aparece el icono del monitor de red en herramientas administrativas, esta en c:\winnt\system32\netmon\netmon.exe A lo mejor seria más cómodo dejar en las maquinas NT solo el protocolo TCP Captura y filtrado Iniciamos la captura Hacemos ping a la maquina del vecino Vemos los paquetes que salen y llegan Paramos la captura y pasamos a verlos. Estructura de un paquete 802.3 Estructura de un paquete tcp/ip Protocolo ICMP Encendemos la maquina UNIX Comenzamos la captura Hacemos telnet Cuando hayamos entrado en sesión en UNIX paramos la captura y pasamos a ver los paquetes. Que jueguen un rato con la aplicación. Montar servicio DHCP Instalar el servicio SERVIDOR DHCP de MICROSOFT Sirve la explicación del monitor de red Se encuentra en \winnt\system32\dhcpadmn.exe Definir rango Rango de exclusión Para probarlo no se como hacerlo. Que cada maquina NT tenga una dirección IP propia. Es decir en una red que no coincida con ningún otro servidor NT del aula. Por parejas, uno arranca en WIN98 y el otro en NT, esperamos a ver que dirección IP se ha asignado al equipo WIN98 pero puede ocurrir que coja una de otro servidor NT del aula, no de su vecino. Vamos que puede ser un lió. Ver las concesiones activas y su tiempo de vigencia Probar a cancelar una concesión por tiempo o lo que sea y ver que hace el equipo win98 que la tenia concedida. ENERO 2001

Page 275: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.10

Acabar apuntes del documento semana 18-22 de diciembre Si llega el material preparar las siguientes practicas Conexión serie Pin out del cable. Comprobar con el tester Instalar y configurar conexión directa por cable Probar accesos host e invitado Uso del gateway netbios del host de conexion directa por cable Uso del gender tester Realizar cable coaxial Pasos Prueba Ya en desuso Realizacion cable telefonico Identificacion de los componentes Pinout Cable paralelo Cable cruzado 100 base T Seguimos nt Herramientas administrativas

5.INSTALACIÓN DE WINDOWS NT 4.0 Instalación típica con el CD-ROM Instalación desde servidor ? Instalación desde disco duro? Comando que lanza la instalación de Windows NT Instala Windows NT. WINNT [/S[:]ruta de origen] [/T[:]unidad temp] [/I[:]archivo] [/O[X]] [/X | [/F] [/C]] [/B] [/U[:archivo de comandos]] [/R[X]:directorio] [/E:comando] /S[:]rutaorigen

Page 276: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.11

Especifica el lugar de origen de los archivos de Windows NT. Debe ser una ruta completa en la forma x:\[ruta] o \\servidor\recurso[\ruta]. La ruta predeterminada es el directorio actual. /T[:]unidadtemp Especifica la unidad donde poner los archivos temporales. Si no se especifica, el programa intentar localizar una unidad. /I[:]archivo Especifica el nombre del archivo (sin ruta) del archivo de información del programa de instalación. El archivo predeterminado es DOSNET.INF. /OX Crear disquetes de inicio para instalar desde CD-ROM. /X No crear los disquetes de inicio. /F No comprobar los archivos al copiarlos en los disquetes de inicio. /C Ignorar la comprobación de espacio libre en los disquetes de inicio. /B Instalación sin discos (requiere /s). /U Instalación desatendida y archivo de comandos opcional (requiere /s). /R Indica un subdirectorio opcional para la instalación. /RX Indica un subdirectorio opcional para la copia. /E Indica un comando a ejecutar al final de la instalación en modo gráfico. Para obtener ayuda con una pantalla completa, escriba WINNT /? | MORE Se ha copiado el CD de NT en el servidor SRV_NT, carpeta SISTEMAS, directorio NTSERVER Explicar que el CD contiene la instalación para dos plataformas, las basadas en INTEL (i386) y las basadas en el procesador RISC ALPHA. Para poder instalar NT es necesario arrancar en NT. Esto se consigue utilizando los tres disquetes de instalación o arrancando desde CD. Como vamos a realizar una instalación desde servidor y no tenemos el CD, será necesario utilizar los disquetes. De todas formas, es posible usar una instalación que copie los archivos de NT en nuestra maquina local y luego iniciar con los disquetes. Para ello nos conectamos a la maquina SRV_NT/SISTEMAS/NTSERVER/I386 Lanzamos el proceso de instalación ejecutando el comando WINNT.EXE /? Para ver las posibles opciones. Encontramos la opción /S que permite indicar donde están los ficheros de instalación y la opción /X para que no se creen los disquetes de arranque (caso de que ya los tengamos. Así pues, ejecutamos WINNT /S:\\SRV_NT\SISTEMAS\NTSERVER /X Se copian los ficheros en nuestro disco local en el directorio $WIN_NT$.~LS que ocupa aproximadamente. 90 Mbytes. El proceso será lento pues vienen los ficheros por la red (10Mbits con colisiones). Una vez copiado será necesario reiniciar el equipo con los disquetes de instalación pero OJO nuestra tarjeta de red no esta en la lista de las directamente soportadas. Copiamos del servidor NT los ficheros de esta tarjeta (Kingston) a nuestra maquina, así ya los tenemos en local para más adelante. Esto se hace copiando la carpeta \\SRV_NT\SISTEMAS\WIN98\WIN98\RED Debemos mencionar que NT va a vivir junto a Win98 en la partición FAT16 que tenemos. Se creara un arranque dual para poder elegir el sistema con el que queremos trabajar. Por fin arrancamos con los disquetes y seguimos las instrucciones. Nota:

Page 277: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.12

En la prueba de la instalación ha fallado algo pues no creó el arranque dual. Solo arrancaba en NT. Mire el fichero BOOT.INI y estaba vacío (aquí se encuentran las opciones de arranque) y a través de PANEL DE CONTROL/SISTEMAS/OPCIONES DE ARRANQUE no había nada. Lo puse a pedal y no funciono. Intente ejecutar los comandos BOOTOK.EXE y BOOTVRFY.EXE no consiguiendo nada más que se me informara de un error. En la instalación se hace una pregunta de comprobar la integridad del disco, le dije que no, tal vez sea la causa. También probé usar el FDISK.EXE /MBR de WIN98 y solo conseguí cargarme el boot de linux (algo que ya sabía, pero no arregló el de NT y WIN98) Para solucionarlo tuve que volver a instalar WIN98. Ya funciono el arranque dual WIN98 y NT Para arreglar lo de LINUX solo fue necesario arrancar con el CD de MANDRAKE, decirle que es una ACTUALIZACION, y se vuelve a instalar el LILO en el MBR. Se prueba todo y funciona correctamente. PRÁCTICA CON ARJ y DISCO VIRTUAL Se pretende realizar un disco de arranque que incluya las utilidades más importantes. Resulta que la suma de éstas no cabe en un disco de 1,44 Mbytes, luego será aconsejable aprender a manejar los compresores, y en lo posible, aquellos que funcionan en modo texto (modo MS-DOS). Un compresor en un programa que mediante algún tipo de algoritmo es capar de disminuir el tamaño de un fichero (recordar el RLE, Run Length Encoded, característica de puerto ECP). Por supuesto, para poder volver a usar el fichero es necesario descomprimirlo. En el proceso de descompresión podremos sólo descomprimir aquel fichero que necesitamos o todos, siendo necesario en esta ultima opción disponer de espacio suficiente en algún sitio para alojar los ficheros una vez descomprimidos. Es aquí cuando se nos muestra muy útil la gestión de disco virtual. En el caso de no disponer de disco duro (esta roto o todavía no lo puedo usar al no estar particionado o formateado) la única forma que se me ocurre de usar los ficheros es descomprimiéndolos en disco virtual. Pasos a seguir: En primer lugar calculemos cuanto espacio me ocupan las utilidades. Suponiendo que quisiera tener en disquete todo el directorio C:\Windows\Command, me doy cuenta de que no cabe. Comprimo usando un compresor, (recomiendo ARJ por pesar poco). C:\WINDOWS\COMMAND>ARJ A UTILES.ARJ *.* (crea un fichero llamado UTILES.ARJ añadiendo (A) en él todo el (*.*) contenido del directorio en que me encuentro)

Page 278: Apuntes sistemas01092008

TTT EEE MMM AAA XXX ... EEE LLL RRR EEE SSS TTT OOO

El Resto X.13

Observo el tamaño del fichero resultante UTILES.ARJ, y veo si me cabe en disco el mismo y por supuesto el compresor. Pruebo su descompresión copiando el fichero a otro directorio junto con el descompresor Otra posibilidad consiste en convertir UTILES.ARJ en un fichero ejecutable autoexpandible. Así me puedo olvidar de la sintaxis de descompresión. C:\>ARJ Y –JE UTILES.ARJ La sentencia anterior convierte el fichero UTILES.ARJ en UTILES.EXE, lo que significa que con solo poner el nombre del fichero, éste se autodescomprimira. ¿Pero dónde? De momento, para probarlo puedo llevarlo a otro directorio del disco a ver si se descomprime solo. Por ultimo, haré un disco de inicio que genere un disco virtual de x Mbytes. Arranco con ese disco, copio el fichero UTILES.EXE al disco virtual y ahí mismo lo descomprimo.

Page 279: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.1

Se estudia como S.O. de red NOVELL. Ya está pasado pero la introducción puede valer

1 . I N T R O D U C C I Ó N

1.1 HISTORIA Desde 1.983, Novell es el líder del mercado en los sistemas operativos de Red. Desde su aparición hasta la actualidad ha sido mejorado permitiendo; una instalación mucho más sencilla, mayor potencia y seguridad, pero sobre todo flexibilidad. Novell permite conectarse a prácticamente cualquier sistema, posibilitando la creación de sis-temas distribuidos . El éxito de Novell se debe sobre todo a ser uno de los pocos sistemas operativos de red con soporte para MS-DOS. Esto ha permitido que sin grandes modificaciones, todo el software basado en MS-DOS esté ahora disponible en sus correspondientes versiones de red. Novell no es un sistema operativo barato. Pero los recursos que proporciona han permi-tido que sea uno de los estándar dentro del mundo de la informática. Debemos aclarar que Novell ha comprado algunos productos Informáticos, Word Perfect, DrDos, etc. En estos apuntes siempre que hablemos de Novell nos referiremos al sistema operativo de Red. El futuro de Novell apunta a la gestión de sistemas operativos de red soportando el es-tándar de OSI de ISO, además de la integración de las distintas topologías y cableados bajo un mismo sistema operativo.

1.2 RAZONES PARA INSTALAR UNA RED Son muchas las razones para instalar un sistema operativo de red. Sin embargo, no es oro todo lo que reluce. Antes de pensar en la migración a un sistema operativo de red debemos evaluar todos los aspectos para evitar sorpresas de última hora. En la mayoría de los casos, y suponiendo que somos usuarios legales de software, existe un ahorro considerable a la hora de comprar programas con licencia de uso en red. Veamos las ventajas: 1. Compartir recursos. En un empresa se adquieren diferentes dispositivos que son caros (impresoras láser, plotters, discos ópticos, etc.). Limitar el uso de estos periféricos a un sólo ordenador es antieconómico, además, se infrautilizan. 2. Acceso a la información . En un sistema monopuesto, la información acaba repetida entre los distintos ordenadores. Esto es un problema debido a que nunca se sabe en cual de los ordenadores se encuentra la última versión de los datos. Esto se agrava cuando se necesitan determinados datos para continuar un proceso.

Page 280: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.2

3. Comunicación entre usuarios. Permite transmitir mensajes, información a un determinado grupo de usuarios de la red. 4. Seguridad. Los datos de la empresa pueden protegerse para evitar su copia, manipulación no autorizada, etc. Puede obligarse a que un usuario sólo pueda trabajar desde una determinada máquina, incluso en las estaciones disk-less (sin discos), se hace imposible copiar datos. 5. Acceso a otros sistemas operativos. Mediante Novell y el software apropiado, podemos conectar nuestro sistema a OS/2, Macintosh, Sistemas IBM (SNA, etc.). Pero también existen algunos inconvenientes:

1. Formación de los usuarios. Para que la red funcione correctamente es necesario formar convenientemente a los usuario de la empresa. 2. Mantenimiento. Es necesario la figura del administrador del sistema para adaptar la red a las nuevas actividades de la empresa.

1.3 COMPONENTES Vamos a ver los componentes mínimos necesarios, tanto software como hardware, para la instalación de una red:

Estaciones de trabajo

Servidor

Almacenamiento

Cableado

Impresora

Placas de Red

Servidor. Es la máquina donde se ejecuta el sistema operativo de red y ofrece los servicios de la red a las demás estaciones de trabajo. Estos servicios son: almacenamiento de archivos, gestión de usuarios, seguridad de la red y muchos otros más. Esta máquina debe ser de alto rendimiento, en lo posible un 386, 486 o Pentium; con discos duros de gran capacidad y velocidad de acceso; y estar cargadito de memoria R.A.M. Estaciones de trabajo. Pueden ser ordenadores personales utilizando MS-DOS, OS/2 o Macintosh. Placas de red. Cada ordenador que se conecta a la red necesita de una placa que permita acceder al tipo de cableado utilizado en la red.

Page 281: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.3

Cableado. Será el cable utilizado para conectar el servidor con las demás estaciones de trabajo. Existen de varios tipos dependiendo de la topología que queramos utilizar. Recursos. Serán los dispositivos que la red permite compartir con los usuarios.

1.4 COBERTURA DE UNA RED

Existen redes de todos los tamaños y formas. Dependiendo del tamaño o conectividad de la red se distinguen varios niveles: Red de área local (LAN, Local Area Network). La red pequeñita. Hasta 50 usuarios den-tro de una misma planta o edificio donde todos los usuario pertenecen a la misma empre-sa. Red interconectada (Internetwork). El conjunto formato por dos o más redes LAN. Se suelen utilizar para mejorar el rendimiento del sistema al dividir una red grande en otras más pequeñas. Redes metropolitanas. Conjunto de redes dentro de un área especifica, como un polígono o una ciudad. Se deben utilizar sistemas de cableados de alta velocidad.

MadridCordoba

Lisboa

Red LAN

Redes Interconectadas

Red Metropolitana

Red WAN

Conexiones de alta velocidad

Redes de gran alcance (WAN, WorldWide Area Network). Red internacional. Las grandes empresas disponen de oficinas en todo el mundo y deben estar en contacto. El mejor ejemplo de una red WAN lo encontramos en la famosa InterNet.

1.5 CARACTERÍSTICAS DE LOS SISTEMAS OPERATIVOS DE R ED A medida que los usuarios exigen más prestaciones a los sistemas de red, Novell ha ido incluyendo en las versiones sucesivas de red más opciones. Vamos a citar las más relevantes.

Page 282: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.4

Servicios de archivos y directorios. Los usuarios acceden a programas y datos que se encuentran en el servidor. De esta manera confían sus datos y programas a un sistema que debe responder a la seguridad que de él se exige. Sistema tolerante a fallos. Se deben permitir mecanismos para impedir que se produzcan fallos. Pero nada es 100% seguro. Así que los errores se producirán. El sistema debe permitir en lo posible recuperar la información perdida o continuar ofreciendo los servicios de red. Control de transacciones. Una transacción es un cambio en un registro de una base de datos. El control de transacciones permite que, por el motivo que sea, si la transacción no se ha realizado por completo, se devuelva a la base de datos al estado original. Seguridad. Impedir que alguien nos robe los datos, evitar que un usuario se identifique con otro nombre, encriptar las claves para que no se puedan chupar del cable, etc. Incluso, si la empresa cierra a las 8, impedir que determinados usuarios accedan a la red fuera de su horario (no hay nadie controlando el asunto). Compartición de recursos. Un recurso puede ser una impresora, un plotter, un disco o cualquier otro dispositivo. Bien pues un sistema de red que se precie de serlo, debe permitir que desde cualquier punto de la red un usuario tenga acceso a dichos recursos. Acceso remoto. Cómo poder acceder a los servicios de la red desde el ordenador de casa (que no tiene la placa de red, ni está conectado a cableado principal de la red).

Ordenador en casa Ordenador de la red

Modems Bridges. Permiten que una red se pueda conectar con otra.

BRIDGE

Page 283: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.5

Gateways. Permiten comunicar sistemas con diferentes protocolos. Por ejemplo una red Novell con un sistema IBM grande (con HDLC).

Red Ethernet

MAINFRAME

UNIDADDE

CONTROL

ESTACION DEDICADA

GATEWAY Herramientas de administración. Cuando las redes crecen es necesario disponer de herramientas especiales para la correcta administración de una red. Suponer una red de 500 puestos. Uno de ellos está averiado y mete ruido en la red. ¿Cómo localizarlo?.

Page 284: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.6

2 . R E D E S Y T O P O L O G Í A

2.1. INTRODUCCIÓN AL FUNCIONAMIENTO Por muy complejo que parezca, una red de ordenadores no es más que un conjun-to de éstos, capaces de intercambiar información entre ellos mediante una serie de conexiones físicas que los une. ¿Cómo intercambia esa información?, ¿Qué conexiones físicas los une?, ¿De qué forma están distribuidos?, son algunas de las cuestiones que vamos a ver.

2.2. MEDIOS DE TRANSMISIÓN Al ser un ordenador un dispositivo electrónico, para este poder comunicarse con los demás, necesita disponer de unos enlaces capaces de transmitir una señal eléctrica. Estos enlaces se clasifican basándose en tres factores fundamentales: - Velocidad de transmisión - Longitud máxima del segmento - Protección contra interferencias y uno a veces determinante: El precio Cable coaxial. Es el utilizado generalmente para señales de TV y el que tiene nuestra red. Consiste en un núcleo de cobre rodeado por una capa aislante. A su vez, esta capa está rodeada por una malla metálica que ayuda a bloquear las interferencias. El resultado está envuelto por una capa protectora.

mallacable

aislante Existen diversos tipos de cable coaxial: Coaxial grueso Tiene aproximadamente 1 cm. de diámetro, es menos utilizado por su precio, aunque es un gran transmisor de señales de alta frecuencia, poco sensible a interferencias y con mínimas pérdidas por radiación. Puede alcanzar longitudes de 500 m. Coaxial fino Con un diámetro de ½ cm. tiene peores propiedades de transmisión que su hermano mayor y puede alcanzar menor distancia 180/200 m. Sin embargo, su precio, flexibilidad y facilidad de instalación hacen que sea más utilizado.

Page 285: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.7

Par trenzado. Son dos hilos conductores de cobre aislados y trenzados entre sí. Aunque sus características eléctricas son bastante inferiores a las del coaxial, ya que tiene baja velocidad de transmisión y una longitud muy limitada, debemos considerarlo por las siguientes razones: - Se encuentra ya instalado en muchos edificios como cable telefónico. Una man-guera de este cable contiene generalmente pares no utilizados, pudiendo ser utilizados para la red. Y, más importante aun, el cable se ramifica desde cajas de registro centralizadas, pudiendo estas convertirse en centro de cableado de la red. - Resulta fácil de combinar con otro tipo de cables para formar redes extendidas. (dos cajas de conexión de dos departamentos separados pueden unirse mediante un cable coaxial largo). Si el par trenzado es apantallado (con una malla) las características eléctricas mejoran aumentando la capacidad, disminuyendo las interferencias y aumentando la longitud de 30 m. (par trenzado) a 100 m. (apantallado). Actualmente se diseñan placas de red que hacen posible aumentar su velocidad. Fibra óptica. Transmite señales de datos mediante luz. La luz modulada pasa por un conductor de vidrio, rodeada por una capa reflectante y todo el conjunto envuelto en unas capa protectora. La velocidad de transmisión se encuentra en un rango de 100 Mbits/s. llegando a alcan-zar hasta los 500. No es sensible a interferencias. No puede ser "pinchado" lo cual resulta útil en situaciones de gran confidencialidad. Por contra es bastante caro, más frágil y precisa equipos caros y complejos. Enlaces por radio. Utilizan pequeñas emisoras y receptores de muy alta frecuencia pero poco alcance entre 10 m. y 10 Km.(dependiendo de las circunstancias). Tienen mayores perdidas por interferencias que el coaxial. Enlaces por infrarrojos. Funciona de igual forma que el enlace por radio, empleando emisores y receptores de rayos infrarrojos de manera que se vean. Tiene menor cober-tura 20 m. y menor capacidad. Los enlaces por radio e infrarrojos sólo se utilizan en situaciones en que no es posible hacer un tendido o uno de los terminales es móvil. TABLA COMPARATIVA ENTRE DISTINTOS MEDIOS DE TRANSMISIÓN

MEDIO capacidad interferencias LONGITUD COSTE Coaxial Grueso Alta Bajas 500 m. Medio Coaxial Fino Alta Bajas 200 m. Bajo Par Trenzado Media/Baja Muy Altas 20 - 30 m. Muy Bajo

Page 286: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.8

Par Trenzado apantallado

Media Altas 100 m. Bajo

Fibra Óptica Muy Alta Ninguna 500 m. Muy alto Radio Media/alta Medias 10m -10Km Alto Infrarrojos Media Medias 20 m Alto

2.3. TOPOLOGÍA DE REDES. Describe de que forma va un cable de un nodo a otro y la forma en que se distribuyen los dispositivos y enlaces de la red. El tendido puede ser lineal yendo de un punto del edificio a otro distinto (serpenteando) o puede cerrarse sobre si mismo en forma de anillo. Veremos las distin-tas topologías según una descripción simple y general de éstas, aunque en realidad un cable lineal puede realizar todo tipo de zigzags por el edificio, pareciendo cualquier cosa menos lineal. Con un anillo puede ocurrir lo mismo aunque debe cerrarse sobre sí mismo en cualquier momento. Topología en estrella. En esta topología, los terminales de la red se disponen de forma radial, partiendo de un dispositivo central que actúa como central de comunicaciones en-tre los dispositivos periféricos estableciendo canales de comunicación entre ellos. Si un dispositivo quiere comunicarse con otro, lo comunica a la central, la cual establece una conexión entre sus ramales mientras dure la comunicación haciendo el papel de centralita. Topología en bus. En redes con esta topología, todos los terminales están conectados a un único bus. Cuando algún dispositivo quiere comunicarse con otro manda el mensaje al bus indicando la dirección de destino. Todos los dispositivos escuchan el mensaje pero sólo lo recibe el dispositivo al que va dirigido. La transmisión se efectúa troceando la información en pequeños paquetes de da-tos con el fin de que un dispositivo no monopolice el bus e intercalando pequeños lapsos de tiempo entre paquete y paquete enviado, para dar oportunidad a los demás de enviar los suyos. Pueden producirse colisiones cuando dos dispositivos transmiten a la vez. Topología en árbol. Es una variante de la topología en bus. Está compuesta de varios buses interconectados formando una estructura arbórea. La estructura comienza con un dispositivo de cabecera del cual parten dos o más buses, cada uno de los cuales a su vez da origen a dos o más. Con este tipo de topología surgen problemas de atenuación de la señal al poder ramificarse y llegar a ser extenso el tendido, como solución se utilizan repetidores que amplifican la señal.

Page 287: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.9

Topología en anillo. Los dispositivos se conectan al medio (cable) a través de pequeños repetidores que interrumpen el canal, conectándose el último dispositivo al primero para formar el anillo. Con esta topología si un dispositivo quiere mandar un paquete a otro, lo pasa a uno adyacente (a la derecha o a la izquierda), éste lo examina para ver si va destinado a él, si no es así lo pasa al siguiente hasta que llegue a su destino.

TOPOLOGÍA EN ANILLO

TOPOLOGÍA EN BUS

TOPOLOGÍA EN ESTRELLA

TOPOLOGÍA EN ÁRBOL

2.4. MÉTODOS DE ACCESO AL CABLE (MEDIO) En este tema haremos referencia a los métodos utilizados para transferir paquetes de datos desde la memoria de una estación hacia el enlace físico de la red. Cada método dependerá de la placa de red instalada en la estación y de la topología del sistema de cableado de la red. Acceso múltiple por detección de portadora y colisión (CSMA/CD) (Carrier Sense Multiple Access/Collision Detection) que quiere decir algo así como “Puedes transmitir cuando quieras, siempre que no haya nadie empleando el canal, pero controla tu transmisión asegurándote de que nadie te machaca”. Con este método, las estaciones que desean transmitir, primero “escuchan” el medio para determinar si ya hay alguien empleándolo. Si es así, esperan hasta que esté libre. Si el canal está vacío comienzan a transmitir sus paquetes, haciendo pausas por paquetes para dar oportunidad a otras estaciones a capturar el enlace (acceso múltiple por detección de portadora). Mientras se transmite cada paquete, la estación comprueba continuamente que la información que aparece en el canal es lo que debía (detección de colisión). Si no es así,

Page 288: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.10

se supone que otra estación ha comenzado a transmitir a destiempo y ambas transmisiones se han mezclado produciéndose una colisión. En estas circunstancias se suspende la transmisión y espera un cierto tiempo antes de mandar de nuevo el paquete, mientras que la otra estación hará lo mismo. Para que las dos estaciones no vuelvan a transmitir al mismo tiempo, el tiempo que cada una espera viene determinado por un generador de números al azar incluido en cada una. Este es el método de acceso al cable utilizado por redes locales Ethernet con una topología lineal (bus). Acceso al bus por paso de testigo (TOKEN BUS) Este sistema de control de acceso se emplea en topologías bus o árbol, pero haciéndola funcionar como si fuera un anillo lógico. Partiendo de una red de topología bus o árbol. A cada estación se le asigna un orden determinado en secuencia cerrada, constituyendo un anillo lógico. Cada estación sólo puede transmitir cuando recibe un paquete determinado de control llamado token (testigo) permaneciendo las demás a la escucha y durante un tiempo previamente establecido, pasando el token a la siguiente estación de la secuencia y así hasta la última que lo pasa a la primera cerrando el anillo. Este sistema precisa de una serie de controles que permitan incluir o retirar una estación de la secuencia sin romper la cadena. También hay que prever que se pierda el token y poder regenerarlo. Las redes ArcNet utilizan este método de acceso al medio con una topología en bus, pero se utilizan hubs para distribuir las estaciones de trabajo en una configuración de estrella. Acceso al anillo por paso de testigo Este método está diseñado para ser empleado en redes con topología en anillo. Se basa en un paquete especial llamado token que circula constantemente por el anillo. Si ninguna estación transmite, el token aparece marcado como libre. Cuando una estación quiere transmitir, espera y captura el token marcándolo como ocupado y añadiendo la información que desee junto con la dirección de la estación de destino, enviando el token a la siguiente estación de la secuencia. Ésta examina el token detectando que está ocupado y lo pasa a la siguiente. Cuando el token llega a la estación de destino lo marca como leído y lo pasa a la siguiente estación hasta alcanzar la estación que lo originó, este detecta que el mensaje ha llegado a su destino y marca el token como libre para que pueda capturarlo cualquier estación.

Page 289: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.11

Otros métodos de acceso Slotted Ring (Anillo con ranuras). Las estaciones de la red mandan constantemente pa-quetes de longitud fija y vacíos llamados slots. Cada slots tiene al principio una marca que indica si está vacío. Cuando una estación desea transmitir, marca el primer slots vacío que pasa por ella como ocupado. CSMA/CA (Acceso múltiple por detección de portadora evitando colisión). Es muy parecido al CSMA/CD, en vez de detectar la colisión, se envía un retardo programado en cada estación antes de comenzar a transmitir, para evitar las colisiones. Se utiliza en topologías bus y árbol. Polling (Interrogación). Una de las estaciones se designa como la principal y las otras como secundarias. La estación principal envía un mensaje a cada una de las secundarias indicándole que es su turno para transmitir. Se utiliza en topología de estrella. Los métodos de acceso, son una consideración importante a la hora de evaluar y adquirir placas de red y cableado. Si la velocidad es el primer objetivo, puede resultar adecuado un sistema que utilice el método de detección de colisiones, como Ethernet. Si la fiabilidad es importante, puede resultar preferible un sistema de pase de testigo.

2.5. TIPOS DE REDES. Antes de montar una red hay que tener en cuenta todas las consideraciones pre-vias vistas hasta ahora, cableado, topología y método de control de acceso. Por esto es necesario crear estándares, ya que las posibles combinaciones harían imposible la co-municación. Generalmente, las placas de red y los sistemas de cableado están diseñados siguiendo las especificaciones del “Institute of Electrical and Electronics Engineers” (IEEE) llamado (ie3 o iecubo), que ha creado estándares de red en el que cada uno define una topología que ha de emplearse con un sistema de control de acceso al medio. Para tal estandarización, el IEEE trabajo el proyecto 802 formado por varios comi-tés 3, 4, 5, ... cada uno de los cuales define métodos de controlar el acceso al medio físi-co de transmisión. EL ESTÁNDAR IEEE 802.3 Define una familia de normativas para detección de portadora como la CSMA/CD de Ethernet, como sistema de control de acceso al medio. En función de la velocidad de transferencia de datos al medio, del sistema de transmisión que se emplee y de la máxima longitud alcanzable entre estaciones sin repetidores el IEEE 802.3 distingue varios tipos de redes. <velocidad de transmisión en Mbits/seg>+<tipo de transmisión>+<longitud máxima del segmento>

Page 290: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.12

Velocidad de transmisión: indica la cantidad de información en bits que la red puede transportar en un segundo. Se emplea la unidad de Megas, por tanto millones de bits por segundo. Tipo de transmisión: Indica si la transmisión se realiza en un sólo canal o en varios canales, dependiendo del tipo de cable empleado. Si la transmisión se realiza en un sólo canal, será banda base y si se realiza en va-rios, se denomina multibanda. En banda base, la señal de información se coloca directamente en el medio de forma digital (tal y como sale del ordenador) y sin modular. De esta forma la extensión es limitada y proporciona un sólo canal. En multibanda el ancho de banda es muy amplio pudiendo las señales multi-plexarse y dar lugar a varios canales. Las señales digitales que salen del ordenador de-bes modularse antes de transmitirse a través de la red. Longitud máxima del segmento: Segmento es la porción de cable o medio situado entre dos repetidores. La máxima longitud del segmento es la que se puede alcanzar entre dos estaciones sin necesidad de intercalar repetidores. Coaxial grueso Ethernet 10BASE5 (ThickLan) Fue la primera. Empleaba cable coaxial grueso con una velocidad de transmisión de 10 Mbits/seg. en banda base y una longitud de segmento de 500 yardas (463m). En cada segmento pueden conectarse hasta 100 estaciones. El estándar permite hasta 4 re-petidores, por tanto, la máxima longitud es de 2300 metros. Cada estación se conecta a un tramo (máximo de 15 m) con un transceptor (caja de conexiones que ofrece aislamiento entre la estación de trabajo y la línea). Coaxial fino Ethernet 10BASE2 (ThinLan) Es una evolución del anterior al sustituir el coaxial grueso por el coaxial fino. Tiene igual velocidad de transmisión 10 Mbits/s en banda base pero alcanza menos distancia 200 yardas (185 m) y permite conectar hasta 30 estaciones en cada segmento. Este es el estándar que utilizamos en el taller. Par trenzado Ethernet 1BASE5 Emplea para transmisión de datos cable telefónico (par trenzado) sin apantallar. Como este tipo de cable tiene muchas pérdidas y es muy sensible a interferencias, la velocidad de transmisión se reduce a 1Mbits/s a cambio la distancia entre repetidores vuelve a ser 500 yardas. Este estándar es conocido por el nombre StarLan.

Page 291: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.13

Par trenzado Ethernet 10BASE-T Ofrece muchas de las ventajas de Ethernet sin necesidad de usar cable coaxial, que es más caro. Ademas, permite topología en estrella o distribuida para grupos de estaciones. Busca la compatibilidad con otros estándares IEEE 802.3 facilitando la transi-ción de un medio a otro aprovechando las placas ya instaladas para cable coaxial. La distancia máxima de segmento se limita a 100 yardas. Existe una configuración alternativa que emplea fibra óptica y permite alcanzar 500 yardas. Coaxial Ethernet 10BROAD36 Emplea cable coaxial, pudiendo transmitir 10 Mbits/s en banda ancha (señal modulada analógica) con una distancia máxima de segmento de 3600 yardas (3300 m). Añadir los nuevos. Fast ethernet, Giga, Wireless, etc.

Page 292: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.14

EL ESTÁNDAR IEEE 802.4 Define un estándar de pase de testigo en topología bus (token bus) como sistema de control de acceso al medio. Existen tres variantes, dependiendo del medio y tipo de transmisión que se emplee: 1ª Emplea transmisión en banda ancha sobre cable coaxial a 1.5 y 10 Mbits/s dependiendo del canal utilizado. 2ª Emplea banda ancha sobre un único canal también en coaxial a 1.5 y 10 Mbits/s es más barata. 3ª Emplea fibra óptica a una velocidad de 5, 10 y 20 Mbits/s. EL ESTÁNDAR IEEE 802.5 Define un estándar de pase de testigo en una topología en anillo, como la red Token Ring de IBM para redes locales. Existen tres variantes: 1ª Transmisión en banda base sobre cable de par trenzado apantallado a 1 o 4 Mbits/s. 2ª Transmisión en banda base sobre cable coaxial a 4, 20 y 40 Mbits/s 3ª Transmisión en banda base sobre par trenzado apantallado a 16Mbits/s y otra a 40 Mbits/s.

Page 293: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.15

2.6 PROTOCOLOS RS-232 Netbeui IPX/SPX TPC/IP

Page 294: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.16

3 . H AR D W AR E E S P E C Í F I C O Procuraremos analizar más detalladamente el hardware que interviene en una red Novell.

3.1 SERVIDORES Es el ordenador que ejecuta el S.O. y normalmente compartiremos los recursos que en él se encuentran. Por este motivo y por el hecho de realizar las funciones de distribución de la información debemos tener cuidado a la hora de "montar" el servidor. Debemos tener especial cuidado para salvar los posibles cuellos de botella que se producen dentro del ordenador:

@Intel

80486-33

Cuellos de Botella

C.P.U. Memoria Disco

Tarjeta de red

Un cuello de botella es una disminución del rendimiento de la máquina debido a la NO compensación de los diferentes elementos del servidor. Por ejemplo, de nada sirve tener un procesador Pentium a 150 Mhz si el disco duro es más lento que el caballo del malo. Veamos parte por parte los distintos elemento del servidor:

PROCESADOR. Las versiones 3.xx y superiores sólo funcionan en procesadores Intel 80386 y superiores. Novell recomienda como mínimo una velocidad de 33 Mhz. Los sistemas basados en 486 son mejores debido a la cache interna del procesador que aumenta el rendimiento considerablemente. En cuanto a los procesadores DX y SX debe-mos hacer las siguientes diferencias: Entre 386 SX o DX siempre optaremos por la versión DX. Debido a la mayor velocidad de transferencia entre el procesador y la memoria. Algo que, por otra parte, ya sabíamos. Entre 486 DX y SX, la cosa no está tan clara. Si el servidor no va a ejecutar en su procesador aplicaciones con calculo en coma flotante, tener un DX no ayuda gran cosa y

Page 295: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.17

es más caro que un SX. De cualquier manera prácticamente no se venden ya procesadores 486SX, así que esta discusión sobra. Evidentemente, entre un 386 y 486 siempre optaremos por un 486. Y si es un Pentium pues de más a más. BUS DEL SERVIDOR. Aquí la cosa se complica y es un elemento vital a la hora de configurar el servidor. Pensar que toda la información recorrerá el siguiente camino: 1. Por el cable llega la información a la tarjeta de red del servidor. 2. Esta tarjeta, por el bus al que este conectada, pasara la información a la memoria. 3. El procesador, por el bus, leerá de la memoria la información. 4. Si se pide un dato de disco, se lee de este por el bus. 5. El proceso se repite en sentido contrario. Todo pasa por el bus. Así que en lo posible utilizaremos un bus de alto rendi-miento. Dicho en plata, cualquiera menos el bus I.S.A. Ademas, este bus, tiene el pro-blema del limitado número de interrupciones. Podemos encontrarnos con un servidor car-gadito de cosas (2 puertas Serie, 2 Paralelo, 2 Controladoras de disco, 2 placas de red, etc.) en el que ya hemos agotado todas las interrupciones. Así que si desechamos el ISA, veamos que nos queda: EISA. Vale, pero las placas son caras y no se encuentran muy fácilmente. MCA. El bus de IBM. Vale, pero lo mismo. LB. Vale. No son caras, se pueden encontrar, pero cada vez es más difícil. PCI. Actualmente parece la mejor opción. Casi todos los 486 y Pentium montan ya este bus. Hay bastante donde elegir y va bastante rápido. En cualquier caso, consultar la tabla de rendimiento de los buses en los apuntes de la 1ª Evaluación. MEMORIA. Cuanto más, mejor. Al menos el servidor debe disponer de 4Mb de RAM y la velocidad de la memoria debe ser lo suficientemente elevada para que el estado de espe-ra sea nulo (0 wait state). Las versiones antiguas de Novell, generaban un cache de disco de 2Mb por cada volu-men de 250Mb que se creaba en el disco duro. Las cuentas se hacían bastante fáciles. (x Mbytes (del disco) / 250 * 2) = y Mbytes de RAM y al resultado le sumábamos 2Mbytes para la ejecución del sistema.

Page 296: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.18

Pero ahora las cosas cambian. Con la versión 3.xx y superiores, el propio sistema es ca-paz de aumentar o disminuir la cache de disco según le haga falta (siempre sobre la memoria disponible, por supuesto) y teniendo en cuenta los módulos (programas) cargados en el servidor. Cuando los márgenes de memoria sean muy pequeños, el Sistema ya nos lo avisará. Reflexión: Puesto que el servidor de clase tiene 8 Mbytes, es probable que 6 Mbytes se dediquen a la cache del disco. Sobre estas 6 Mbytes, cabe el compilador y el linkador de CLIPPER. Podemos pensar que cuando deseemos compilar o linkar un programa, el compilador o el linkador estén ya en la cache. Se evita de esta forma leerlos del disco duro. (Ojo. Al menos una vez se deberá leerlo del disco duro para pasarlo a cache). Resumiendo. Como decíamos al principio: cuanto mas, mejor. DISCOS. También es fácil. Cuanto más grande y más rápido, mejor. Pero analicemos otros aspectos. El bus al que este conectado el disco es muy importante. De nuevo de nada vale tener un disco super rápido conectado a un bus ISA. Pero el controlador es vital. Hasta ahora conocemos los controladores IDE y EIDE. Mejor el EIDE que permite 4 discos duros y es un poco más rápido que el IDE. Pero existe un controlador mejor: el SCSI. El SCSI (Small Computer System Interface) es un controlador que permite manejar hasta 8 dispositivos. En realidad esto es mentira, por que la propia placa controladora se com-porta como un dispositivo. Cada uno de estos dispositivos puede ser: Un disco duro, un CD-ROM, un scanner, un disco magneto óptico, etc. En teoría, son fáciles de configurar. Cada dispositivo recibe un número, entre 1 y 7. El número 0 se reserva para la controladora. (O el 7, no recuerdo ahora). La instalación si es sencilla. Existen en la variante externa o interna.

out inout inout inout in

Cable SCSI

0

1234

Terminadordel

Cable

Disco DuroCD-RomScannerEtc,

ControladoraEn BUS ISA, EISA, PCI, etc

El gráfico anterior muestra como es en su configuración externa. La configuración interna es igual, pero los componentes se encuentran dentro del ordenador. Se puede mezclar dispositivos externos e internos. Por ejemplo, el disco duro y el CD-ROM serán normalmente internos, pero el scanner será externo. Ademas de la ventaja de poder manejar 8 (7) dispositivos, lo realmente importante con-siste en su funcionamiento sin necesitar de la atención de la CPU. Así se descarga de trabajo a la CPU.

Page 297: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.19

Una placa controladora SCSI cuesta sobre las 30.000 pts. (Adaptec) contra las 3.000 pts que cuesta una controladora EIDE. Los dispositivos SCSI son más caros que los IDE. Así, que sólo se suelen instalar este tipo de dispositivos en servidores verdaderamente importantes. TARJETAS DE RED. Evidentemente deberemos utilizar las tarjetas de red en función de la topología, cableado y protocolo sobre los que desarrollaremos nuestra red. Aparte de esto, existe un mundo dentro de las tarjetas de red. 1. Bus sobre el que se conectan. La del servidor será siempre la mejor que tengamos y montarla sobre un bus que no sea ISA. 2. Memoria de la tarjeta. Muchas tarjetas incorporan memoria como buffer de comunicaciones. Van almacenando los paquetes que viajan por el cable hasta que se llene el buffer o no haya más paquetes que recibir (o enviar). 3. Acceso a memoria. Si la tarjeta permite el uso de DMA, puede enviar la información almacenada en el buffer de la tarjeta a la memoria RAM del ordenador sin necesidad de molestar a la CPU. Otras mejores ni siquiera tienen que mandar los datos a la RAM, le dicen a la CPU la dirección de memoria donde se encuentra la información. Identificación de las tarjetas de red.

BNC RJ-45 AUI

HEMBRA

MACHO

COAXIAL TELEFONICO HILOS El tipo de conexión puede darnos alguna información del tipo de red instalada: BNC: Conexión para cable coaxial. Puede ser topología en bus o estrella. RJ-45: Cable telefónico. Topología en estrella. AUI: Cable grueso. Topología en bus. Pero no identifica el protocolo utilizado: Ethernet: Puede correr en topología de bus y estrella.

Page 298: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.20

ArcNet: Suele correr en estrella. TokenRing: Su topología no se suele identificar a simple vista aunque sea en anillo. Resumiendo: No aventurarnos a apostar por el tipo de red instalada sólo mirando la conexión de la tarjeta.

3.2 ESTACIONES DE TRABAJO El tipo de estación a instalar está supeditado al software que se ejecutara en ellos. Pero si la estación tiene un acceso continuo a la red, debemos instalar una buena placa de red sobre un bus de alto rendimiento. Para accesos esporádicos a la red podemos conformarnos con un bus ISA. En estaciones DISK-LESS (sin discos) sería lógico instalar una buena tarjeta de red, pues su disco es el del servidor. Todo lo que queramos leer o grabar debe pasar por la tarjeta de red.

3.3 ENLACES. Los enlaces permiten conectar redes. Pueden ser BRIDGE, GATEWAYS, ROUTERS o BROUTERS. De nuevo, el tipo de hardware dependerá de la cantidad de información que debe distribuir el enlace. Pero como norma, los enlaces se utilizan para expandir y optimizar redes. No tendría sentido provocar un cuello de botella en un enlace.

Page 299: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.21

4 . I N S T AL AC I Ó N

4.1 HARDWARE Los componentes mínimos necesario para montar un red serán: Servidor . Sobre esta máquina deberán al menos estar instalados los siguiente elemen-tos: Controladora de Disco, Disco Duro y Tarjeta de Red Si además queremos que el servidor de ficheros sea servidor de impresoras debemos contar con una placa paralelo (o serie, pero mejor la paralelo). La mayoría de ordenado-res clónicos instalan una tarjeta que cumple las funciones de: Controladora I.D.E. (2 discos duros) Controladora de Disquetes 1 Puerta Paralelo (LPT1) 2 Puertas Serie (COM1, COM2) 1 Puerta de Juegos Cuando instalemos tarjetas sobre bus I.S.A. deberemos tener cuidado con los posibles conflictos de las interrupciones (las IRQ). Las siguientes interrupciones suelen ser estándar: Dispositivo IRQ I/O Controladora I.D.E. Primaria: E 1F0 Secundaria: F 170 Paralelo 1 (LPT1) 7 378 Paralelo 2 (LPT2) 5 ? Serie 1 (COM1) 4 3F8 Serie 2 (COM2) 3 2F8 Así, cuando instalemos la tarjeta de red en el servidor debemos de tener cuidado de no configurar la tarjeta con una IRQ que esté ocupada por otro controlador. Ejemplo: Si nuestro servidor tiene una puerta serie (COM1) y una paralelo (LPT1) podremos usar la IRQ 5 o IRQ 3 para la placa de red (porque están libres). Estación de trabajo : Deberá contar con al menos una tarjeta de red. El punto anterior es igualmente aplicable en este caso.

4.2 SOFTWARE Como mínimo debemos contar con: S.O. MS-DOS, S.O. Novell y los drivers apropiados para Novell de todos los componentes. (Novell proporciona los más utilizados, pero no fiarse).

4.3 ETAPAS DE LA INSTALACIÓN

Page 300: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.22

No existe un orden establecido de secuencia de instalación. Podemos primero instalar el sistema operativo en el servidor y luego realizar el cableado e instalación de las placas de red. O viceversa. No es necesario (ni conveniente) conectar todas las estaciones a la red. Será mejor montar sólo el servidor y una estación. Cuando esto funcione iremos cableando y conectando los demás puestos. Este método es mejor debido a que podemos encontramos con algún problema en un tramo del cable o alguna tarjeta que meta ruido en la red, etc., y volvernos locos pensan-do que no estamos instalando bien el sistema operativo. Así, instalaremos los accesorios necesarios en el servidor y estación respetando las famosas IRQ. La configuraron de las IRQ se suele realizar de tres maneras: 1. Utilizando los JUMPERS.

Sin puente Con puente Si el puente está colocado, se selecciona la opción marcada en la placa. 2. Por MicroSwitches.

on

off

0 1 2 3 4 n

1

0

La configuración anterior sería: 100110. Según lo que diga la placa tendrá un determinado significado. 3. Por software. Las placas modernas permiten configurarse desde un programa. Cableamos ambos ordenadores y probamos su comunicación. Para ello, normalmente, los fabricantes de las placas entregan un disco de diagnóstico. Este disco permite realizar: La comprobación de la correcta instalación de la placa de red en el ordenador. La prueba de comunicación de las dos tarjetas de red (servidor y puesto).

Page 301: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.23

La prueba de la comunicación también se puede realizar con la utilidad de Novell COMCHECK. Ojo. Todos estos pasos se realizan desde MS-DOS, pues no hemos instalado Novell todavía. Es decir, arrancamos los dos ordenadores con un sistema MS-DOS, (desde disco duro o disquete), y ejecutamos los programas mencionados. Si todo va bien, podemos continuar.

4.4 DOCUMENTACIÓN Es vital documentar todos los pasos que vayamos realizando. Apuntar las configuraciones de las placas de red, de las controladoras, etc. Para ello existen unos formularios que vienen en los manuales de Novell. Si no lo hacemos, en el futuro, cuando queramos instalar algo nuevo o modificar algún parámetro, lo vamos a tener muy negro.

4.5 MÉTODOS DE INSTALACIÓN Existen dos formas de realizar la instalación de Novell en el servidor: 1. Desde disco flexible Ventajas: Su seguridad es mayor. No se puede arrancar la red (el servidor) si no tenemos el disquete apropiado. Desventaja: El arranque es más lento (los programas se cargan del disco, aunque tampoco es para tanto), de tanto usar el disquete, se acaba estropeando y el proceso de instalación en más lento y engorroso. 2. Desde disco duro. Ventajas. La instalación es más rápida y sencilla. El arranque también es más rápido (los programas se cargan desde el disco duro). Desventajas. No es tan seguro. Pero tampoco es para tanto. Los SETUP de los ordenadores actuales permiten protegerse con una palabra clave. Si no se sabe, el ordenador no arranca. Personalmente la segunda opción me parece mucho más cómoda. Por eso es la que vamos a seguir.

4.6 OPERACIONES A REALIZAR. Trataremos de describir los pasos más importantes. 1. Creación de una partición MS-DOS. Cuando compramos el ordenador nos deberían dar el disco duro limpio como una patena. Los distribuidores piratillas instalan un MS-DOS (ilegal) creando una partición que

Page 302: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.24

ocupa TODO el disco duro. Si este es nuestro caso, lo primero que debemos hacer es eliminar esta partición. ¿Cómo?. Con el comando FDISK del MS-DOS. Para poder hacer esto DEBEMOS tener un MS-DOS en disquetes. MS-DOS Versión 6 Programa de partición de disco (C)Copyright Microsoft Corp. 1983 - 1 993 Opciones de FDISK Unidad de disco actual: 1 Elija una de las siguientes opciones: 1. Crear partición DOS o unidad lógica DOS 2. Establecer partición activa 3. Eliminar partición o unidad lógica DOS 4. Mostrar información sobre la partición Elija opción: [1] Presione Esc para salir de FDISK

Menú 1 Este es el menú de FDISK. Seleccionamos la opción 3 y nos salen la posibles opciones para eliminar las particiones creadas: Eliminar partición o unidad lógi ca DOS Unidad de disco actual: 1 Elija una de las siguientes opciones: 1. Eliminar partición primaria DOS 2. Eliminar partición extendida DOS 3. Eliminar unidad(es) lógica(s) en partición e xtendida DOS 4. Eliminar Partición No-DOS Elija opción: [ ]

Dentro de este menú pulsamos la opción 1 (si sólo hay creada un partición de MS-DOS, esto será lo normal). Eliminar partición primaria DOS Unidad de disco actual: 1 Partición Estado Tipo Etiq. volumen Mbyt es Sistema Uso C: 1 A PRI DOS 17CO6004MF 163 FAT16 100% Espacio total en disco es 163 Mbytes (1 Mb = 1 048576 bytes) ¡ADVERTENCIA! Se perderán datos en partición pr imaria DOS eliminada. ¿Qué partición primaria desea eliminar........? [1] Presione Esc para regresar a Opciones de FDISK

Ojo . Leer las pantallas. Si borramos la partición perderemos TODOS los datos que hay en ella. Borramos las particiones creadas y ya está. Todo este proceso no habrá que hacerlo si nos dan el disco inmaculado.

Page 303: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.25

Ahora empieza lo bueno. Debemos pensar QUÉ y CÓMO distribuir el disco. En el caso de un servidor Novell no tiene demasiado sentido instalar otros sistemas operativos (ademas del MS-DOS), pues la máquina estará dedicada a ejecutar el sistema operativo de Novell. Por ello se crearán dos particiones: una de MS-DOS y otra de Novell. El tamaño de la partición de MS-DOS debe ser suficiente para instalar el sistema MS-DOS, alguna de sus utilidades y el programa de arranque de Novell. Con 10 Mbytes es más que suficiente. Si vamos cortos de disco se puede hacer más pequeña. Para crear la partición de MS-DOS encendemos el ordenador con el disco de arranque de MS-DOS en la disquetera. Cuando aparezca la línea de comandos (A:\> ) ejecutamos el comando FDISK (que estará en disco de arranque o en otro, el de utilidades) y aparecerá el MENÚ 1. Elegimos la opción de crear partición de DOS. Nos preguntará si queremos usar todo el disco para MS-DOS y le decimos que NO. Entonces nos pregunta de que tamaño queremos crear la partición. Esto se puede hacer de dos formas: 1. Por cilindros. Se especifica cuantos cilindros queremos para esta partición. La cuenta es fácil. Dividimos el tamaño en Mbytes entre el número de cilindros del disco. Así sabemos cuanto ocupa cada cilindro. 2. Por Megas. Mas fácil, simplemente le decimos cuantas Megas queremos. Automáticamente se redondea al cilindro necesario. Se crea la partición y se rearranca el ordenador. Formateamos la partición MS-DOS creada (la famosa C:). Para ello ejecutamos el comando FORMAT. A:\>FORMAT C: /S El parámetro /S instala el sistema MS-DOS en la partición que acabamos de crear. Si arrancamos de nuevo el ordenador ya se puede cargar el MS-DOS desde disco duro. Instalaremos la utilidades de MS-DOS necesarias. 2. Copia de los ficheros de arranque de Novell Crearemos un directorio para instalar los ficheros de arranque de la Novell (por ejemplo NETWARE.312) C:\>MD NETWARE.312 nos metemos en él C:\>CD NETWARE.312 y copiamos en este directorio todos los discos de Novell etiquetados con SYSTEM.

Page 304: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.26

Del resultado de la copia, aparecerá un programa llamado SERVER.EXE (el programa de arranque de Novell). Lo ejecutamos y si la cosa va bien deberemos responder a dos preguntas: Qué nombre queremos dar al servidor Número de IPX (debe ser diferente al de cualquier otro servidor de la red. Aparecerá la línea de comandos de la consola de Novell que se identifica por el símbolo ":" (dos puntos). Aquí comienza de verdad la instalación de Novell. 3. Carga del driver de la controladora de disco. El sistema se está ejecutando, pero ha sido MS-DOS quien lo ha cargado del disco. Por este motivo Novell no sabe que tipo de controladora tenemos instalada. Así que debemos decírselo. Para cargar cualquier programa (módulo), driver, etc., utilizaremos la instrucción LOAD. Los drivers de disco tienen la extensión DSK. Podemos ver los que Novell incorpora si antes de cargar el sistema (desde MS-DOS) realizamos la siguiente instrucción: C:\NETWARE.312>DIR *.DSK En nuestro caso, pues nuestra controladora es del tipo I.S.A., cargaremos el driver ISADISK.DSK :LOAD ISADISK.DSK Novell nos preguntará qué interrupción y dirección de I/O utiliza la placa. A partir de este instante Novell tiene acceso al disco por sus propios medios. Pasamos a ejecutar el programa de instalación de Novell.

Page 305: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.27

4. Carga del módulo INSTALL Mediante el programa (módulo) INSTALL , realizamos los pasos necesarios para configurar el disco del servidor y copiar las utilidades. Los programas (módulos) de Novell tienen la extensión NLM (Netware Load Module), y se cargan con la orden LOAD. Teclearemos la siguiente instrucción: :LOAD INSTALL Creación de la partición Novell Cuando creamos la partición de MS-DOS, quedó libre el resto del disco. Sobre este espacio generaremos la partición para Novell. Así con la opción CREATE PARTITION definiremos el tamaño de la partición. Le respondemos el número de cilindros que queremos y ya está. Novell reserva el 2% de esta partición para el área del HOT FIX. Ésta es una zona del disco que se usa en el caso de que algún sector se estropee. Se puede modificar el porcentaje, pero los disco actuales tienen pocos errores. Si el disco es viejo, o ha sufrido mucho trote, puede ser aconsejable aumentar este valor. Si tenemos más de un disco duro podríamos utilizar la opción de MIRRORING (duplicar una partición en otro disco por motivos de seguridad). Creación del volumen SYS Sobre la partición creada definiremos los volúmenes necesarios. Es obligatorio crear al menos un volumen, y éste recibe el nombre SYS. Podemos crear un volumen que ocupe toda la partición, crear varios volúmenes en una partición e incluso crear un volumen que ocupe varias particiones (todas de Novell, por supuesto). El nombre del resto de los volúmenes los define el instalador, aunque se suele utilizar la nomenclatura: VOL1, VOL2, etc. Para cada volumen se define el tamaño de bloque. Estos son normalmente de 2, 4 y 8 Kbytes. El significado del tamaño de bloque es exactamente igual al de los clusters en MS-DOS. Dependiendo de los programas o archivos que se instalen en el volumen decidiremos el tamaño del bloque. Por ejemplo, para aplicaciones con grandes ficheros de bases de datos, será preferible usar un tamaño de bloque grande. Para tamaños de ficheros pequeños actuaremos de forma contraria. Una vez que los volúmenes han sido creados, es necesario montarlos. Lo de montar un volumen es simplemente hacerlo visible al sistema. Tampoco es necesario crearlos todos al instalar el sistema. Sólo el SYS es imprescindible.

Page 306: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.28

DISCO LIMPIO

+ FDISK (MS-DOS) =

Partición MS-DOS

DOS

+ CREATE PARTITION (Novell)

libre

DOS

OTRO+ VOLUMENES =sys

vol1

vol2

NOVELL

Partición

SECUENCIA DE TRATAMIENTO DEL DISCO Instalación de las utilidades Ahora ya podemos instalar la batería de discos de Novell. Estos discos son los etiquetados: SYSTEM, PUBLIC, HELP, etc. Seleccionamos la opción de instalar las utilidades y empezamos a meter discos. SYSTEM: Contiene los ficheros para arranque e instalación del servidor. En él se en-cuentran los NLM, DSK y LAN. PUBLIC: Contiene todas las utilidades. Como LOGIN, SYSCON, etc. HELP: Ficheros de ayuda. La versión 3.12 incluye un programa para su uso desde Windows que hará más agradable la administración de la red. OTROS: Dependiendo de la versión que instalemos habrá otros discos para defini-ción de impresoras, otros NLM, etc. Ahora salimos del programa INSTALL y volvemos a la línea de comandos. Sale otra vez el símbolo ":". 5. Carga del driver de la tarjeta de red

Page 307: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.29

Nos falta cargar el driver de la tarjeta de red para que el servidor pueda empezar a atender las peticiones de las otras estaciones. Los drivers de placas de red tienen la extensión LAN. En el disco que viene con la tarjeta de la red estará el driver para Novell. Otra posibilidad es que la tarjeta sea compatible NE2000 (una placa de red Novell que tuvo mucho éxito. Algo parecido ha pasado con la Sound Blaster, existen muchas tarjetas de sonido que se comportan como Sound Blaster). Si es así podemos utilizar el driver que incorpora Novell. :LOAD NE2000 De nuevo nos preguntará que IRQ utiliza la placa, su dirección de I/O y dirección de memoria (en el caso que la placa tenga su propia memoria). Si todo va bien nos saldrá un mensaje indicándolo o en caso contrario nos dirá algo como LOAD MODULE FAILED 6. Asignación de protocolo a la tarjeta de red En el paso anterior hemos cargado el driver de la tarjeta. En el caso que estamos siguiendo, el de la NE2000, hemos cargado el programa para que el sistema pueda "ver" la placa. Ya sabemos el método para que se hablen las estaciones (uno espera a que no hable nadie para hablar él), pero no sabemos en qué idioma nos vamos a entender. Eso es lo que vamos a especificar ahora. BIND IPX TO NE2000 Asignamos el protocolo IPX a la tarjeta NE2000. IPX es un protocolo propio de Novell (Inter Packing eXchange, intercambio de paquetes) que define cómo, en que formato, se formarán los paquetes que se envían por la red.

longitud del paquete

direcciónde

origen

direcciónde

destino

información controlde

errores

00101100 01110010 0110110101100010101100101001100100 11011001

Existen más protocolos: TCP/IP, NetBios, HDLC, etc. Cada protocolo tiene sus virtudes en función del tamaño información, distancia, errores, tipo de línea, etc. Normalmente en Novell se utiliza IPX, para UNIX se suele usar TCP/IP. 7. Creación de los ficheros STARTUP.CNF y AUTOEXEC.CNF

Page 308: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.30

Para simplificar diremos que el fichero STARTUP es el equivalente al fichero CONFIG.SYS de MS-DOS y AUTOEXEC.CNF al AUTOEXEC.BAT. Estos dos ficheros contienen las ordenes de carga de los drivers para el correcto funcionamiento de la red. Podremos añadir, por ejemplo, la carga de driver de teclado en castellano, soporte para consola remota (ver la consola desde nuestro puesto), etc. Cuando seleccionamos esta opción, se nos muestra el fichero con las ordenes de carga de los drivers que hemos utilizado. Solo falta añadir lo que creamos necesario. más tarde podremos modificar o añadir más cosas. 8. Prueba de arranque. Orden DOWN y carga de SERVER.EXE

El sistema ya está funcionando. Podríamos conectarnos desde los puestos. Pero recomiendo probar el sistema desde cero. Para ello tiramos el servidor. En un sistema operativo multiusuario no podemos apagar el ordenador a lo bestia. Hacerlo, y algún usuario se acordará de vuestra familia. Para tirar el servidor se debería primero mandar un mensaje a los usuarios avisando de ello, dándoles en el mismo mensaje un tiempo para poder salir de la aplicación que estén usando y desconectarse del sistema. Luego teclearemos en la consola: :DOWN El sistema empieza a comprobar posibles ficheros abiertos, usuarios que todavía no han desconectado, etc. Si todo va bien nos saldrá un mensaje del tipo: :server Nombre_del_servidor is down Hemos tirado el servidor. Tecleamos EXIT en la consola y volvemos al MS-DOS. Ya po-demos apagar el ordenador. Volvemos a encenderlo y cargamos el sistema: C:\>CD NETWARE.312 C:\NETWARE.312>SERVER Estamos atentos por si pasa algo raro. Probamos la conexión desde los puestos. Si todo ha funcionado bien volvemos a tirar el servidor. Regresamos al MS-DOS y añadimos en el fichero AUTOEXEC.BAT (ojo, el de MS-DOS) las dos órdenes anteriores. Apagamos y encendemos. El sistema se debe cargar automáticamente. ¡ Por fin !. Hemos terminado la instalación del sistema en el servidor. Vamos a ver los puestos.

4.7 INSTALACIÓN DE ESTACIONES DE TRABAJO

Page 309: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.31

La instalación del software en los puestos es muy sencilla. Siempre y cuando dispongamos de todo el software necesario. Se necesita: MS-DOS, disco WSGEN, disco de drivers de la tarjeta de red. Creación del IPX.COM Instalamos la placa de red en el puesto, teniendo como siempre cuidado con las IRQ. Si tenemos el disco de diagnostico probamos la placa (si funciona, no hay conflictos con otras IRQ, etc.). Metemos el disco de WSGEN en la disquetera (o lo copiamos al disco duro) y ejecutamos el programa WSGEN.EXE. No aparecerá una lista con los drivers de red. Si el nuestro no esta en la lista podemos hacer dos cosas: Pulsar Insert y meter el disco de nuestra placa. Copiar sobre el disco WSGEN los drivers de nuestra placa (o al disco duro) Ahora debe aparecer nuestra placa en la lista. Seleccionamos la configuración (IRQ, I/O, etc.) de como hemos instalado nuestra placa. Si lo hemos hecho bien, nos sale un mensajito: a valid ipx has been created o algo así. Lo que realmente hemos hecho el linkar el protocolo IPX al driver de nuestra placa. Podemos ver los drivers de tarjetas de red en el disco WSGEN o en el nuestro ejecutando la siguiente instrucción: dir *.OBJ Bueno, el caso es que hemos creado el fichero IPX.COM. Debemos probarlo. Tecleamos IPX y sale información relativa a la placa. Si nos da un error, lo más probable es que nos hayamos equivocado con las IRQ o la dirección de I/O. Carga de la shell de Novell Ahora cargamos la shell de Novell para MS-DOS. Tecleamos NET5 y si el servidor está funcionando se nos informa de nuestra conexión: you are attach to server Nombre_del_servidor

Page 310: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.32

Cambiamos a la unidad F: y hacemos un dir . F:\LOGIN>DIR Vemos que existe un programa llamado LOGIN.EXE. Lo ejecutamos y recibiremos la orden de identificación en la red: Enter your login name: Pues ya está. Hemos terminado la prueba del puesto. Vamos a detenernos en la Shell. Shell Avanzadas Eso de la shell es el interface de MS-DOS con la red. La shell depende de la versión de MS-DOS que estemos usando. Por eso existen diferentes ficheros NET. El último que se ha hecho es el NET5. En este caso podríamos pensar que nuestro MS-DOS 6.xx no funciona con Novell. Para solucionarlo, engañamos al programa NET5 diciéndole que estamos trabajando con la versión MS-DOS 5.0. Es necesario para ello introducir la siguiente instrucción en el fichero CONFIG.SYS device=setver.exe y volver a cargar el MS-DOS. La shell ocupa bastante memoria convencional. Si tenemos más de 640 Kbytes en nues-tra maquina podemos usar una shell especial: XMSNETx = shell para memoria extendida EMSNETx = shell para memoria expandida Automatización de la conexión. Creamos o modificamos el fichero AUTOEXEC.BAT para añadir las órdenes de co-nexión a la red. A saber: IPX, NETx, F:, LOGIN Si todas las placas de los puestos son iguales y están configuradas de la misma forma, el IPX que hemos creado vale para todas. Sino, habrá que repetir el proceso para cada placa distinta. En lo posible, visto lo visto, procuraremos comprar todas las placas igua-les. Y como son baratas, comprar de más. Cuando queramos conectar otro puesto será más fácil.

Page 311: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.33

5 . AD M I N I S T R AC I Ó N

EL ADMINISTRADOR DEL SISTEMA Necesidad, resposabilidad y planificacion

SISTEMA DE ARCHIVOS DE NETWARE Volumenes, directorios y ficheros

USUARIOS, GRUPOS Y DERECHOS DE ACCESO

MENÚS DE ADMINISTRACIÓN

ATRIBUTOS DE ARCHIVOS

GESTIÓN DE USUARIOS, DIRECTORIOS Y ARCHIVOS

TAREAS DE IMPRESIÓN

Page 312: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.34

6 . P R Á C T I C AS N O V E L L

INSTALACIÓN DE UN SISTEMA OPERATIVO NOVELL Material: 1 PC servidor Procesador 386 4 Mbytes Memoria Disco Duro > 80 Mbytes 1 PC estación 2 Tarjetas de Red IEEE 802.3 con su software 1 Cable Thin-Lan 2 Terminadores 50 Ohm 2 Tes 1 Destornillador 1 Tester 1 Sistema operativo MS-DOS 6.2 1 Sistema operativo Novell Versión 3.11 o superior Desarrollo: Instalación y comprobación de todos los componentes Instalación de MS-DOS en el servidor Creación y formateo de la partición NOVELL Instalación de NOVELL Instalación de utilidades NOVELL Creación de Shell en la estación Comprobación de LOGIN Arranque y desconexión del servidor Comprobación del sistema Tiempo estimado: 30' Teoría + 2h 30' práctica Observaciones: Debido al elevado número de alumnos en el aula (30), es necesario crear grupos para la instalación de la red. No es materialmente posible la instalación individual de la red (por problemas de tiempo). Así, se formarán 10 grupos de 3 alumnos. Cada grupo necesita 3 horas para la instalación, así pues, serán necesarias 30 horas para que todos los grupos puedan realizar la práctica. Si disponemos de 2 ordenadores en los que instalar la red, dividiremos el tiempo nece-sario por dos.

Page 313: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.35

COMANDOS DE NOVELL Los alumnos, divididos en grupos, realizarán la documentación de los comandos de Novell. Se realizará en horario de clase y dispondrán de dos manuales de usuario de Novell. Dentro de cada grupo se repartirán la documentación a realizar, asignándose a cada componente del grupo un conjunto de comandos. El trabajo más completo y mejor estructurado se añadirá a los presentes apuntes, especificándose los autores del mismo. Material: Manuales de usuario de Novell Editor de textos (cualquiera presente en la red) Desarrollo: Breve explicación por parte de los profesores de cada uno de los comandos Documentación de los comandos. Tiempo estimado: 2h teoría + 11h práctica. (Se incluyen las horas necesarias para la impresión del trabajo)

CREACIÓN DE UN USUARIO ESTÁNDAR EN NOVELL Material: Mismo material actividad anterior Desarrollo: Comando FCONSOLE Comando SYSCON Comando MAP Comprobación de conexión y desconexión del usuario Comprobación del sistema Tiempo estimado: 30' Teoría + 2h practica Podemos realizar el siguiente enunciado: Crear un usuario con las siguientes características: Login_Name: APEllido1+APEllido2+NOmbre Full_Name: Apellido1_Apellido2_Nombre Directorio local: SYS:USUARIOS\login_name PassWord: DNI del usuario

Page 314: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.36

Restricciones: Tiempo de conexión: Lunes a Viernes de 8 a 15 horas Estación de conexión: la habitual del usuario (NetWare + Node Address) Duración de la cuenta: hasta 30 de Junio Espacio en disco: Volumen SYS = 2 Mbytes Volumen DATOS = 10 Mbytes Volumen PROGRAMAS = 0 Mbytes Privilegios: Lectura y escritura en DATOS:PUB Lectura en PROGRAMAS:WP SYS:PUBLIC SYS:LOGIN Todos en Directorio local Login Scrip que mapee las siguientes unidades: F: SERVER_NAME\\SYS:USUARIOS/LOGIN_NAME G: SERVER_NAME\\DATOS:PUB H: SERVER_NAME\\PROGRAMAS:WP búsqueda server_name\\sys:public Observaciones Del desarrollo de esta practica debemos prestar especial atención a los siguientes puntos: Necesidad de un segundo servidor. Es evidente. Si trabajamos sobre el servidor habitual, corremos el riesgo de meter la pata y cepillarnos información vital para el desarrollo de las demás asignaturas. Ojo con esto. Si disponemos de este servidor podremos realizar la practica de trabajo sobre dos servidores. Control de los usuarios. De momento, solo se crear usuarios siendo supervisor, así todos los alumnos deben hacer LOGIN como supervisor. (Ver punto anterior). Esto permite que alumnos deshagan los trabajos de otros. Por ejemplo, un alumno crea un usuario y otro alumno lo elimina. Existen almas maliciosas cuyo mayor interés es impedir el normal desarrollo de la clase. Ojo a los virus. Al tener derechos de supervisor es más fácil introducir virus en la red. Hemos tenido el desagradable encuentro con un virus (al menos eso creemos) que se cepillaba el contenido del directorio \PUBLIC. Por este motivo realizamos una copia de este directorio sobre otro, para restaurarlo en caso de necesidad. Si a alguien le interesa, cuando utilizamos la orden SALVAGE para recuperar ficheros, éstos habían sido borra-dos por supervisor (todos los alumnos eran supervisor en ese momento). La duda es: Un virus o un cabroncete. Restricción de estación. Se puede ver el node address de la estación mediante el programa FCONSOLE o en el LOGIN script incluir la orden que muestra este valor.

CREACIÓN DE UNA COLA DE IMPRESIÓN EN NOVELL

Page 315: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.37

Material: Mismo material actividad anterior 1 Impresora (conexión serie y paralelo) 1 Cable conexión paralelo 1 Cable conexión serie Papel Desarrollo: Comprobación de funcionamiento de la impresora Comando MODE del MS-DOS (configuración serie) Comando de creación y arranque de la cola en NOVELL Comando PCONSOLE Comando CAPTURE Comando NPRINT Impresión de un fichero Comprobación del sistema Tiempo estimado: 1h Teoría + 2 h practica

ASIGNACIÓN DE PRIVILEGIOS A UN USUARIO Material: Mismo material actividad anterior Desarrollo: Comando MAP Comando USERDEF Comando SYSCON Comprobación de lectura, grabación, etc. del usuario Comprobación del sistema Tiempo estimado: 30' Teoría + 2 h práctica

TRABAJO CON DOS SERVIDORES Material: Dos servidores de Novell. Desarrollo: Comando ATTACH Comando MAP Comprobación del sistema Tiempo estimado: 30' Teoría + 1 h práctica

Page 316: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.38

observaciones Son necesarios dos servidores para realizar esta practica (evidentemente). Así necesitaremos otro 386 o superior con 4 Mbytes de RAM, disco duro y placa de red. Podemos momentáneamente utilizar la placa de red de un puesto si nos sobran. Lo que primero piensa uno es instalar el mismo software de red dos veces. Puede que funcione pero continuamente salen mensajes de violación de red. El número de serie de la red coincide con el de los dos servidores y Novell se queja, así que pedir prestada otro software de red. Otro de los puntos a tener en cuenta es el número de IPX, nombre del servidor y número de NetWare Address. En el primer caso debemos dar al segundo servidor un número de IPX y nombre distinto del primero. Sin embargo con el NetWare Address ocurre justo lo contrario, si ambos servidores están en la misma red (mismo cable) deben tener el mismo número. Esto se puede comprobar en el AUTOEXEC.CNF Name Server AAAAAA (distinto en ambos servidores) IPX XX (distinto en ambos servidores) ... BIND IPX TO NE2000 ADDRESS=XXX (igual que el otro servidor) ... Como enunciado y para que los alumnos se rompan un poco la cabeza podemos decir los siguiente: Disponemos de dos servidores, SERVER_A con la cuenta USER_A y SERVER_B con la cuenta USER_B. ¿Cómo podemos hacer LOGIN en ambos servidores?. Si se utiliza la orden LOGIN, cuando hagamos LOGIN al segundo servidor nos desconectamos del primero. Es necesario (a lo mejor hay otra forma) la orden ATTACH que permite conectarse a un segundo servidor sin desconectar del primero. Luego será necesario un MAP del tipo MAP G:=SERVER_B/SYS:nnnnnnnnnn Cambiando a la unidad G cambiamos al disco del segundo servidor. Esto tiene unas po-sibilidades extraordinarias (compilar en un servidor y linkar en otro ...) pero que seguramente no podremos explotar porque tendremos que devolver el ordenador prestado ... BRIDGE EXTERNO E INTERNO creación de un login script especifico A UN USUARIO CREACIÓN DE GRUPOS Y ASIGNACIÓN DE USUARIOS A GRUPOS comando fconsole comando syscon auditoria del sistema cobro por servicios de red (accounting) ampliación de volúmenes

Page 317: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III ... AAA NNN EEE XXX OOO RRR EEE DDD EEE SSS

Anexo Redes XI.39

instalación de un servidor de impresoras usuarios remotos en Novell IMPRESORAS REMOTAS (RPRINTER) MIRRORING Y DUPLEXING Se necesitan 2 discos duros y dos controladoras con un disco cada una

Page 318: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.1

D O C U M E N T AC I O N D E L A I N S T AL AC I O N D E L R O U T E R D E L AU L A8 El propósito de la instalación del router en el aula 8 persigue dos objetivos: Liberar direcciones IP de la red de aulas Buscar un método “Software” para a voluntad del profesor impedir que los alumnos del aula tengan acceso a Intenert.

LIBERAR DIRECCIONES IP DE LA RED DE AULAS.

En efecto, la red IP de aulas es común en su lógica para todas las aulas con independencia de su uso. Todas están integradas en la red IP 192.168.1.0 lo que genera conflictos de las siguientes características: Posibles IP duplicadas Agotamiento de las direcciones Asignación “lógica” de IP según la ubicación del equipo Realización de prácticas que pueden generar conflictos de servicios en otras AULAS (DNS, etc) Ataques desde otras aulas ... Etc. El uso de un router permite independizar la red lógica de una aula del resto. El router del aula 8 ha permitido que los ordenadores que viven dentro del aula 8 tengan asignada una IP estática de una red distinta del resto de aulas. ¿Cómo? El equipo que realiza la misión de ruteado dispone de dos interfaces (tarjetas de red) físicas. La primera de ellas se conecta al HUB/SWITCH del aula, recibiendo esta red lógica IP el número 192.168.8.0 La segunda de ellas se conecta directamente al SWITCH de aulas que está en el departamento de informática y “vive” en la red 192.168.1.0 recibiendo como dirección de Host la 192.168.1.91 (una de las ya asignadas al aula 8 en su estructura original).

Page 319: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.2

SWITCH AULA 8

SWITCH DEPARTAMENTO

ROUTER

IBM Compatible IBM Compatible IBM Compatible

INTERNET

SWITCH AULA 8

SWITCH DEPARTAMENTO

ROUTER

IBM Compatible IBM Compatible IBM Compatible

INTERNET

ROUTER

ANTES DESPUÉS

192.168.1.0

Esto permite que los ordenadores del aula 8 estén en la red 192.168.8.0 y sólo atraviesan el router cuando se accede a servicios Internet. Ventajas: Se reduce el tráfico de paquetes en la red. Sólo salen del aula aquellos paquetes que tienen como destino un host fuera de la red 192.168.8.0 (aún cuando esto ya era posible con la instalación del switch). Se liberan direcciones (de la 92 a la última asignada).

IMPEDIR LA SALIDA DE LOS ORDENADORES DEL AULA A INT ERNET El método anterior era drástico, se desconectaba del HUB/SWITCH del aula el latiguillo que lo conectaba al HUB/SWTICH del departamento. No era mala solución pero es necesario tener acceso al armario de conexiones y puede que de tanto sacar y meter el latiguillo se rompa el conector. Ahora sólo es necesario detener el servicio de enrutamiento en el ordenador que realiza esa misión. Esto puede hacerse desde local o remoto. Es más elegante.

Page 320: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.3

DESCRIPCIÓN DE LA INSTALACIÓN HARDWARE. UN PC DOS TARJETAS DE RED DISCO DURO DE AL MENOS 1,5 GB 1 LATIGUILLO PARA CONEXIÓN AL HUB/SWITCH DEL AULA 1 LATIGUILLO PARA CONEXIÓN AL HUB/SWITCH DEL DPTO SOFTWARE UN SISTEMAS OPERATIVO QUE PERMITA SERVICIO DE ROUTER CON NAT (2000 SERVER POR LO MENOS, VER SI SE PUEDE HACER CON LINUX O UN MISERABLE MSDOS CON ALGUN PRODUCTO) DESARROLLO: MONTAMOS LAS DOS TARJETAS EN EL EQUIPO INSTALAMOS EL SISTEMA OPERATIVO CONECTAMOS CADA PLACA A SU LATIGUILLO CORRESPONDIENTE IDENTIFICAMOS LAS PLACAS DE FORMA LOGICA EN EL SISTEMAS OPERATIVO ASIGNAMOS UNA DIRECCIÓN IP EN FUNCION DE SU CONEXIÓN LA QUE SE QUEDA DENTRO DEL AULA 192.168.8.1 LA QUE SALE DEL AULA 192.168.1.91 AGREGAMOS EL SERVICIO DE ENRUTAMIENTO SELECCIONAMOS EL INTERFACE 192.168.1.91 Y APLICAMOS NAT EN ESE INTERFACE CAMBIAMOS EN TODOS LOS ORDENADORES DEL AULA LA DIRECCIÓN IP PARA QUE VIVA EN LA RED 192.168.8.0 Y DEFINIMOS COMO GATEWAY LA DIRECCIÓN 192.168.8.1 REZAMOS UN PADRE NUESTRO YASTA

QUE SIGUE Hemos probado que desde los equipos del aula 8 podemos: Conectarnos a los equipos del resto de aulas Navegar por internet Desde el resto de aulas No pueden llegar a los ordenadores de dentro del aula. Pueden ver la cara externa del router (192.168.1.91) pero no la interna (192.168.8.1) Esto último habrá que decidir si nos perjudica o beneficia. Un saludo, Vinx

Page 321: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.4

C R E AC I O N D E D I S C O D E AR R AN Q U E W I N 9 8 C O N C L I E N T E D E R E D ¿Qué necesitamos?

1. Disco de 3 ½ formateado con sistema operativo 2. Driver modo protegido de la tarjeta de la red (tendrá extensión .DOS) 3. Cliente de red. NET.EXE y los devices asociados IFSHLP.SYS 4. Ficheros de configuración SYSTEM.INI y PROTOCOL.INI

Este ejemplo es la modificación manual de un disco creado con WINDOWS NT SERVER y la herramienta CREACIÓN DE CLIENTES DE RED. En él se usa el protocolo NETBEUI que era lo más sencillo al no necesitar de direcciones de red, direcciones ip, etc. Pues nada hacemos lo siguiente: Creamos un CONFIG.SYS que cargue el controlador IFSHLP.SYS Modificamos los SYSTEM.INI y PROTOCOL.INI para que se cargue el driver de la tarjeta de red en cuestion (cuando se hizo este disco con NT no estaban en la lista de tarjetas los últimos modelos: SYSTEM.INI [network] filesharing=no printsharing=no autologon=yes computername=PC01 lanroot=A:\NET username=asi201 workgroup=MDZAYAS reconnect=no directhost=no dospophotkey=N lmlogon=0 logondomain=MDZAYAS preferredredir=full autostart=full maxconnections=8 [network drivers] netcard=RTSND.DOS transport=ndishlp.sys,*netbeui devdir=A:\NET LoadRMDrivers=yes [Password Lists] *Shares=a:\net\Share000.PWL Computername: nombre de la máquina en la red. Como estamos en netbeui debe ser distinto para cada máquina pues es el único identificados que manejamos

Page 322: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.5

Username: pues eso, nombre de la cuenta para conectarnos al servidor o recurso compartido. netcard=RTSND.DOS: RTSND.DOS es el controlador protegido de la tarjeta de red, sustituir por el correspondiente a la nuestra. transport=ndishlp.sys,*netbeui : asignacion del protocolo con la normas NDIS PROTOCOL.INI [network.setup] version=0x3110 netcard=ms$ewtbtpb,1,MS$EWTBTPB,1 transport=ms$ndishlp,MS$NDISHLP transport=ms$netbeui,MS$NETBEUI lana0=ms$ewtbtpb,1,ms$netbeui lana1=ms$ewtbtpb,1,ms$ndishlp [ms$ewtbtpb] drivername=RTSND$ ; Interrupt=5 ; IOAddress=0x300 ; RamAddress=0xD000 ; MaxMulticast=8 ; MaxTransmits=16 ; AdapterName= [protman] drivername=PROTMAN$ PRIORITY=MS$NDISHLP [MS$NDISHLP] drivername=ndishlp$ BINDINGS=ms$ewtbtpb [ms$netbeui] drivername=netbeui$ SESSIONS=100 NCBS=12 BINDINGS=ms$ewtbtpb LANABASE=0 drivername=RTSND$: Sustituir con el nombre de nuestro controlador sin .DOS y terminado en $. Las lineas siguientes son para configuración física en caso de no funcionar las de p&p. ARRANQUE:

Page 323: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.6

Hacemos boot con este disquete, debemos ver que carga el IFSHLP.SYS Cuando tengamos el prompt C:\> lanzamos el cliente de red NET.EXE Se comprueba la existencia de NET.MSG y otros. Mira los ficheros SYSTEM.INI y PROTOCOL.INI para cargar el controlador de red y asignarle un protocolo. Nombra la máquina según las opciones el los ficheros. Si todo va bien, podemos intentar el siguiente comando: NET USE Z: \\SERVIDOR\RECURSO De nuevo, si va bien, ya hemos mapeado la unidad Z: al recurso A partir de aquí se abre todo un mundo, no se me el significado de las demás opciones de NETBEUI (session, etc) que deben ser tal vez vitales para accesos concurrentes o algo así. Para ver que hay por la red usamos el comando NET VIEW \\servidor Nos dirá que comparte \\servidor. Queda hacer esto mismo pero cargando protocolo TCP/IP

Page 324: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.7

D N S E N U N I X

a) en primer lugar conocer el demonio named b) existen dos formatos de configuración de named:

a. named.conf b. named.boot

c) la segunda ya está abandonada, luego usamos la primera d) se nos proporcionan ficheros de ejemplo en el directorio /etc/named.d e) vamos a jugar con named.conf.pri

a. lo copiamos a mis.dns b. cambiamos zone “test.sco.com” a “aula8.edu”

f) vemos que el fichero hace referencia a otro llamado named.hosts g) lo editamos y vemos que es la relación ip a dns h) añadimos las entradas siguientes:

a. agustin IN A 192.168.1.151 b. gonzalo IN A 192.168.1.152 c. …

i) lanzamos el servicio a. named /etc/named.d/mis.dns b. y comprobamos que no provoca ningún error

j) vamos a una máquina win98 y configuramos el servidor dns a la máquina unix que está corriendo el servicio.

a. Reiniciamos b. Probamos ping agustin.aula8.edu c. Debería responder la máquina unix que corriendo el servicio dns con

192.168.1.151 k) Copiamos /etc/named.d/mis.dns a /etc/named.conf l) Paramos y lanzamos el servicio

a. ndc stop b. ndc start c. se supone que lee el fichero por defecto (/etc/named.conf) d. probamos de nuevo desde una máquina windows

m) DNS es largo y complicado. Esto sólo es la puerta de entrada al tenebroso mundo de los dns.

n) ¿Como permitir que los dns se actualicen solos? Con allow update. o) Que se documente en condiciones, hablando de zonas, resolvedores, nodos A, B,

zonas maestras, etc. p) Montar nfs cliente/servidor de windows y probarlo Sacar a sorteo los siguientes temas a documentar

• telnet • ftp • dhcp • dns • nfs

Definir libro de estilo de forma conjunta (din a4, margenes, tipografias, …) y explicar lo que no se tenga claro de un word procesing.

Page 325: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.8

AL G O D E O S I INTRODUCCION El modelo de referencia OSI (Open System Interconnection, algo parecido a Sistema Abierto de Interconexión) describe como la información de una aplicación se mueve a través de una red hasta la aplicación en otro ordenador. El OSI es un modelo conceptual compuesto de siete capas, cada una de ellas especifica una función de red particular. Este modelo fue desarrollado por el ISO (International Standardization Organization, Organización Internacional de Estándares) en 1984 y ahora es considerado como la arquitectura de referencia en la comunicación entre ordenadores. El modelo OSI divide los elementos involucrados en el movimiento de información entre ordenadores en siete elementos más pequeños y manejables. Un elemento o grupo de elementos se asigna a uno de los siete niveles OSI. Cada capa está más o menos autocontenida, de tal forma que los elementos asignados a cada capa puedan ser implementados (depurados, programados, actualizados, probados...) sin afectar o verse afectado por el resto de caspas. La lista siguiente detalla las siete capas del modelo de referencia OSI. • Capa 7 – Aplicación Application • Capa 6 – Presentación Presentation • Capa 5 – Sesión Session • Capa 4 – Transporte Transport • Capa 3 – Red Network • Capa 2 – Enlace Data Link • Capa 1 – Física Physical Para recordar todas las capas memorizar lo siguiente: FERTSPA, como suena.

CARACTERÍSTICAS DE LAS CAPAS OSI

Page 326: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.9

Las siete capas se agrupan en dos categorías: capas superiores e inferiores (upper y lower). Las capas altas se relacionan con la aplicación y están formadas sólo por software. La capa más alta, la de aplicación, es la más cercana al usuario. Tanto el usuario como los procesos de la capa aplicación interactuan con la aplicación que contienen componentes de comunicaciones. También podemos hablar de capa superior si nos referimos a cualquier capa por encima de otra. Las capas inferiores manejan el transporte de datos. En la capa física y de enlace intervienen tanto software como hardware. El resto solo es software. La capa más baja, la física, es la más cercana al medio físico de la red (el cable, un poner), y es la responsable de poner los datos en el medio físico.

PROTOCOLOS El modelo OSI proporciona conceptos para comunicación entre ordenadores, pero en sí mismo no es método para comunicaciones. Éstas son posibles usando protocolos de comunicaciones. Un protocolo es un conjunto de reglas y convenciones que gobiernan como los ordenadores se intercambian información sobre una red. Un protocolo incorpora las funciones de una o más capas OSI. Existen muchos protocolos pero todos ellos pertenecen a alguno de los siguientes grupos: LAN. Funcionan en las capas de red y enlace. Definen la comunicación entre los cableados LAN. WAN. Además en la capa física. Comunicación entre redes WAN ROUTING. Solo en la capa de red. Determinan el camino y gestionan el trafico. NETWORK. Diferentes protocolos de las capas superiores que existen en una determinada familia de protocolos. COMUNICACIÓN ENTRE SISTEMAS

Page 327: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.10

La información que debe transmitirse desde un programa en un ordenador a otro programa en otro ordenador debe pasar a través de cada una de las capas. Si por ejemplo, un programa en el ordenador A tiene información que transmitir a un programa en el ordenador B pasara lo siguiente: • El programa en A pasa su información a la capa de aplicación en el sistema A. • Luego la capa de aplicación pasa la información a la capa de presentación. • La capa de presentación pasa la información a la capa de sesión • Así, hasta que por fin llega a la capa física. • La información se coloca en el medio físico (cable) y se envía al sistema B. • La capa física del sistema B saca la información del cable y la sube a la capa de

enlace. • Así hasta que llega a la capa de aplicación que proporciona la información al

programa en B.

INTERACCIÓN ENTRE CAPAS Una determinada capa se comunica con otras tres capas: a) Con la capa inmediatamente encima de ella b) Con la capa justo debajo de ella c) Con su capa igual en el sistema con quien se habla

Servicios de las capas Una capa se comunica con otra capa para usar los servicios ofrecidos por esta ultima. Los servicio ofrecidos por estas capas adyacentes permiten a una capa comunicarse con su colega en el otro ordenador. Para que esto sea posible intervienen tres elementos: a) El usuario del servicio (service user) b) El proveedor del servicio (service provider) c) El punto de acceso al servicio (service access point) El usuario del servicio es la capa que solicita algún servicio de la capa adyacente. El proveedor del servicio es la capa que proporciona estos servicios. Una capa puede proporcionar servicios a muchos usuarios de servicio.

Page 328: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.11

El punto de acceso a estos servicios en el agujero que permite pasar los servicios de una capa a la otra. (¿Paso de parámetros entre funciones en C?)

CAPAS E INTERCAMBIO DE INFORMACIÓN Las siete capas utilizan varias formas de informacion de control para comunicarse con su respectiva capa en el otro odenador. Esta informacion de control consiste en instrucciones y peticiones que se intercambian entre las capas compañeras. La informacion de control toma dos formas: cabeceras y colas. Las cabeceras se anteponen a los datos que tienen que pasarse a capas inferiores. La colas se añaden al final de estos datos. Cabeceras, colas y datos son conceptos relativos pues dependen de la capa que analiza la unidad de informacion. En la capa de red, una unidad de informacion puede consistir en: Cabecera de capa 3 y datos. En la capa de enlace , sin embargo, toda la informacion que nos manda la capa de red (cabecera de capa 3 y datos) son tratado como datos. En otra palabras, la parte datos de una unidad de informacion en un determinada capa puede contener cabecera, colas y datos de todas las capas superiores. Esto se concoce como la encapsulación.

Page 329: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.12

Proceso de intercambio de información Este proceso tiene lugar entre capas compañeras. Casa capa en el sistema origen añade informacion de control a los datos y cada cape en el destino analiza y elimina esta la informacion de control, separandola de los datos.

Si un programa del sistema A tiene datos que mandar al sistema B, los datos se pasan a la capa de aplicación. Ésta añade su cabecera con informacion de controla para la capa de aplicación del ordenador B. La suma de esto se pasa a la capa de presentacion del ordenador A que de nuevo añadirá su cabecera con informacion de control para su capa compañera en el ordenador B. La unidad de informacion va creciendo a medida que cada capa añade su cabecera (o cola). Cuando llega a la capa fisica se coloca en el cable el conjunto resultante. Llega al ordenador B, a su capa fisica, que saca el todo este conjunto del cable y se lo da a la capa de enlace. Esta capa lee la informacion de control contenida en la cabecera que ha sido preparado por la capa de enlace del ordenador A. Se analiza, se elimina esta cabecera y lo que queda se pasa a la capa de red. Cada capa realiza la misma operación: se lee la cabecera de su capa compañera en la otra maquina, la quita del mensaje y se la da a la capa superior. Por fin llega a la capa de aplicación que elimina la cabecera y se lo pasa al programa. El mensaje resultante es exactamente lo que fue transmitido por el programa en el ordenador A.

CAPA FISICA

CAPA DE ENLACE (DATA LINK)

CAPA DE RED (NETWORK)

Page 330: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.13

CAPA DE TRANSPORTE

CAPA DE SESION

CAPA DE PRESENTACION

CAPA DE APLICACIÓN

Page 331: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.14

FORMATOS DE INFORMACION

D I R E C C I O N AM I E N T O CAPA DE ENLACE

DIRECCION MAC

DIRECCION DE RED

Page 332: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III ... DDD EEE SSS PPP UUU NNN TTT EEE SSS YYY RRR EEE CCC OOO RRR TTT EEE SSS

Despuntes y Recortes XII.15

BIBLIOGRAFIA: CISCO. Direccion: www.cisco.com Todos los graficos han sido proporciandos por CISCO INC.

Page 333: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.1

PROGRAMMING

ANSI.SYS Escape Sequences

� Cursor Commands

� Erase Commands

� Display Attribute and Mode Commands

� Keyboard Commands

� Notes

� Examples

� Other Resources

CURSOR COMMANDS

Cursor Up {ESC}[ <row> A Moves the cursor up the specified number of rows without changing the column.

<row> is a number from 1 through 24 that specifies how many rows the cursor is to be moved up. If you omit <row>, DOS moves the cursor up one row.

examples {ESC}[13A Move the cursor up 13 rows

{ESC}[A Move the cursor up 1 row

Cursor Down {ESC}[ <row> B Moves the cursor down the specified number of rows without changing the column.

<row> is a number from 1 through 24 that specifies how many rows the cursor is to be moved down. If you omit <row>, DOS moves the cursor down one row.

examples {ESC}[8B Move the cursor down eight rows.

{ESC}[B Move the cursor down one row.

Cursor Right {ESC}[ <col> C Moves the cursor right the specified number of columns without changing the row.

<col> is a number from 1 through 79 that specifies how many columns that cursor is to be moved right.

Page 334: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.2

If you omit <col>, DOS moves the cursor right one column.

examples {ESC}[40C Move the cursor right 40 columns.

{ESC}[C Move the cursor right one column.

Cursor Left {ESC}[ <col> D Moves the cursor left the specified number of columns without changing the row.

<col> is a number from 1 through 79 that specifies how many columns the cursor is to be moved left. If you omit <col>, DOS moves the cursor left one column.

examples {ESC}10[D Move the cursor left ten columns.

{ESC}[D Move the cursor left one column.

Move Cursor {ESC}[ <row> ;<col> H or {ESC}<row> ;<col> f Moves the cursor to the specified row and column.

<row> is a number from 1 through 25 that specifies the row to which the cursor is to be moved. If you omit <row>, DOS moves the cursor to row 1. To omit <row> but specify <col>, enter the semicolon to show the <row> is omitted. <col> is a number from 1 through 80 that specifies the column to which the cursor is to be moved. If you omit <col>, DOS moves the cursor to column 1. If you omit both <row> and <col>, DOS moves the cursor to the home position (row 1, column 1--the upper left corner of the screen).

examples {ESC}[;10H Move the cursor to column 10, row 1.

{ESC}[H Move the cursor to row 1, column 1.

Save Cursor Position

{ESC}[s Stores the current row and column position of the cursor.

You can move the cursor to this location with a Restore Cursor Position command.

examples {ESC}[s Save the current cursor position.

Report Cursor Position

{ESC}[6n Returns the current row and column position of the cursor in the form {ESC}[ <row> ;<col> R.

<row> is a number from 1 through 25 that specifies the row where the

Page 335: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.3

cursor is located. <col> is a number from 1 through 80 that specifies the column where the cursor is located.

examples {ESC}[6n Report the current cursor position.

Restore Cursor Position

{ESC}[u Moves the cursor to the row and column position most recently saved with a Save Cursor Position command.

examples {ESC}[u Move the cursor the row and column last saved with a Save Cursor Position command.

ERASE COMMANDS

Erase Display

{ESC}[2J Erases the entire display (equivalent to the DOS Clear Screen or cls command).

examples {ESC}[2J Erase the screen.

Erase to End of Line

{ESC}[K Erases from the current cursor position through the end of the line that contains the cursor.

examples {ESC}[K Erase from the cursor to the end of the line.

DISPLAY ATTRIBUTE AND MODE COMMANDS

Set Attribute {ESC}[ <attr> m Turns on a characteristic or attribute of the display, such as high intensity, blink, or foreground and background color.

<attr> specifies the display attribute to be turned on. More than one attribute can be specified by using a semicolon to separate the attribute numbers. <attr> can be any of the following:

Text Attribute Value

None 0

High Intensity (bold)

1

Underline 4

Color Attribute

Foreground Value

Background Value

Black 30 40

Red 31 41

Green 32 42

Page 336: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.4

(monochrome display only)

Blink 5

Reverse 7

Invisible 8

Yellow 33 43

Blue 34 44

Magenta 35 45

Cyan 36 46

White 37 47

If you omit <attr>, all attributes are turned off (equivalent to specifying <attr> as 0).

examples {ESC}[1m High intensity.

{ESC}[1;5m High intensity and blink.

{ESC}[30;46m Black foreground, cyan background.

{ESC}[m Turn off all attributes.

{ESC}[0m Turn off all attributes.

{ESC}[0;1;36m Turn off all attributes, then turn on high-intensity cyan foreground.

Set Display Mode

{ESC}[= <mode> h Sets the width and color capability of the display (generally equivalent to the DOS MODE command). This command can also be used to cause lines longer than 80 characters to be broken at the 80th character and continued on the next line, rather than truncated at the 80th column; this is called line wrap. It can be turned off with the Turn Off Line Wrap command. Note the equal sign (=) that precedes <mode>.

<mode> specifies the display mode. It can be one of the following:

Display Mode Value

40 columns by 25 rows, black and white 0

40 columns by 25 rows, color on 1

80 columns by 25 rows, black and white 2

80 columns by 25 rows, color on 3

320 by 200 graphics, color on 4

320 by 200 graphics, black and white 5

Page 337: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.5

640 by 200 graphics, black and white 6

Turn on line wrap 7

examples {ESC}[=1h Set the display to 40 by 25 color on.

{ESC}[=7h Continued lines longer than 80 characters, don't truncate them.

Turn Off Line Wrap

{ESC}[=7l Causes lines longer than 80 characters to be truncated at the 80th character, rather than continued to the next line.

examples {ESC}[=7l Truncate lines longer than 80 characters.

KEYBOARD COMMANDS

Define Key {ESC}[ <key code> ;<result> p Assigns one or more characters to be produced when you press a key.

<key code> specifies the key to be defined. If the key is one of the standard ASCII characters , <key code> is a number from 1 through 127. If the key is a function key, keypad key, or a combination of the <Shift>, <Ctrl>, or <Alt> key and another key, <key code> is two numbers separated by a semicolon and can be found in the ANSI.SYS key code table. <result> is the character or characters to be produced when a key is pressed. It can be specified as an ASCII code , an ANSI.SYS key code , a string enclosed in quotation marks, or any combination of codes and strings separated by semicolons. To restore a key to its original meaning, enter a Define Key command that sets <result> equal to <key code>.

examples {ESC}[126;92p Redefine the tilde <~> key as a

backslash <\>.

{ESC}[126;126p Restore the tilde <~> key to its original meaning.

{ESC}[0;112;"dir|sort";13p Redefine <Alt><F9> as a Directory command piped to a Sort command, followed by a Carriage Return.

{ESC}[0;112;0;112p Restore <Alt><F9> to its original meaning.

Page 338: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.6

NOTES Entering the {ESC} Character

� In DOS: Press and hold the <Alt> key, then type 27 on the keypad.

� In Windows: Press and hold the <Alt> key, then type 0027 on the keypad.

� Exceptions: Sometimes the above keystrokes do not work. Try one of the following methods:

� In MS-DOS EDITOR and QBASIC, type any one of these:

� <Ctrl>P, <Alt>027

� <Ctrl>P, <Ctrl>[

� <Ctrl>P, <Esc>

� In Microsoft WORD, use a macro:

� Sub AsciiEscChar() ' Insert ASCII Esc character. Selection.TypeText Chr(027) End Sub

� Save the file as "Text Only" or "MS-DOS Text".

� In Microsoft NOTEPAD and WORDPAD:

� Copy the {ESC} character from another text file and paste it into the document.

Enabling ANSI.SYS Before using escape seqences, ANSI.SYS must be named as a device driver in the CONFIG system file. For Windows 95, Windows 98 and DOS:

� Create or edit the CONFIG.SYS file. (Found in the root directory.)

� Add the following line to the file: DEVICE=<path>\ANSI.SYS where <path> is the full path of the ANSI.SYS file. (Usually found in the WINDOWS directory.)

� Save CONFIG.SYS with the new line.

� Check that a copy of ANSI.SYS exists in the specified path location.

� Restart the computer to complete the change.

For Windows NT, Windows 2000 and Windows XP:

� Create or edit the CONFIG.NT file. (Usually found in the WINNT\SYSTEM32 directory.)

� Add the following line to the file:

Page 339: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.7

DEVICE=%systemroot%\system32\ANSI.SYS

� Save CONFIG.NT with the new line.

� Check that a copy of ANSI.SYS exists in the specified path location.

� Restart the computer to complete the change.

Restrictions:

� Windows NT does not support ANSI.SYS escape sequences in Win32 Console applications.

� The Windows 2000/NT Command Interpreter, CMD.EXE, does not support ANSI.SYS. Use COMMAND.COM instead.

Using ANSI.SYS Escape Sequences Because ANSI.SYS commands control the console device, they must be typed at the keyboard or sent to the display.

� Put the ANSI.SYS commands in a file and display the file with the TYPE or COPY command.

� Use the PROMPT command with the command prompt code , $e.

Example: prompt $e[1;37;44m (Set the text color to bright white and the screen color to blue.)

� Use the ECHO command in a batch file .

Example: echo {ESC}[8;26H (Move the cursor to row 8, column 26.) To execute a batch file containing ANSI commands in Windows 2000/NT, use one of the following methods:

� Open a DOS command prompt window and type the <batch path>.

� Type %SystemRoot%\system32\COMMAND.COM /c <batch path> at the Run command line.

� Create a program information file (PIF) by making a shortcut of COMMAND.COM, then set the Cmd Line property to the <batch path> and the Advanced Program properties to %SystemRoot%\system32\AUTOEXEC.NT

and %SystemRoot%\system32\CONFIG.NT.

� Use the WRITE, PRINT or a similiar command in FORTRAN, C, BASIC, etc.

Example: WRITE(*,*)'{ESC}[2J' (Clear the screen.)

File Syntax and Parameters

� ANSI.SYS

� CMD.EXE

� COMMAND.COM

Page 340: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III III +++ III ... AAA NNN SSS III

Despuntes y Recortes XII+I.8

� CONFIG.SYS

ANSI.SYS EXAMPLES Batch File SCREEN.BAT demonstrates some Display Attribute and Cursor commands.

� Download as a zipped file .

� Display as a text file .

� View a screen shot .

Command Prompt Type the line below in a COMMAND.COM window to change the DOS command prompt.

� prompt=$_$d$_$t$h$h$h$_$e[1;37;43mMy Computer$e[44m $p$g

� View a screen shot .

OTHER RESOURCES

� ANSI.SYS Key and Extended Key Codes

� Batch File Commands

� Command Prompt Codes

[ Index | Technical Notes ]

DISCLAIMER Page author: Dawn Rorvik (mailto:[email protected]?subject=ANSI.SYS Commands) Last modified: 07/17/2003 DEBERIAMOS AÑADIR AQUI EL ESCRIP QUE HICIMOS SANTI Y YO DEL RELOJ EN LA SHELL. PEDIR LOS SCRIPT QUE HEMOS HECHO EN CLASE Y METERLOS EN SU TEMA

Page 341: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.1

Se debe incluir aquí el acontecer de TODO un curso en el módulo de sistemas informaticos de 1º de ASI y del módulo de Implantación en 2º de ASI. Ejemplo: También cabe la posibilidad de incluir los examenes y hasta alguna hoja de cálculo para las calificaciones.

Page 342: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.2

1. Terminal Server ....................................................................................... 1 2. Perfiles de usuario ...................................... ............................................. 6 1. TERMINAL SERVER

Terminal Server permite acceder a múltiples usuarios a aplicaciones de Windows Server 2003 desde equipos con Hw más limitado o con sistemas operativos Windows anteriores al 2003. Las aplicaciones del cliente se ejecutarán realmente en el servidor. Permite acceso múltiple y simultáneo a varios clientes. ¿Elementos necesarios?

- Terminal Server, software de servidor. Contiene herramientas administrativas: Administrador de Licencias de Terminal Services, Configurador de Terminal Server y herramientas para administración de los clientes y del propio Terminal Server. Necesita de 4 a 10MB de RAM para cada sesión cliente, tarjetas de red y ancho de banda potentes, para poder dar servicio simultáneo a todos los clientes conectados. Mejor que no sea el Servidor de dominio, porque cuando actua como servidor terminal consume muchos recursos.

- Protocolo de comunicación. Es un protocolo de presentación remota basado en T.120 de UIT. Multicanal para anchos de banda elevados, con tres niveles de encriptación.

- Cliente de Terminal Server, software cliente de interfaz Win32. Ejecutable en: terminales Windows incrustados, pcs con W95, W98, WNT, W2K, WXP y W3.11. Necesita 16 MB de RAM, pantalla VGA y procesador 486(excepto en W2K, 32MB y Pentium).

¿Cómo funciona? 1 y 2, el usuario inicia la sesión normal en su ordenador y después la de Consola de Terminal, Inicio >>>> Programas >>>> Accesorios >>>> Consola de Term inal Server >>>> Comunicaciones . 3, el sw de consola se conecta al sw servidor. 4, el usuario se valida en Windows Server 2003. 5, el usuario utiliza su escritorio de Windows Server 2003. Si un cliente se va sin cerrar la sesión, cuando vuelve las cosas están como las había dejado o como si hubiera estado conectado de forma permanente (nohup, “no hung up”).

Page 343: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.3

¿Para qué sirve?

- Instalación Centralizada, más barato porque una aplicación realmente solo se ha instalado en el Servidor. Y más cómodo para actualizar, ya que si se tuviera una aplicación corriendo en 100 equipos cliente habría que hacer 100 actualizaciones, mediante este método solo hay que actualizar el Servidor.

- Acceso a Windows Server 2003, permite que desde clientes limitados(antiguos o con pocos recursos) se acceda a aplicaciones WServer2003. Mejora la seguridad de ciertos entornos, ya que los datos realmente residen y se manejan en la máquina servidor.

- Administración, permite hacer administración remota del servidor. Además los administradores puedeN realizar acciones de teclado y ratón(tomar control del escritorio de cualquier otro cliente, etc), utilizando Remote control , desde una sesión de cliente(con derechos de administrador). Esta utilidad se puede aprovechar para entrenar en el aprendizaje de herramientas nuevas a los clientes de nuestra red.

Prácticas. Suponiendo que hemos conseguido instalar VmWare y la máquina virtual 2003 (cuyo usuario administrador tiene de contraseña admin ) deberemos: 1. Instalar el servidor de Terminal Server sobre 2003

2. ¿Cómo crear los clientes?.

2.1. ¿Dónde están? C:\windows\system32\clients\tsclients\win32

2.2. Puedo llevarme una máquina virtual 98 y montarle el cliente Terminal Server de 16 bits, que creo que es el archivo instmsia.exe.

2.2.1. Una vez instalado miro la entrada en programa, accesorios comunicaciones, escritorio remoto

2.3. Instalar el cliente en XP 2.3.1. Arrastro la carpeta win32 sobre el escritorio de mi máquina XP 2.3.2. Le doy a setup 2.3.3. Cuando termina tengo en programas la conexión a escritorio remoto.

2.4. Probamos la conexión al escritorio remoto desde la maquina virtual 98 y desde mi XP

2.4.1. Para ello creamos un usuario en 2003 y le llamamos ts con contraseña ts

2.4.2. Probamos la conexión desde XP y 98 y vemos que NO funciona 2.4.3. En 2003 agregamos el usuario ts al grupo usuarios de escritorio remoto 2.4.4. Probamos de nuevo y vemos que ya funciona

Page 344: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.4

3. Configuramos la conexión del cliente

3.1. De alguna forma es como si configuráramos un terminal Telnet (echo, emulación, etc) ver pestañas mostrar y rendimiento.

3.2. Lo interesante de esto es definir los parámetros de conexión del cliente como se muestra la siguiente pantalla:

3.3. Por último queda lo más "interestin" desde mi punto de vista, la pestaña programas . Podemos especificar que el usuario ejecute una aplicación automáticamente cuando se conecte y que se desconecte también de forma automática cuando termine de usar la aplicación. Tendremos la seguridad de que no nos toquen las boulins.

4. Configuramos el Servidor de Terminal Server. Es decir, cómo se comportará el

servidor cuando los clientes intenten conectarse.

4.1. En la configuración de servicios de Terminal Server especifico como quiero que se comporten los clientes cuando se conecten, Incluso, como se ve en está imagen, aún cuando un usuario se intente conectar con su login, puedo forzar que se conecte como otro.

4.2. Es más, si tuviera ya asignado un inicio de comando, puedo decir que ejecute

otro.

@echo off :otravez cls echo ejemplo de menu dentro de terminal server echo ----------------------------------------- echo. echo 1. Adios echo 2. Block echo. choice /c 12 if errorlevel 2 goto block exit :block notepad.exe goto otra vez

Page 345: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.5

4.3. En resumen, es estas pestañas diremos como queremos que nuestro servidor

responda a las peticiones de conexión de los clientes. 5. Ahora toca Administrar el Servidor. Viene a ser, ¿qué puedo hacer con los clientes

una vez que se han conectado?. Muchas cosas ... 5.1. Echarlos 5.2. Ver que procesos correr y matar los que me interese 5.3. Mandarles mensajitos

Page 346: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.6

5.4. Aquí viene los bueno, puedo ver su escritorio como si estuviera sentadito a su

lado, y si quiero tomo control de su teclado y ratón. 5.5. Por ejemplo, desde la maquina virtual 98 nos conectamos al 2003. En la pantalla

de administración desplegamos nuestro equipo y vemos las posibles conexiones de clientes de a nuestro servidor. Si picamos en RDP-TCP ... y luego en la ventana de la derecha en: información nos dirá desde dónde se está conectando el cliente, en procesos que procesos está ejecutando en MI servidor y por fin si pico con el botón derecho tendré entre otras la opción para desconectar al usuario y la de control remoto. Ésta última (que mola mazo) no funciona si quieres tomar control de la sesión y estas sentado como consola del servidor 2003. Tienes que conectarte como otro cliente de Terminal Server con derechos de ejecución en esta herramienta (vamos como un administrador). Vamos a hacerlo.

Desde la máquina virtual de 98 nos conectamos al 2003 siendo el usuario ts .

Desde la maquina XP nos conectamos como administrador a la maquina 2003. Ojo con la configuración del 2003, puede que aunque intentemos conectarnos como administrador esté activa la suplantación en el lado del servidor .... Si todo ha ido bien, podré ejecutar desde la conexión del XP la consola de administración de Terminal Server. Voy y miro quién está conectado y debo verme a mi como administrador y a ts. Pico botón derecho sobre el usuario ts y selecciono tomar control, me espero y ya está. Si no funciona, lo más probable es que el usuario ts no de permiso para que le espíen. O lo quitamos o en la configuración de Terminal Server nos saltamos esa posibilidad.

Conclusión. ¿Y todo esto pa´que sirve.? Como siempre, vamos por detrás del mercado. Parece que hace ya tiempo que se usa el Terminal Server en entornos grandes. Donde se tienen cientos de clientes de una aplicación (si es verdad los que dice el manual 100 clientes por 10MB = 1000MB, al precio que tiene la memoria es una ganga, otra cosa será ver si el procesador puede con ello. De todas formas si tengo 100 clientes de una aplicación es

Page 347: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.7

que soy rico) y que realizar cualquier actualización sobre el aplicativo no sería un trabajo pueril. Ya, pero, ¿para que sirve?. Joder que pesado. Piensa en esto: Tienes una base instalada de 40 equipos Pentium 100 con 32 MB corriendo Windows 98. Hay que actualizarse a Office 2000. Con independencia del problema de las licencias: ¿Corre Office 2000 sobre Windows 98? ¿Puede un Pentium 100 con 32 MB con un Windows 98 y un Office? Supongamos que no. Tengo dos alternativas:

a) Pongo 40 PC nuevos que puedan mover 2000 o XP b) Pongo un servidor de Terminal Server y que los clientes de Windows 98 se

conecten a él para correr Office 2000.

Por último, pensar esto mismo con equipos de Sun ejecutando Linux y quiero que corran una aplicación de Windows ... (dice Microsoft que existen clientes de Terminal Server para plataformas que no son Windows, habrá que pagar por ello). ¡¡¡¡ OJO A LAS IMPRESORAS !!!!. Desde el cliente, al seleccionar una trabajo para imprimirlo, puede tener la sensación al ver que la impresora imprime por el puerto LPT1 que va a salir por la local, cuando en realidad es la LPT1 del servidor de Terminal Server que puede estar en Pernambuco. Es por ello que al seleccionar los puertos de impresión aparecen unos que pertenecen a mi máquina local. Esto hay que verlo más despacio pero los tiros van por aquí. ATENCIÓN. LA HE CAGADO. AL CONVERTIR EL 2003 EN CONTROLADOR DE DOMINIO NO DEJA QUE EL USUARIO TS SE CONECTE EN SESIÓN INTERACTIVA. A ver donde coño se cambia esto. De momento para poder seguir meto al usuario ts en el grupo de administradores y a correr.

Page 348: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.8

2. COMPARTIR UN ESCRITORIO (PERFILES) Un perfil de usuario define un entorno de escritorio personalizado para dicho usuario. Contiene :

- parámetros y carpetas de su escritorio, Mis documentos. - parámetros y datos temporales de las aplicaciones de usuario, Datos de

programa, Cookies, documentos recientes,etc. - elementos del Menú de Inicio. - conexiones de red que se establecen al iniciar la sesión, Entorno de red

(unidades asignadas a servidores de red), Impresoras. Lo pueden modificar los administradores o los usuarios, según el perfil sea obligatorio o no. Tipos :

- LOCAL , se crea la primera vez que el usuario inicia sesión en la máquina. Se almacena en local. Las modificaciones solo tienen validez en dicho equipo.

- MOVIL o ROAMING , válido para dominios. Lo crea el administrador del dominio. El usuario accederá a este perfil independientemente de la máquina en la que se valide dentro del dominio. El perfil y sus modificaciones se almacenan en el servidor.

- OBLIGATORIO , es un perfil móvil(de solo lectura) mediante el cual el administrador puede obligar a tener a un grupo de usuarios o a un usuario un determinado escritorio, sin derecho a modificaciones. Se almacena en el servidor.

- POR DEFECTO, si un usuario se valida en una máquina y el sistema no encuentra su perfil (porque durante la creación de usuario se haya indicado la ruta de almacenamiento del perfil en otra máquina), el sistema operativo carga un perfil por defecto y almacena sus parámetros en una carpeta temporal que desaparecerá cuando se finalice la sesión en dicha máquina.

Ahora vais a poner en práctica los conceptos: Me creo una carpeta llamadas “perfiles ” (un poner) Copio sobre esta carpeta el perfil de otro usuario (administrador, un poner)

Botón derecho sobre Mi PC Propiedades Perfiles de usuario Marco el perfil del administrador (suponiendo que este me gusta) Copiar a y lo mando a la carpeta perfiles Me voy a esa carpeta y miro lo que me ha copiado

Page 349: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.9

Si me interesa lo personalizo (quito o pongo accesos,

etc.) Creo el usuario “negro ” (otro poner)

En la ficha ruta de acceso al perfil pongo la trayectoria donde se ha almacenado el perfil (c:\perfiles )

Yasta Hago login como “negro ” y compruebo que en el escritorio están las cosas que

personalizado en el punto 2.g Para darme el gustazo creo otro usuario “blanco ” que use el mismo perfil Me conecto como “blanco ” y miro tengo el mismo escritorio

El proceso es el siguiente:

3. Cuando el usuario hace login crea una copia de la carpeta c:\perfiles en c:\doc & set\nombre_de_usuario

4. Cuando se desconecta se realiza la copia en sentido inverso Probemos...

10. Siendo el usuario “negro ” creo una carpeta en el escritorio llamada “por_negro ”. 11. Voy a c:\doc& set\negro\escritorio y veo que está. 12. Voy a c:\perfiles\escritorio y veo que NO está. 13. Me desconecto como “negro ” y entro como admin . 14. Voy a c:\perfiles\escritorio y veo que está. Es lógico, hasta que no se ha

desconectado “negro ” no se ha realizado la copia de su perfil temporal a c:\perfiles . OK

15. Me conecto como “blanco ” y veo que en mi escritorio la carpeta “por_negro ”. Es lógico pues el escritorio es el mismo

16. Me follo la carpeta “por_negro ” y creo una llamada “por_blanco ” 17. Me desconecto como “blanco ” y hago login como “negro ” 18. ... Conclusión: EL ÚLTIMO GANA.

OBLIGAR A TENER EL ESCRITORIO DEFINIDO POR ADMIN. ( MANDATORY)

Page 350: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.10

Si partimos de la estructura anterior, simplemente me conecto como “admin ” y en la carpeta c:\perfiles renombro el archivo ntuser.dat (gracias Carlitos) a ntuser.man de mandatory. Hago login como “blanco ” y debo ver la carpeta “por_blanco ”. Me la follo. Hago logout y login. La carpeta sigue ahí. Hago login como “negro ” y debo ver la carpeta “por_blanco ”. Me la follo. Hago logout y login. La carpeta sigue ahí. Chapó. Hemos conseguido que dos usuarios tengan el mismo escritorio y que además no lo puedan modificar. Probar a cambiar fondos, etc. Salir y volver a entrar. Está todo como debe estar. Finiquitando: si a estos usuarios les quiero poner algo en el escritorio, me conecto como admin. y voy a la carpeta c:\perfiles\escritorio . Lo que aquí deje lo verán la próxima vez que se conecten.

PERFIL TEMPORAL Nos viene muy bien en ciber y sitios parecidos. Si a un usuario le asigno una ruta al perfil en la que no tenga permisos (ojo) se creará un perfil temporal TEMP en doc & set que se eliminará una vez que el usuario se desconecta. Nada de los que haga se grabará en su perfil. Lo único molesto es que sale (en 2003, no se en lo demás) un ventanita diciéndote que tal y cual. Ojo con poner una ruta que no exista pues en 2003 se crea la carpeta cuando el usuario hace login. PERFIL MÓVIL O ROAMING

Especificando en la ruta del perfil el nombre del host y recurso que aloja al perfil. Para que esto funcione el host debe pertenecer a un dominio NT o Active Directory. Recomiendan no almacenar los perfiles en los controladores de dominio, mejor en servidores miembros. Así los controladores de dominio se dedican a lo suyo, es decir, a autentificar usuarios y esas cosas. No he conseguido todavía probarlos.

He cometido la siguiente torpeza: Estoy probando un 2003 Estándar Edition como

controlador de dominio, pero antes de convertirlo en controlador de dominio le hice una copia en vmware. Es decir, tenía dos 2003 idénticos. Cuando a uno de ellos lo convertí en Controlador e intenté meter el otro como miembro del dominio se me quejó con el SID. Vale, era algo previsible. Cojo el sysprep y como soy un merluzo le digo a todo que si, incluido a no dar periodo de gracia en la activación. Total, que ahora cada vez que arranco el 2003 me pide el CD KEY. Que le den, que no lo tengo. Me lo follo y monto un XP que es como debería haberlo hecho siempre. Un 2003 como controlador de dominio y al menos un XP como cliente. Veras como meto la pata con el XP... Ya está. He montado un XP pro como cliente. Creo un usuario llamado movil, y le digo que su perfil vive en una carpeta dentro del servidor de 2003. Además le ponemos la secuencia de inicio de comandos.

kk.bat tiene:

@echo off cls echo Hola. Tas en papa2003sead echo ejecutando un bat de inicio. pause

Page 351: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.11

Abro sesión en XP (habiendo metido previamente a XP en el dominio, no lo he probado sin meter a XP en el dominio, me cachis...)

Y CREA EL PERFIL EN LOCAL PUES ES LA PRIMERA VEZ QU E SE CONECTA. EL PROBLEMA LO TUVE AL HACER LOGOUT. NO LE HABÍA DADO PERMISO EN 2003 A LA CARPETA PERFILES DE ESCRITURA Y CLARO, CUANDO “MOVIL” QUIERE

GRABAR SU PERFIL ANTES DE IRSE, SE QUEJA. ¿Es necesario crear la cuenta “movil” en XP?. No ¿Y si la creo?. Pues “mu bien”. Cuando entres en sesión como cuenta local (conectarme al equipo local) verás en doc & set una carpeta con “movil”. Esa es la sesión local. Si entras en sesión conectándote a CASA veras una carpeta “movil.casa”. Este último es tu perfil roaming, el que se copia en 2003. Esto permite que puedas tener dos perfiles independientes, el del dominio (para cubrir las apariencias) y el de la máquina local (para fiestas y banquetes).

PREGUNTAS QUE DEBO HACERME ¿Qué pasa si se borra la carpeta c:\perfiles ?. Pues que aparece un nuevo tipo de perfil, el Temporal. Si un usuario tiene marcada una ruta de acceso al perfil que no existe o no es posible acceder, se le crea un

y vive en 2003 en C:\WINDOWS\sysvol\sysvol\casa.local\scripts

Page 352: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.12

perfil momentáneo copia del all user , en la carpeta Doc & set /Temp . Al abandonar el sistema se borra la carpeta. Esto es especialmente útil en Ciber y sitios así. ¿Cómo personalizar el escritorio, menús, etc para que solo pueda tocar lo que me interesa?

Creo que con las directivas. Cuando usábamos Win 98 existía el Poledit. Ahora en 2000 y demás son las directivas. Se nos proporcionan unas plantillas para facilitarnos el trabajo. Me parece que el Poledit era mejor. ¿Por qué a veces veo en Doc & set el perfil más de una vez? Si ves pepe y pepe.mipc , se debe a que tienes un perfil local y otro de dominio. Supongo que si te validas contra la máquina del dominio en local te crea un perfil pepe. No se, no lo tengo claro y me caigo de sueño. ¿Cómo asegurarme que los usuarios no me toquen la carpeta perfiles?

En los permisos de la carpeta perfiles, a todos le quito todos los permisos y solo le

doy de lectura. A admin. le doy todos los permisos. Ojo con la herencia de permisos (mejor quitarla), que puede hacer que a todos les dé control de modificar ...

Page 353: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.13

R I S + P X E El servicio RIS de 2000SRV (y de windows posteriores) es el colmo de la lujuria. Vamos, como montar un sistema operativo con sólo encender el botón del imbécil. El RIS, démosle nombre completo, Remote Installation Service, (o como montar un sistema tocándome los huevos) es un componente de windows y habrá que montarlo con la opción de agregar componente. El PXE o Pre-Boot eXecution Environment (vete tu a saber que coño significa) es algo parecido al Remote Boot de las tarjetas de red de cuando era pequeño. Se trataba de pinchar una Eprom en la tarjeta de red. Previamente se había grabado en esa Eprom, por ejemplo, un mini-dos con protocolo y todo eso. Yo lo hice para Novell usando IPX/SPX. Al grano. Tu enciendes el PC y se pasa el control del Boot Rom al Remote Boot de la tarjeta de red. En ese Remote están los programas mínimos necesarios para conectarse a un servidor y a una ruta en concreto. Una vez conectados a esa ruta tiramos un comando determinado (IO.SYS, COMMAND.COM) y ale hop, ya tenemos un sistema montado. Entonces la locura era tener estaciones Disk-Less o como tener un Pc sin disquetera, disco duro ni CDROM. Pues se hacía así. Ahora que tenemos el TCP/IP ese Remote Boot se llama PXE. Cuando se inicia una máquina tirando de PXE lo que hacemos es primero buscar un servidor DHCP para que me de mi IP. Así que necesito UN SERVIDOR DHCP. Os recomiendo que una vez que este todo montado, arranquéis el monitor de red del 2000 SRV que ejecuta el RIS y capturéis paquetes. Para ver que coño se piden el PXE y el RIS. Mola verlo. Pues una vez que tengo IP me traigo del servidor el TFTP o Trivial File Transfer Protocol y usando éste me descargo en la maquina PXE un programa BOOTROM.COM (poner el nombre correcto pues lo digo de memoria) que inicia la conexión con el servidor RIS. Le dice donde está el servidor, ruta y etc. Y dispara una instalación. Ya veremos esto. Que pasa si no tengo equipos con PXE. Pues nada. Te creas un disquete de inicio con el programa que se te proporciona precisamente para eso y a correr. Botas con el disquete y obedeces a la máquina como buen varón que eres. El primer inconveniente para montar el servicio RIS es que mi máquina tiene que ser o pertenecer a un dominio de Active Directory. Yo paso del active directory pero o lo montas o no chuta. Así que de nuevo a obedecer, (recordarme que el año pasado hicimos esto mismo con otro producto infinitamente más sencillo). Cojo mi 2000SRV y lo convierto en Active Directory. Para eso además debe ser servidor DNS, a todo digo que si. Y ya está.

Page 354: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.14

Lo reinicio un par de veces. Vuelvo al programa de administrar servidor y veo que tengo una tarea pendiente de terminar.

Leer la siguiente pantalla para que sepáis que mas hace falta

Page 355: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.15

Pues vale, necesito un volumen adicional donde se va a guardar la copia del sistema que quiero montar. Te aguantas, no puede ser el mismo que el que contiene el sistema. Así que sacas la herramienta de administrador de disco y creas una nueva partición. Me pedirá la carpeta donde quiero meter la copia del 2000PRO que quiero instalar y donde está el original del 2000PRO para copiarlo a esa carpeta. Te esperas a que se copie le 2000PRO del cd o donde esté a la carpeta del servidor RIS. Lo estoy haciendo con una máquina virtual y esta copia tarda un huevo. Me voy a la cama y mañana sigo a ver que ha pasado. Ya lo ha copiado, mirar lo que queda en el volumen. Una copia del I386 que voy a montar, y más cosas: ...

AHORA CREO UNA MÁQUINA VIRTUAL NUEVA, Y EN EL BOOT LE DIGO QUE ARRANQUE POR PXE. NO SE QUE PASA QUE EL 2000SRV PAS A DE ENTREGAR DIRECCIONES. LO REVISO, CREO EL ÁMBITO Y TODO ESO. PARECE QUE ME

FALTABA AUTORIZAR AL SERVIDOR DHCP. LO HAGO Y PAREC E QUE YA POR FIN ENTREGA IP. ARRANCO DE NUEVO LA MAQUINA VIRTUAL Y E FECTIVAMENTE

RECIBE IP. PULSO F12 EN LA MÁQUINA DEL BOOT PXE Y P OR FIN VEO EL MENÚ DE INSTALACIÓN.

Después de que funcione todo, me parece que he metido la pata en lo más básico. El 2000PRO que le di al RIS para instalarlo en las máquina PXE resulta que me temo es de

Page 356: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.16

actualización. Todo va de miedo, pero al ponerse a instalar me dice que no existe sistema operativo anterior. Vosotros hacerlo bien. Lo que nos quedaría por ver son los archivos donde se selecciona el sistema a instalar (en teoría puedo ofrecer los que quiera y que el usuario decida) y esos primeros mensajes que vienen en perfecto ingles. Mirar los archivos con extensión “.osc” que parecen contener los mensajes y opciones. Ya, lo último, es ver como crear un archivo de respuestas para que la instalación sea desatendida. “Dar al botón y marchar”. FIN.

Page 357: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.17

1º A.S.I. SISTEMAS INFORMÁTICOS. CURSO 2003-2004

FRANCISCO VICENTE ZAMORA GARCÍA

LUNES MARTES MIÉRCOLES JUEVES VIERNES

horas 2 0 2 2 2

octubre 1

6 7 8 presentacion yo soy tutor, luego clase las dos ultimas, vemos el tema 1 de mis apuntes

9 seguimos tema 2

10 ejercicios de cambios de base

2

13 seguimos ejercicios de numeracion. Variables enteras de 2 bytes

14 15 ejercicios de restas de dos numeros enteros de 2bytes. Empezamos reales

16 ejemplo de paso de decimal real a coma flotante IEEE 754. Codigos Baudot, BCDIC, EBCDIC, ASCII, UNICODE

17 mas ejemplos de la IEEE 754

3

20 elementos funcionales

21 22 UC. UAL. ejecucion de un programa

23 vemos la bios

24 eliminamos particiones de las maquinas de la 11

4

27 Buses 28 29 Creamos particion fat 16 y formateamos

30 MD,CD,RD, COPY, XCOPY, Probamos arranque disco de red y conexión a host

31

noviembre 5

3 instalamos win 98

4 5 configuramos adaptador de red

6 instalalamos Borland C

7 Adaptadores alfanumericos

6

10 adaptadores alfanumericos

11 12 adaptadores graficos

13 adaptadores graficos

14 scsi y discos duros

7

17 cd, dvd, impresoras etc

18 19 puertos serie 20 puertos serie 21 paralelo. Empiezan trabajo de USB y FireWire

Page 358: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.18

8

24 siguen con USB y FireWire

25 26 dudas previas al ejercicio de mañana

27 examen hasta adaptadores graficos

28

diciembre 9

1 corregimos examen

2 3 fuentes de alimentacion y sai. Entregan trabajo USB y FIREWIRE

4 documentan de internet los SAI y Fuentes. Entrego Tema 4.

5 Dudas Examen

10

8 9 10 EXAMEN. Desde Adaptadores graficos hasta SAIs

11 corregimos examenes

12 hacemos practicas de msdos (variablesde entorno, set)

11

15 config.sys y autoexec.bat

16 17 actividades de navidades, np hay clase

18 actividades de navidades, no hay clase

19 entrega notas, no hay clase

12

22 23 24 25 26

enero 13

29 30 31 1 2

14

5 6 7 8 config.sys y autoexec.bat

9 hacemos disco de arranque msdos.

15

12 comprimir utilidades con arj. Convertirlo en autoexpandible, hacer arranque que copie en disco virtual

13 14 vemos los comandos internos de DOS

15 terminamos los comandos internos del dos, empezamos los externos del dos

16 terminamos los extenos, empezamos lotes

16

19 seguimos lotes 20 21 terminamos la teoria de lotes. Primera practica individual

22 mas lotes 23 mas lotes

Page 359: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.19

17

26 ansi.sys lotes interactivos con colores

27 28 sort+find 29 sort+find 30

febrero 18

2 sort+find, interactivo, lotes y for (to junto)

3 4 solucion en pizzarra

5 fundamentos de sistemas

6 estados de un proceso

19

9 organización de memoria

10 11 repaso dudas examen

12 examen discos de inicio, configs y lotes

13 corregimos examen

20

16 empezamos win 98, directorios

17 18 instalaciones automaticas (msbatch)

19 terminamos msbatch

20 infinst, empezamos herramientas tcp/ip. Vemos fichero HOSTS

21

23 24 25 arp, ping, route telnet, montamos un servidor FTP en win98

26 montamos PWS y vemos sus opciones. Vistazo rapido de HTML y HTTP

27 perfiles y politicas (aplazamos los perfiles) instalamos el poledit y lo probamos

marzo 22

1 seguimos poledit 2 3 perfiles man en Windows NT (no sale demasiado bien)

4 huelga de alumnos, sin clase

5 concretamos por fin los perfiles en Windows NT. Empezamos los perfiles 98 sobre NT (tampoco sale bien)

23

8 a ver si conseguimos que funcionen los perfiles de 98 en NT, ya tiene buena pinta

9 10 visita al ASLAN

11 ponen la bomba en atocha y nos vamos de manifestacion

12 terminamos las politicas y perfiles de 98 sobre NT. Funciona todo.

24

15 repaso examen 16 17 examen 18 me pide Alejandro la horas para un examen

19 Es Festivo. Día del Padre.

25

22 Empiezo la teoria de las practicas en Aula 1. Solo tengo 4 alumnos

23 24 teoria de Ohm. Limitarodes y potencia. Comprobacion de elec. Y cable en aula1

25 teoria de cableado, hub, switch. Herramientas involucradas

26 empezamos cables directos

Page 360: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.20

abril 26

29 seguimos cables directos

30 31 hacemos cables cruzados

1 entrega de notas y adios

2

27

5 6 7 8 9

28

12 13 14 empezamos linux como practica de telnet desde win98

15 navegamos por el sistema de archivos

16 ordenes basicas para ficheros- mkdir. Etc.

29

19 enlaces, permisos, comodines

20 21 procesos, ps 22 kill, nohup, jobs

23 securetty, creacion de un usuario, talk y write

30

26 creacion de disco de inicio para linux

27 28 montaje de linux desde ftp

29 posiblidades de inittab, parametros desde el boot (init single)

30 configuracion de tarjetas de red, sysconfig, linuxconf, ifconfig

mayo 31

3 particionado, formateo y montaje de disco (fstab). Gestion de paquetes. Instalacionn de telnet cliente y servidor

4 5 montaje de nfs cliente y servidor. Uso de fichero /etc/export. Montaje de sistemas remotos

6 montaje de samba cliente y servidor. Gestion de servidor samba con swat. Montaje de sistemas windows remotos

7 bajar e instalar cliente y servidor nfs para windows. Integrar windows y linux

32

10 acceso a sistemas de archivos locales de windows.

11 12 impresoras en linux, spool, lp etc

13 servicios al arranque. Ntsysv

14 instalamos de nuevo linux con los paquetes minimos

33

17 18 19 repaso linux 20 repaso linux 21 examen linux

34

24 scripts, parametros, variables, export

25 26 scripts do until, if fi, expr, for

27 scripts read, test, .bash_profile, issue

28 scripts. Banner, calc, sort

Page 361: Apuntes sistemas01092008

TTT EEE MMM AAA XXX III VVV ... DDD EEE PPP RRR OOO FFF EEE ...

Despuntes y Recortes XII+I.21

junio 35

31 1 Huelga 2 Scripts, IFS, date,' '

3 Hacemos un reloj muy chulo con escapes ansi, at

4 Repaso Scripts

36

7 Examen Scripts 8 9 Repaso Recuperaciones

10 Repaso Recuperaciones

11 Repaso Recuperaciones se acaban las clases normales. Y entregar notas 3ª evaluacion

37

14 15 16 FINAL ASI 17 18

38

21 22 23 24 25

39

28 29 30