You are on page 1of 92
HTTR// WWW. APALENSOLUSIONES.OOM/RFH ACALON.REH - CURSO 2005 ‘TEMA 8: INFORMATICA Y REDES 8.1. Sistemas numéricos. 8.1.1, Bases numéricas. El sistema binario es el més ulllzado en los circuitos electronicos digitales. Existen otros dos sistemas, en las aplicaciones digitales; El hexadecimal y el octal. Su ventaja radica en la faciidad que ofrecen para representar de forma reducida los numeros binarios, 8.1.1.4. Sistema Decimal. EI sistema decimal es un sistema en base 10. En una cantidad decimal cada digito tiene un peso asociado a una potencia de 10 segiin la posicién que ocupe. Los pesos para los numeros enteros son potencias positives de diez, aumentado de derecha a izquierda, comenzando por 10°=1 Peso.....10°, 10°, 10%, 10°, 10%, 10°, 10° Los pesos para los nimeros fraccionarios son potencias negativas de diez, aumentando de izquierda a derecha, comenzando por 10". Peso.....10°, 10°, 10%, 10°, 10%, 10°, 10°, 10°, 10%, 10°, 10% La expresion general para descomponer el valor de una magnitud expresada en cualquier sistema numérico para obtener su valor decimal See S Donde, di = Digito en la posicion 1 = Base del sistema utiizado. lo. de digitos fraccionarios. P= No. de digitas enteros. Le base r del sistema numérico es el numero total de digitos permitidos para el sistema Ejempto 235.63 = 2x10 + 3x10! +5 x 10° + 6x10" + 3x17 .2, Sistema Binario, El sistema binario es un sistema en base dos, Es el sistema utiizado por los computadores digitales y tiene s6lo dos valores l6gicos posibies - "0 y 1" - para sus coeticientes, los cuales se pueden representar fisicamente de distintas maneras, como ‘as siguientes: Tensiones alo y bajo. Interruptor cerrado 0 abierto, ‘Sentido de magnetizacion de un nucleo magnético, Corriente eléctrica alta 0 baja. Los digitos 0 y 1 se tlaman bits, HITTRI//WWW. AGALONEQLUGIONES.COM/RFH ACALON.RFH - CURSO 2005 En un nimero entero binario el bit a la derecha es el bit menos signifcativo (LSB, Least Significant Bit) y tiene un peso de 2°=1. El bit del extremo izquierdo el bit mas significative (MSB, Most Significant Bit) y tiene un peso dependiente del tamafio del numero binario, Los pesos crecen de derecha a izquierda en potencias de 2. En numeros fraccionarios el bit a la lzquierda de la coma es el MSB y su peso es de 2'= 0,5, Los pesos decrecen de izquierda a derecha en potencias negetivas de 2. Peso: 2...2%, 28,28, 24, 29,27, 28.2%, 2% En el cualn es el nimero de bits a partir de la coma binaria. La tabla 8.1.1. muestra ia equivalencia de los ntmeros decimales del 0 al 15 a su correspondiente bina. timero DecimalNumero Binario! ° o;oTo 0] 1 “0'O 0/4 2 oo 1/0 3 oo 14 4 0 1/0/0 5 joljtjo/t: 6 ojt]tfo 7 ofa 8 110 a 1\0 0 0 7 7 1 we j1 1itta [T° Tabla 6.11, Sistema decinial y binario Ejomplo 101401, 11 = 1x2° + Ox2* + 1x2" + 1x2" + Ox2" + 1x2" + 1x2" + 1x2? En decimal se tiene: 3248 +4 + 1+0,5 + 0,25" 45,781 8.1.1.3, Sistema Hexadecimal El sistema hexadecimal es un sistema en base 16 y consta de 16 digites diferentes que son: dei 0 al 9 y luego de la letra A a la F, es decir 10 digitos numéricos y sels caracteres alfabéticos. EI sistema hexadecimal se usa como forma simplficada de representacién de numeros binarios y debido @ que 16 es una potencia de 2(24: los nimeros del sistema binario al hexadecimal y viceversa 46), resulta muy sencilla la conversion de HPT! /wwi, ACALONSOLUCIONES.COM/RFH AGALON.RFH + CURED 2005 La tabla 8.1.2. muestra ios niimeros decimales de 0 al 18 con su equivalencia en binario y hexadecimal ‘DecimallSistema binario Hexadecimal] 0 ooo JT 1 | 0001 oF 2 “oof 2 3 | oor 3 4 “0100 | 6 Of0T - € O11 6 7 7 oi 7 @ 8 @ eo] A 8B c D E e— Tabla 8.12. Sistema decimal, binario y hexadecimal Para convertir un numero hexadecimal en un numero binario se reemplaza cada simbolo hexadecimal por un grupo de cuatro bits. Ejempto Et ndmero 4F58,5 en binario equivate @ 6100111101011033 LotLoIbsL a4 oF 5 68 8.4.1.4, Sistema Octal. El sistema octal es un sistema en base 8 y esta formado por 8 digitos. En un numero ‘octal, tos pesos crecen de derecha a izquierda en potencias de 8. Peso: 8°, 8°, 8°, 8", 8° La tabla 6.1.3. muestra los numeros decimales de 0 al 17 con su equivalencia a binario y octal. [Besimel Sistema binerdOctal To} 600 o 4 coor 4 — be HITRH/WWW.AGALONSOLUGIONES.OM/RFH AGALON.RFH - cURSG ZOD5 4 0100 5 101 5 | é 070 6 7 ont 7] 8 | 1000 | 10 @ | too fat too | 12 [qt 3 2 1100 14 ps | ior ae 4 711016 15 a1 47 16; 1000020 , 1? : 10001 2t Table 61.3. Sistema decal Bar y octal Observe que en octal los digitos 8 y 9 no se usan. La conversién de un niimero octal en decimal se obtiene multiplicanda cada digito por su peso y sumando Ios productos. Ejemplo 1725= 148! + 2x8 + 2x6" + 5x = 512444041640" 981 1.8. Cédigo decimal binario (BCD) El cédigo decimal binatic (BCD Binary Code Decimal) es utlizade para expresar los diferentes digitos decimales con un cédigo binario. Por consiguiente, el cédigo BCD tiene diez grupos de e6digo y resulta practice para convertir entre decimal y BCD. 8.1.1.6. El cédigo 8421. El cOdigo 8421 pertenece al grupo de cédigos BCD. El nombre 8421 indica los diferentes pesos de los cuatro bits binarios (2°, 2°, 2', 2°) La tabla 8.1.4. muestra los ndmeros decimales de 0 al 9 con su equivalencia en BCD. DacinialDigto en BOD 16000 1 ‘0001 ater) 3 ott a 700 [-§ ~ on01 6 0710 HTTP / WWW. ADALONSOLUSIONES.COM/RFH, ACALON.AFH - cuRsO 2005 7 Orit 8 1000 a —__| Tabla 84 Sistema decimal y BCO Con un nimero de 4 bits se pueden representar 2* combinaciones posibles, pero al emplear el cédigo 8424 se incluyen solamente 10 grupos de cécigo binario, en consecuencia las combinaciones 1010, 1041, 1100, 1101, 1110, 1111 no se utiizan. Ejempio Convertir @ BCD el numero decimal 6498 Reemplazando por los valores de fa tabla & 1.4. se obliene, 6498. =(0110 0100 1001 1000)8421 8.4.2. Conversiones de un Sistema a Otro. Las conversiones entre numeros de bases diferentes se efectdan por medio de operaciones aritméticas simples. Dentro de las conversiones mas utiizadas se encuentran: 8.4.2.1. Conversién de Decimal a Binatio. Para la conversién de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas y el segundo es summa de potencias de 2 8. A. Por divisiones sucesivas, ‘Se va dividiendo la cantidad decimal por 2, apuntando los residues, hasta obtener un Cosiente cero. El ultimo residuo obtenido es el bit mas significative (MS—B) y el primero es el bit ‘menos signiticativo (LSB). Ejemplo Convertir el ntimero 183y9 a binaro, 15312. 1 7612 sso 3812. o 1912. 1 9 12 1 0412 o 212, o 1 la nse 0 Er resultado on binario de 1539 68 10011001, 8.1.2.1.2. Por sumas de potencias de 2. Este metodo consiste en determinar el conjunto de pesos binarios cuya suma equivalga al numero decimal Ejempio Convertir ol ndmero 153,» @ binario, 183022 +24 + P= 128+ 16-48-41 HITR//WWw. APALENBOLUCIONES.OOM/RFH ACALON.RFH - cURS 2005 153,9° 10011001, Come se aprecia, si se cuenta con alguna familiaridad con las potencias de 2 este ultimo método es mas rapido. 8.1.2.2, Conversién de Fracciones Decimales a Binario, Para la conversién de fracciones decimales e binario se emplean el siguiente método. 8.1.2.2.1. Por suma de potencias de 2. Emplea la misma metodologia de la suma de potencias de 2 pero se trabaja con potencias negativas. Ejempto Convertir el namero 0,87519 4 binario. 0,875 :0 = (2°) + (27) + (2°) = 0,5 + 0,25 + 0.125 = 0,111, 8.1.2.2.2. Por multiplicaciones sucesivas. La conversion de nimeros decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El numero decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea para la siguiente muttiplicacion y sequimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El Ultimo residuo o parte entera va a constituir el LSB. ejemplo Convertir el numero 0,875; @ dinero. [Nimero NN X 2Parte entera‘Peso) 0.875 | 1,76 1 MSB) "075 | 45 7 05 | 1,00 1 188 Etresulado on binaro ds 0,875, 65 0.1715 8.1.2.3. Conversién de Decimal a Hexadecimal, En la conversion de una magnitud decimal a hexadecimal se realizan divisiones sucesives por 16 hasta obtener un cociente de cero. Los residuos forman el nimero hexadecimal equivalente, siendo el Ultimo residue el digito mas significative y el primero el menos significativo, Ejemplo Convertir el ntimero 1869, @ hexadecimal. 1869|_16 we13 116[_16 4 4 7(16 “se7 0 BD El resultado en hexadecimal de 1869;0 0S T4D:6 HITRL/(vnvW. ADALBNSOLUGIONES.COM/RFH ACALON.AFH = cuRsO 2005 .2.4, Conversién de Decimal a Octal. En la conversion de una megnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Los residuos forman el numero octal equivalents, siendo el ultimo residuo el digito mas significatwo y el primero el menos significative Ejemplo Convertir 61 nimero 4651. octal imero N N= 465 (58,125 0,125 1 i) 58 | 7.25[ 0.26 2 : L 95 [oa7s| 0875 7 SB L—__] a ~ El rosuttado en octal de 465:0 08 721s. Conversi6n de Binario a Decimal. Un numero binario se convierte a decimal formando la suma de las potencias de base 2 aA, de los coeficientes cuyo valor sea 1 Ejemplo Convertir el nimero 1100» a decimal. 19005 = 1x2) 4 1x2? = 12:6 8.1.2.6, Conversi6n de Binario a Hexadecimal. E| método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del numero binario, Enseguida se convierte cada grupo de numero binario de 4 bits a su equivalente hexadecimal Ejempto Convertir ef nimero 100111010102 a hexadecimal, 21001 1191019=4EA,, re) 8.1.2.7. Conversion de Binario a Octal. EI método consiste en hacer grupes de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir fa totalidad del numero binario. Enseguida se convierte cada grupo de numero binario de 3 bits a su equivalente ootal. Ejempio Convertir ef naimero 010101012 @ octal 291,010101=125, 1 2 5 8.1.2.8. Convorsién de Hexadecimal a Decimal. En el sistema hexadecimal, cada digito tiene asociado un peso equivalente a una potencia de 16, entonces se multiplica el valor decimal del digito correspondiente por el respectivo peso y realizar la suma de los productos. HITTe://MWW AGALONSOLUGIONES.COM/REH ACALON.RFM - cURSO 2005 Ejemplo Convertir f numero 31F 1 8 decimal SAF yp = Gx1G" + 1X16 + 15 x 16° = 3x256 + 16 + 15= 768 + 31 = 7990 .2.9. ConversiGn de Hexadecimal a Binario. La conversion de hexadecimal a binario se faciita porque cada digito hexadecimal se convierte directamente en 4 digitos binarios equivaientes, Ejomplo Convertir el niimero 1FOC¢ @ binario, 1F 00,5 1111100001 100, 8.4.2.0. Conversién de Octal a Decimal. La conversién de un numero octal a decimal se obtiene multiplicando cada digito por su peso y sumande los productos: Ejempio Convertir 4780, a decimal ATBO = (4 x 8°} +(Sx8')+(8x8')*(0x8") = 2048+19246440= 230450 8.1.2.11. Conversion de Octal a Binario, La conversién de octal @ binario se facta porque cada digit octal se convierte directamente en 3 digitos binarios equivalentes. Ejempto Convertir ef ntimero 7153. binario, 715, = 1110011012 8.4.3. Operaciones Aritméticas en Binario, Los circuitos de control bésicos y los computadores efectian operaciones aritméticas. Estas operaciones se realizan en sistema binario y las leyes que las rigen, son paralelas a las, usadas en el sisteria decimal. A continuaci6n se describe cada una de las metodologias para realizar tales operaciones 8.1.3.1. Suma Binaria. La suma de dos cantidades binarias empieza con la suma de los dos digitos menos significativos de ios sumandos y un acarreo inicial de cero 6 uno (Acarreo Ci), Esta operacion puede producit un bit de acarreo (Acarreo Cay) para la suma de la siguiente posici6n significative. En la tabla 8 1.4. las entradas A, B y Gin denotan al primer sumando, el segundo sumando y el acarreo de entrade. Las salidas S y Cout representan a la suma y el acarreo de salida. [Sumando A'Sumando BAcarreo C./Acarreo C..,8uma S 0 0 0 ao 8 o o + | 0 y 0 Te eT 0 1 1 we. HITTR://uWW. ADALONSOLUGIONES. COM/RFH ACALON.REH - cuRso 2005 0 0 0 1 8 1 1 0 1 0 “4 0 14 1 OT "Tabla 8.4.4. Suma binaria Ejempio Efectuar la suma de 010110 y 101010. 11114 Acarreo Comprobacién an decimal: 010110 2 + 401010 + a 1 000000 oy La suma de 2 magnitudes binarias en representacién de complemento a 2, da como resultado fa suma binaria en complemento a2 8.1.3.2. Resta Binaria, En la resta binaria, los bits del minuendo de las columnas se modifican cuando ocurre un préstamo. En la tabla 8.1.5. las entradas A, B y By denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P representan a la diferencia y el préstamo. La tabla muestra los resultados de una resta binaria de dos bits, ‘Minuendo A'Sustraendo BPréstamo &,,Préstamo PDiferencia D oO ° 0 0 0 o7 0 r yt 4 0 1 “oO, 1 1] 0 1 1 1 oO 1 o 0 0 1 1 O 1 oO 0 4 1 o a 1 1 1 1 Tabla 6.1.5. Resta binaria Para A=0, B=0 y B,=1, hay que tomar prestado un 1 de la siguiente columna mas significativa, lo cual hace P=1 y agregar "en decimal” 2 a A. La resta 2-0-1=1, da como resutado en binario D=7, Los prestamos se propagan hacia la izquierda de columna en columna, TTR, ADALONSOLUGIONES.COM/RFH ACACON-RFH * CURSO 2005 Ejemplo Restar 1001, de 10011. Rengién 2, Tabla 1.4.1. 0- 1 = O.con un préstamo de la columna izquierda. 10 - Rengién 1, Tabla 1.4.1. 0-0 = 0 sin préstamo. Rengién 3, Tabla 1.4.1. 1- 0= Osin préstamo, 1 Renglon 4, Tabla 1.4.1. 1 - 12 0 sin oréstamo. 4 1 * préstamo 1001 - o1got o10t0 8.1.3.3, Rebasamiento. El rebasamiento se presente cuando la suma de la columna mas significativa genera un acarreo. El rebasamiento solo 88 puede producir cuando ambos nlimeros son positives o negatives, Ejempto Efectuaria suma de 8650 ¥ 41210 1 Acarreo 365 + 412 1207 1 Rebasamiento Ejempio Efectuar la suma de 110; y 110s 11 Acarreo 110 + 110 1100 1 Rebasamiento 8.1.3.4. Resta binaria en Complemento a 2. En la leccion anterior se vié que el signo de un numero positivo 6 negativo se cambia calculando su complemento a 2. La resta de dos nimeros con signo se calcula sumando el ‘complemento a2 del sustraendo al minuendo y descartando cualquier bit de acarreo final EI siguiente procedimiento os necesario para caioular la resta de dos nimeros: 4. Obtener el complemento a 2 del sustraendo, 2. Efectuar la suma del minuendo y el sustraendo en complemento a 2. HIrTP:/fyny, ADALONSOLUGIONES, COM/RFH ACALON.RFH - cURSO 2005 3. SI la suma presenta rebosamiento indica que Ie repuesta es positiva. Ignore el rebasamiento. 4, Sino hay rebosamiento, entonces la repuesta es negativa, Para obtener a magnitud del numero binario, obtenga el complemento a dos de ta suma, Ejemplo Sustraer (1010111 - 1001000); 1. E] complemento a 2 de 1001000 es 0111000. 2. Sumamos ef primer sumando y el complemento @ 2 obtenido. 444 Acarreo Comprobacion en decimal 1010117 87 + o111000 “2B 100011199 15 1 Rebasamiento (Se ignora } 3. La respuesta es 00011112 8.1.3.8, Multiplicacién Binaria. La muttiplicacién de dos cantidades binarias es necesario considerar lo siguiente: Tabla 8.16 Multiplicacién binaria La muttipicacion binaria cumple las mismas reglas de la muttiplicacion decimal, En el préximo ejemplo se ilustrara la multiplicacién binaria Ejempio Multioicar tas cantidades 1011 y 1101. As Ar Ai Ao B>_Br_ BG BoAy Bohs BoA: BoA BrAp BsAr BsAs Bic BrAs BaAs BaAs Bafa Bos BoA BuAs Bato Pr Pe Ps Pa Py Pr PL Pe 8.1.3.8. Multiplicacion con signo. ‘Se representan los operandos en complements 2 y el resultado también se obtiene en complemento 2. El sitimo multipicando desplazado se niega HITTP://voWw. ADALONSOLUGIONES.COM/RFH AGALON.RFH + cuRSO 2005 8.1.4. Representacién de Nimeros Enteros y de Punto Flotante. Los computadores deben interpretar niimeros positives y negativos. Los numeros: binarios se caracterizan por su magnitud y su signo. El signo indica si e! nimero es positive 0 negatvo y la magnitud el valor del numero. 8.1.4.1. Representacién de Nimeros Existen tres formas de representar los nlimeros binarios enteros con signo: * Signo - magnitud + Complemento a 1 + Compiemento a2. 8.1.4.1.1, Signo — Magnitud. En el sistema Signo — magritud los némeros positives y negativos tienen la misma notacién para los bits de megnitud pero se diferencian en el bit del signo. E! bit del signo es el bit situado mas a la izquierda en el numero binario: «En ntimeros positives se emplea el bit "0". jos Enteros. + Enniimeros negatives se emplea el bit "1" + Elnumero no debe estar complementaco. Ejemplo E! némero decimal 21 se exprosa en binario de 6 bits 010101, donde @! primer bit “0” denota of bit de una megnitud positiva. El numero decimal -21 se expresa an binario 110101, donde ef primer bit "1 denota af bit de una magnitud negativa, 8.1.4.1.2, Complemento a 1. El complemento a 1 en binario se obtiene cambiando los unos por ceros y los ceros por unos. La representacién de numeros positives en complemento a 1 sigue las mismas reglas del sistema signo-magnitud y la representacion de los nimeros negatives en complemento 1 es el complemento a 1 del numero positive. Ejempto EI nimero decimal 21 so exprese en complemento a 1 a 6 bits como 010101, donde el primer bit "0" denota of bit de una magnitud positiva, Er complemento 1 a 6 bits de! decimal -21, se obtiene por medio del complemento a 1 del namero positive 010101 el cual es 101010. 8.1.4.1.3. Complemento a 2. Los computadores utiizan la representacion binaria en complemento @ 2 para representar ndmeros negatives. La representacién de nimeros positives en complemento a 2 sigue las mismas regias del sistema signc-magnitud y ia representacion de los numeros negativos en complemento a 2 se obtiene de la siguiente forma ‘+ Se representa el numero decimal dado en magnitud positiva. + Elnumero de magnitud positiva se representa en forma binaria positiva. = Se obtione el complemento 1 del nimera binario obtenido en el paso anterior mediante el cambio de los unos por ceros y viceversa. * Aicomplemento 1 se le suma uno y él resultado es la representacién en el complemento 2. HITTR: (WWW. ACALONSOLUGIONES.GOM/REH AGALON.RFH > cuRSO 2005 Ejemplo Representar e! ndmero -5,. en binario, utitizando el complemento a 2 con 5 bits. 1-5 5 2. Escribimos e! nimero +5; en binario de 5 bits 0101 3. Obtenemos ef complemento a t de 0107 1010 4. Alcomplemento de ntimero anterior se la suma 1. El resultado os 1011 5. Obtenemos ef nimero 1011 en complemento a 2. Ejempto Obtener ef complemento a 2 del nimero positive de 8 bits 00000101, (+5;a). E/ equivalente en complomento a 1 @s 11111010, EI complemento a 2 de! numero es 11111011, Comprobanda los pesos en decimal se puede demostrar Ja obtencion del negativo def nimero inicial utilizando ef método det complemento a 2: IIT11091,= (128 + 64 + 32 416 +8 +04 2+ Hio=-5r0 En la representacién en complemento 2 el primer bit del lado mas significativo puede interpretarse como el signo, siendo cero para numeros positives y 1 para nimeros negativos. ‘Se puede comprobar que si a una cantidad negativa expresade en compiemento 2 se la saca ‘su complemento 2, se obtiene la magnitud positiva correspondiente. 8.1.4.1.4, Representacién en Punto Fijo y en Punto Flotante En los computadores los numeros se representan en punto fijo y en punto flotante. 8.1.4.1.4.1. Punto fijo. ‘Se usa para los ndmeros enteros con signo o fracciones con signo. En este caso las cantidades se representan en forma binaria en complemento a 16 a 2 y se pueden utilizar longitudes de 8, 16 y 32 bits. En 8 bits el rango va desde 128 hasta 127 Ei numero de combinaciones diferentes de un ntimero binario de n bits es: No total de combinaciones: 2. En los numeros con signo e complemento a 2, el rango de valores para numeros de n bits: Oma ray Enteros con signo: Los enteros de punto fijo usan un punto binario @ la derecha del LSB. Ejemplo EI nimero de punto fijo de 8 bits 01110101 en complemento a 2, por tener un O en el bit de signo representa: El nimero entero positive 1110101 6a fraccion positiva 0.111010 Fracciones de punto fijo Las fracciones de punto fijo usan el punto binario entre el bit de signo y el MSB. Ejemplo El ndmero de punto fijo de & bits 11001111 en complemento a 2, por tener un 1 en el bit de signo representa HETRt/AWWiy. AGALONGOLUSIONES.caM/RFH ACALON.RFH + cURSS 2005 EI numero entero negative -0110001 6 la fraccién negativa -0. 0110001 4.4.4.2. Punto flotante. EI punto flotante se utiliza para representar niimeros no enteros, niimeros muy grandes o.ndmeros muy pequetios. Un numero en punto flotante se expresa como me Donde, ‘mes la mantisa y es un nimero de punto fio © 6s el exponente 0 caracteristica y es un entero de punto fjo res la base. En los computadores personales se usa base 2 La mantisa representa le magnitud del numero. Ei exponente es le parte que representa el numero de lugates @ despiazar ei punto decimal o binarro. Si tenemos un numero de punto fjo de la forma £ (On oes Beh en forma de punto fiotante serd de la forma £(.dg1 dm) x1", la base generalmente se omite, Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fracoi6n M= (Sm - Bt --- Ban) Donde, Sm indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y « @nt ... &n representa la magnitud Un namero de punto flotante esta normalizado si el exponente se ajusta de modo que lq mantisa tenga un valor distinto de cero en la posicion mas significativa Ejempio EI niimero +1010.0111 en representacién normalizada en punto flotante da como resultado (0.10100111) x 2° El estandar ANSVIEEE 754-1985 define tres formatos para los ndmeros de punto flotante: # Precisién sencilla: Utilize 32 bits. + Doble precision: Utiliza 64 bits + Precision ampliada: Utiiza 80 bits, Ejempio Un formato a 82 bits es e! siguiente, El exponente desplazado se obtiene adiionando 127 al exponente real y convirliéndolo al binario correspondiente — ee HETTRI/AnWW, AGALONEOLUCIONES.COM/REH ACALON.REH » cuRsa 2005 8.2. Arquitectura de los computadores. La estructura de un ordenador, atendiendo a sus unidades funcionales (siguiendo el esquema de Von Neumann) estaria formado por: unidades de entrada, unidades de salida, memoria, unidad de control y unidad aritmetice-logica ‘Aqui se estudiaré la composicion y funcionamiento de las unidades no periéricas del ‘ordenador: la Unidad Central de Proceso (CPU), compuesta por la Unidad Aritmético-Logica (ALU) y la Unidad de Control (UC), y la memoria principal. Se aborda también el estudio de la interconexion de las distintas unidades a través del bus. 8.2.4, Microprocesador. El chip més importante de cualquier placa madre es el microprocesador © simplemente procesado. Sin él, un ordenador no podria funcionar. A menudo a esta componente se la denomina CPU (Central Processing Unit Unidad de procesamiento central), que describe a la perfeccion su papel dentro del sistema. El procesador es realmente el elemento central det proceso de tratamiento de dates. Le CPU gestiona cada paso en el proceso de los datos. Acttia como el conductor y el supervisor de los componentes de hardware del sistema, Asimismo estd unida, directa o indirectamente, con todos los demas componentes de la placa principal. Por lo tanto, muchos grupos de componentes reciben érdenes y son activados de forma directa por la CPU. El procesador esté equipado con buses de direcciones, de datos y de control, que le permiten llevar a cabo sus tareas, Estos sistemas de buses varian dependiendo de la categoria del procesador. 8.2.1.1. Unidad central de proceso (cpu). La CPU (Central Processing Unit) es la unidad que realiza las operaciones mas importantes, ademas de sincronizar 1 funcionamiento del resto de unidades. Sus elementos principales son ta unidad aritmético-logica y la unidad de control, tro elemento importante dentro de la CPU son los REGISTROS, que son elementos de memoria utlizados para almacenar temporalmente los datos que necesita la CPU para realizar la operacion que esté llevando a cabo. Asi por ejemplo, cuando la ALU realiza una suma, ésta se efectia entre dos datos que la Unidad de Control na hecho elmacenar ‘Temporalmente en dos registros, y el resultado de la operacién se almacenaré a su vez en otro registro. El tamatio de los registros de fa CPU suele coincidir con el tamatio de la palabra de memoria, de forma que cualquier dato almacenado en un registro pueda pasar a la memoria y viceversa 8.2.4.2. Unidad Aritmético-L6gica (Unidad de Procesamiento}. La ALU (Arithmetic & Logic Unit) es la unidad encargada de realizar las operaciones ‘elementales de tipo aritmético (sumas. restas, multipicaciones, etc.) y ldgico (comparaciones, operaciones sobre el élgebra de Boole: NOT, AND, OR, etc.). Pare comunicarse con las otras unidades utiliza el bus de datos. Los elementos basicos que componen la ALU son: HITTR://WwW.ACALONSOLUGIONES.cOM/REM ADALON-RFH - QURSD 2005 ‘+ Circuito operacional (COP): Gontiene los circuitos necesarios para la realizacion de las operaciones con los datos procedentes del Registro de Entrada. También acepta como entrada, érdenes para seleccionar el tipo de operacién que debe realizar. + Registro de Entrada (RE): Contiene los datos u operandos que intervienen en una instruccion antes de que se realice la operacion por parte de] COP. También se emplea como aimacenamiento de resultados intermedios o finales de las operaciones. ‘+ Registro de Estado (RS): Contiene un conjunto de biestables (indicadores) en los que se deja constancia de condiciones que se dieron en la sitima operacion realizada y que habran de ser tenidas en cuenta en operaciones posteriores (indicadores de signo, de cero, de desbordamiento...). Al RS también se le conoce can el nombre de palabra de estado. + Registro Acumulador (RA): Almacena los resultados de las operaciones realizadas por el COP. Esté conectado con los RE para realimentacion en el caso de operaciones encadenadas. También tiene una conexién directa con el bus de datos para envio de resultados a ia memoria principal o a la UC. 8.2.1.3. Funcionamiento. La unidad central de proceso (CPU), procesador © microprocesador, es el verdadero cerebro del ordenador. Su misién consiste en controlar y coordinar todas las operaciones del sistema. Pera ello extrae, una a una, las instrucciones del programa que esta en la memoria central del ordenador (memoria RAM), las analiza y emite érdenes necesarias pera su completa realizacion, De una forma global podemos considerar al microprocesador dividido en tres grandes bloques: Unidad de decodificacion: Se encarga de codificar Ia instruocion que se va a ejecutar. Es decir, saber qué instruccién es, Cuando el microprocesador lee de memoria una instruccién, el codigo de esa instruccién te lega a esta unidad. Esta unidad se encarga de interpretar ese ebdigo para averiguar el tipo de instruccién a realizar. Por ejemplo, instrucciones de suma, multiplicacién, almacenamiento de datos Unidad de ejecucién: Una vez que la unided de decodificacién sabe cial es el significado de la instruccién lelda de memoria, se lo comunica a la unidad de ejecucion, Esta unidad sera la encargada de consumar Ia ejecucién y para ello activara las sefiales necesarias y en un orden determinado. Es decir, es la encargada de dar las Ordenes necesarias 3 las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. Unidad aritmético-I6giea (ALU) Le ALU (Aritmethid Logia Unit) es el blogue funcional del microprocesador encargado de realizar todas aquelias operaciones mateméticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicacion, division y aquellas que trabajan con digitos binarios (10 que se conoce como operaciones logicas: AND, OR, NOT, NAND, OR, XORetc). En suma, saber cOmo funciona un microprocesador, implica conocer como se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instruecion son’ HTTP //WWW.ACALONSBLUBIONES.COM/RFH ACALON.RFH = curso 2005 Busqueda de la instruccién > Decodificacion de la instuccion — Busqueda de ‘operandas — Ejecucién de la instruccién —+ Almacenamiento de resultados 8.2.1.4. Instrucciones. En funci6n del tipo de microprocesador, coneretamente si es mas avanzado 0 no, podra entender y ejecutar mas o menos instrucciones. Las instrucciones se clasifican segtin su funcion en: Instrucciones de tranferencia de datos: Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros intemos del microprocesador, y viceversa, También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no s6lo un dato, sino un ‘conjunto de hasta 64 KBytes, con una sola instruccion. Instrucciones de célculo: Son instrucciones destinadas a ejecuter ciertas ‘operaciones aritmética, como por ejemplo sumar, restar, multiplicar © dividit, © ciertas ‘operaciones légicas, como por ejemplo AND, OR asi como desplazamiento y rotacion de bits, Instrucciones de transferencia de control del programa: Permiten romper la seouencia lineal del programa y saitar a otro punto del mismo, Pueden equivaler a la instrucci6n GOTO que traen muchos lenguajes de programacién. Instrucciones de control: Son instrucciones especiales 0 de control que actian sobre el propio microprocesador. Permiten acceder @ diversas funciones, como por ejemplo activar 0 desactivar las interrupciones, pasar ordenes al coprocesador matematico, detener Ja actividad del microprocesador hasta que se produzca una interrupcion.etc Précticamente todas las instrucciones estan formadas por dos elementos: Codigo de operacién que indica el tipo de operacién que se vaa realizar ‘Operandos, que son los datos sobre los que actia Existen Instrucciones que sélo tienen un operando 0 incluso ninguno, estando formadas solo por el cbdigo de operacion, Ejecucion de las instrucciones: Para que un programa pueda ser ejecutado por un ordenador, ha de ser almacenado en la memoria central (memoria RAM). El mictoprocesador tomara une @ una las instrucciones que lo componen e iré realizando las tareas correspondientes. Se denomina cielo de instruccién al conjunto de acciones que se llevan a cabo en la realizacion de una instruccién. Se compone de dos fases: Fase de busqueda: En esta fase se transfiere ia instruccién que se va a ejecutar desde la memoria central a'a unidad de contro. Fase de ejecuci6n: Consiste en la realzacién de todas las acciones que contleva la propia instruccion HITTeH//Www. ADALONEOLUGIONES.COM/REH ACALON.RFH - cURSO 2D05 8.2.1.5. tecnologias CISC y RISC. Una forma de clasificar los microprocesadores es en funcién de las instrucciones que ‘son capaces de ejecutar. Poderos encontrar dos tipos: CISC (Complex Instructions Set Computer), Ordenador con un conjunto de instrucciones complejo. RISC (Reduced Instructions Set Computer), Ordenador con un conjunto de instruceiones reducido. ‘Si un microprocesador entiende y ejecuta muchas instrucciones (oientos de ellas), se trata entonces de un microprocesador CISC. En cambio, si el microprocesador entiende y ejecuta muy pocas instrucciones (decenas de ellas). se trata entonces de un microprocesador Ris Un micto CISC tarda mucho tiempo en ejecutar cada una de las instrucciones. En cambio, un micro RISC, como solo entiende unas cuantas, su diseffo interno le permite ejecutarlas en muy poco tiempo, y @ una gran velocidad, mucho mas répido que un micro csic. ‘Cuando se desee que un microprocesador RISC ejecute cierta instruccién que no entiende, ésta se descompondria en varias instrucciones de las sencillas que si entiende. AGn asi, es capaz de operar mucho mas rapido que el micro CSIC. Practicamente todos ios microprocesadores que se utlizan en los ordenadores personales son de tecnologia CSIC, poco a poco, van abandonando esta tecnologia y la sustituyen por tecnologia RISC 8.2.2. Unidad de Control. La UC se encarga de administrar todos los recursos de la computadora y dirigir todas las sus actividades controlando cada elemento y cada accion, y estableciendo la comunicacion entre la ALU, la memoria principal y el resto de componentes. La UC dire fa informacion a las distintas unidades en e! momento adacuado mientras el procesador ejecuta cada una de las, instrucciones de un programa. De forma més especifice, las funciones de la UC son: + Controtar la secuencia en que se ejecutan las instrucciones ‘© Controlar el acceso del procesador (CPU) 2 fa MP ‘© Regular las temporizaciones de todas las operaciones que ejecuta la CPU «Enviar sefiales de control y recibir sefiales de estado del resto de las unidades Le UC detecta las seftales eléctricas de estado (mediante o! Bus de Control) procedente de Jos distintos médulos de! ordenador, que le indican el estado, situacion 0 condicion de funcionamiento de cada médulo. Capta de la memoria las instrucciones del programa y. de acuerdo con el cédigo de operacién de la instruccién en curso y con las sefiales de estado, genera las sefiales de control necesarias para que les distintas unidades se pongan a funcionar para permitir la ejecucion de la instruccion. La Unidad de control dispone de fos siguientes elementos para realizar sus funciones: + Contador de Programa (CP): Contiene en cada momento la direccién de memoria donde se encuentra la instruccion siguiente a ejecutar. Al iniciar la ejecucién de un programa toma HTTRL/ivnv, AGALONSOLUCIONES.2OM/REH ACALON.RFH - cuRso 2005 le direccién de su primera instrucci6n. Incrementa su valor en uno automaticamente cada vez que acaba una instruccién, salvo que ésta sea de salto o de ruptura + Registro de Instruccién (RI): Dedicado a memorizar temporalmente la instruccién que la UC esta interpretando 0 ejecutando en ese momento. El programa que se esta ejecutando reside en MP y la UG va buscando y captando las instrucciones secuencialmente, para interpretarlas y generar las érdenes de ejecucién. La captacién de una instruccién implica leerla de la memoria y almacenarla en el registro de instruccién, La instruccién que se esta ejecutando leva consigo un cédigo de operacién (CO) y unos operandes o la direccion de los mismos. + Decodificador (0): Es el que interpreta realmente la instruccion, Se encarga de extraer | CO de Ia instrucci6n en curso, lo analiza y emite les sefiales necesarias al resto de ‘elementos para su ejecucién a través del secuenciador. + Reloj (R): Proporciona una sucesion de impuisos eléctricos 0 ciclos @ intervalos constantes, que marcan los instantes en que han de comenzar los pasos de que consta cada instruccion, De esta forma, se sincronizan todas las operaciones elementales de la computadora. La frecuencia de este reloj, medida en Megatlercios - Mhz - es un pardmetro que determina en gran medida la velocidad de funcionamiento de la computadora, + Secuenciador (S): En este dispositive se generen érdenes muy elementales (microerdenes) que sincronizadas por el reloj hacen que se vaya ejecutando poco @ poco la instruccién que esta cargade en ei registro de instruccion, memoria RAM y ROM 2Qué es la memoria RAM? Es la memoria de acceso aleatorio (Random Access Memory). Se llama de acceso aleatorio porque ei procesador accede a la informacién que esta en la memoria en cualquier punto sin tener que acceder @ la informacion anterior y posterior. Es la memoria que se actualiza constantemente mientras el ordenador esta en uso y que pierde sus datos cuando el ordenador se apaga, es conde el ordenador guarda los datos que esté utilizando en el momento presente. La ciferencie entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes 0 discos dures, es que la RAM es mucho mas répida, y que se borra al apagar el ordenador, no come éstos. DRAM: Dinamic-RAM, 0 RAM a secas, ya que es “ta original’, y por tanto fa més lenta Usada hasta la época de! 366, su velocidad de refresco tipica es de 80 6 70 nanosegundos (ns), liompo éste que tarda en vaciarse para poder dar entrada @ la siguiente serie de datos. Por ello, la més répida es la de 70ns. Fisicamente aparece en forma de DIMMs o de SIMMS, siendo estos ukimos de 30 contactos, Fast Page (FPM): a veces llamada DRAM, puesto que evoluciona diractamente de ella, y se usa desde hace tanto que pocas veces se la diferencia, Algo més rapide tanto por su MITRS/WWW. APALONEOLUGIONES.2OM/RFH AGALON.RFH + CURSO 2005 estructura (el modo de Pagina Répida) como por ser de 70 6 60 ns. Es lo que se da en lamar la RAM normal o esténdar. Usada hasta los prmeros Pentium, fisicamente aparece como SIMMs de 30 6 72 contactos (los de 72 en los Pentium y algunos 486). EDO: o EDO-RAM, Extended Data Output-RAM, Evoluciona de Ia Fast Page; permite empezar a introducir nuevos datos mientras los anteriores estan saliendo (haciendo su Output), lo que la hace algo mas rapida (un 5%, mas o menos) Es el actual esténdar, con refrescos de 70, 60 6 50 ns, Se instala sobre todo en SIMMs de 72 contactos, aunque existen en forma de Simms de 168. SDRAM: Sincronic_ RAM. Funciona de manera sincronizada con la velocidad de la placa (de 50 ‘4.66 MHz), para lo que debe ser rapidisima, de unos 25 a 10 ns. Sdlo se presenta en forma de SIMMs de 168 contactos: 5 la opcion para los nuevos ordenadores. 8.2.3.2.4, SIMMS y DIMMs Se trata de Ia forma en que se juntan los chips de memoria, de! tipo que sean, para conectarse a la placa base del ordenador. Son unas plaquitas alargadas con conectores en un extremos; al conjunto se le Hama médulo, El numero de conectores depende del bus de datos del microprocesador. SIMMS: Single Inine Memory Module, con 30 6 72 contactos. Los de 30 contactos pueden manejar 8 bits cada vez, por lo que en un 386 6 486, que tienen un bus de datos de 32 bits, necesitamos usarlos de 4 en 4 médulos iguales. Los SIMMSs de 72 contactos, més modemos, manejan 32 bits, por Io que se usan de 1 en 1 en los 486; en los Pentium haria de 2 en 2 médulos {iguales), porque el bus de datos de los Pentium es el doble de grande (64 bits) DIMMs: Double in-line Memory Module, Puede manejar 64 bits de una vez, por Io que pueden usarse de uno en uno en los Pentium o Pentium Il. Existen para voltajes estandar (5 voltios) © reducido (3.3 voltios), Y podriamos afiadir los médulos SIP, que eran parecidos a los SIMM pero con fragiles palitas soldadas y que no se usan desde hace bastantes afios, 0 cuando toda o parte de la memoria viene soldada en la placa (caso de algunos ordenadores de marca). 8.2.3.2.2. Otros tipos de RAM BEDO (Burst-EDO): una evolucion de la EDO, que envia ciertos datos en “réfagas” Poco extendida, compite con la SDRAM. Memorias con Paridad: consiste en afatir a cualquiera de los tipos anteriores un chip {que realiza una operacién con los datos cuando entran en el chip y otre cuando salen. Si el resuitado ha variado, se ha producida un error y los datos no son fiables, Dicho asi; parece una ventaja; sin embargo, el ordenador solo avisa de que él error se ha producido, no lo corrige. Es mas, estos errores son tan improbables que fa mayor parte de Jos chips no los sufren jamas aunque estén funcionando durante afios: por ello, hace afios que todas las memorias se fabrican sin paridad HrTR:/iWW. AGALONSOLUBIONES.cOM/RFH AGALON.RFH - curso 2005 ECC: memoria con correccién de errores. Puede ser de cualquier tipo, aunque sobre todo EDO-ECC o SDRAM-ECC. Detecta errores de datos y los corrige; para aplicaciones criticas. Usada en servidores mainframes. Memorias de Video: para tarjetas graficas. De menor a mayor rendimiento, pueden ser DRAM > FPM -> EDO > VRAM-> WRAM > SGRAM. 8.2.3.3, Memoria ROM Las siglas de la memoria ROM corresponden con el siguiente significado: Read Only Memory (memoria de solo lectura). Es una memoria que se graba en el proceso de fabricacion ‘con una informacion que esté ahi para siempre. No podemos escribir en ella pera podemas leer cada posicion la veces que queramos. Se trata de la memoria intema de la maquina, que el procesador lee para averiguar el qué, el cuando y el cémo de una muittud de tareas diferentes; por ejemplo: lee les diversas instrucciones binarias que se necesitan cada vez que se teclea un caracter por el teclado, 0 cada vez que se tiene que presentar algo en pantalla En la ROM esta almacenado también el programa interno que nos ofrece [a posibilidad de hablar con el ordenador en un lenguaje muy similar al inglés sin tener que romperos ta cabeza con el lenguaje de maquina (binario). Todas estas cosas suman tanta informacion que es muy probable que la memoria ROM de un ordenador tenga una capacidad de 8K a 16K, un numero suficientemente grande para que este justificado asombrarse ante la cantidad de informacion necesaria para llenar tal ‘cantidad de posiciones La memoria ROM presenta algunas variaciones: las memorias PROM EPROM y EEPROM. Para el caso de que nos encontremos con las siglas PROM basta decir que es un tipo de memoria ROM que se puede programar mediante un proceso especial, posteriormente a la fabricacion. PROM viene de PROGRAMABLE READ ONLY MEMORY (memoria programable de solo tectura) Es un dispositive de almacenamiento solo de lectura que se puede reprogramar después de su manufactura por medio de equipo extemo . Los PROM son generalmente pastillas de circuits integrados. La memoria EPROM (la E viene de ERASABLE -borrable-) es una ROM que se puede borrar foiaimente y luego reprogramerse, aunque en condiciones limitadas. Las EPROM son mucho mas econémicas que las PROM porque pueden reutiizarse. ‘Aun mejores que 'as EPROM son las EEPROM ( EPROM eléctricamente borrables) también liamadas EAROM (ROM eléctricamente altetables), que pueden borrarse mediante impulsos eléctricos, sin necesidad de que las introduzcan en un receptacuio especial pare exponerlos a luz ultravioleta. HTTP://WWW. AGALONSOLUGIONES. COM/RFH AGALON.RFH - cuRsa 2005 Las ROM difieren de las memorias RAM en que el tiempo necesario para grabar 0 borrar un byte es cientos de veces mayor, @ pesar de que los tiempos de lectura son muy similares. 8.2.3.4, Diferencias ontre la memoria RAM y la memoria ROM La principal diferencia de las memonas RAM respecto de las memorias ROM es que en las memorias RAM se pueden escribir tantas veces como uno quiera, en cambio con la memoria ROM no se pueden realizar escrituras sucesivas excepto en un tipo muy especifica de memorias que son las EEPROM, ain asi, para realizar escrituras necesitames unos aparatos especiales. Olra gran diferencia de las memorias RAM y ROM es que fas memorias RAM son volatiles, es decir, cuando apagamos el equipo toda fa informacion que habla aimacenada en su interior se pierde. En cambio con las memorias ROM aunque apaguemos el equipo ios datos que hay en su interior permaneceran intectos, por tanto las memorias ROM pertenecen al grupo de las memorias no volatiles, 8.2.4, Memoria CACHE Una seccion reservada de la memoria que se utiliza pare mejorar el rendimiento. Un caché de disco ¢s una porcion reservada de Ja memoria normal, © memorias adicionales en la tarjeta controladora del disco. Cuando el disco es leido, se copia un gran bloque de datos en el caché. Si ios requerimientos de datos subsiguientes pueden ser satistecho por el caché, no se necesta el empleo de un acceso a disco que es mas lento, Si el caché es utlizado para escritura, los datos se alineen en memoria y se graban en el disco en bloques més grandes Los caches de memoria son bancos de memoria de alta velocidad entre la memoria rrormal y la CPU. Los bioques de instrucciones y datos se copian an el caché, y la ejecucion de fae instrucciones y la actualizacién de los datos es llevade a cabo en la memoria de alta velocidad Es una memoria muy rapida llamada SRAM (RAM estatica). Dicha memoria s6lo se usa ‘como caché debido a que su fabricacion es muy cara y se empiea en médulos de poca capacidad como 256 6 512 Kb. capacidad, aunque evidentemente dispone de un acceso mucho mas rapido por parte de la CPU. Hemos de aistinguir entre la memoria principal, la memoria caché, y la memoria de Video. La primera se emplea para poder ejecutar mayores y més programas al mismo tlempo, la segunda para acelerer los procesos de la C.P.U, y la tercera nos permite visualizar modos de ‘mayor resolucion y con més colores en el monitor. asi coro almacenar mas texturas en tarjetas 3D, ao ee HTTP://WWW. ACALONSOLUCIONES.COM/RFH ACALON.RFH = cuRSa 2005 8.3. Distintas estructuras en sistemas operatives. 8.3.1. Sistemas monoliticos. No hay una estructura definida. Son sistemas simples. El sistema operative se compone de una serie de procedimientos que se encuentran al mismo nivel cada uno de los cules puede llamar a cualquier otro, En cierto momento el programa de usuario hace una liamada al nucleo del sistema ‘operative, cuando se va a hacer la llamada se efecuta fa instruccion ‘TRAP’, que cambia la maquina de modo usuario a modo privilegiado. transfiriendo el contol al sistema operative (en ‘este modo privilegiado se pueden ejecutar todo tipo de instrucciones, en modo usuario algunas instrucciones no se pueden realizar, como por ejemplo las de ES). En ese instante el sistema operativo examina la llamada al sistema y mira cual es el procedimiento de servicio requerido, se busca en la tabla ese procedimiento de servicio, y tras ejecutario se devuelve el control al programa de usuario. Asi pues, en este esquema tenemos un procedimiento principal, que llama a los procedimientos de servicio solictados por el servicio, éstos, a su vez, pueden lamar a procedimientos auxiiares para ejecutar diversas operaciones. Por tanto, un sistema operativo monolitco se estructura en tres niveles: procedimiento principal, de servicio y auxilares. EIMSIDOS es de este estilo, pero no tiene proteccién de hardware (no tiene modo privlegiado, por lo que el usuario puede hacer lo que quiera) 8.3.2. Sistemas nivelados. Existen varios niveles jerarquizados. Por ejemplo, el sistema operative {HE (1968) tne 6 niveles: El operador (5), programas de usuario (4), gestion de E/S (3), comunicacién entre operador y procesos (2), gesti¢n de memoria principal y secundaria (1) y asignacién del procesador y multiprogramacién (0) Los niveles no se tienen que preocupar de los niveles inferiores. Por ejemplo, el nivel cuatro no se tiene que preocupar de la E/S, de la comunicacién con la consola del operador, etc... El nivel cinco es parecido al intérprete de comandos. Con este sistema operative no existe proteccion de un nivel a otro. Otro ejemplo es el sistema MULTICS en ol que existe una especie de proteccién de niveles: el acceso a un nivel inferior desde uno superior se realiza a través de una interrupcion software tipo ‘TRAP. .3. Maquinas virtuales. Un sistema operativo (0 un sistema en tiempo compartide) debia ofrecer dos tipos de servicios, gestionar la multiprogramacién y presentar una maquina virtual més facil de utilizar por el usuario, Un sistema operativo en maquina virtual separa los dos tipos de servicios mencionados. Esto se aplic6, por ejemplo, en la maquina 370 de IBM: el monitor de la maquina virtual es e! VM/370 y se elecuta sobre el hardware de |a 370, el VM/370 es como si dividiera la maquina en varias, cada una con sus propios recursos. Cada una de ellas es un sistema HerTRt/AWww. AGALONEOLUSIONES .COM/RFH ACALON.RFH - CURSO 2005 monoprogramable (un solo programa). Es el VM (Virtual Machine) quien gestiona la muttiprogramacion Cuando un usuario quiere hacer algo Io recibe el CMS (Conversational Monitor System). y luego el VM es el que lo gestona todo. EI CMS acta sobre el VM, no sobre el hardware. Este ha sido el esquema general de les méquinas virtuales. El VM intenta que las maquinas virtuales sean iguales @ la maquina real, O sea, intenta que parezca que cada usuario tenga sus propios recursos (disco, etc.), aunque sea ei mismo para todos, Cada usuario puede tener su propio sistema operative. Este esquema no tuvo mucho éxito ya que es dificil de implementar 8.3.4, Modelo cliente-servidor. Es un modelo esténdar para las comunicaciones de red. Ahora, Ia maquina tendra un niiclee que se encarga de gestionar el hardware y comunicar los procesos clientes y servidores Esto tiene la ventaja de que es muy simple adaptar este esquema a un sistema distribuido, El cliente no tiene por que saber si el servidor esta en su misma maquina o no, En este modelo un servidor no es mas que un proceso que espera a recibir una petici6n del proceso cliente, El aso tipico de funcionamiento es: +. Se comienza et proceso servidor. 2. El servidor espera a un proceso cliente mientras “duerme”, 3. Se comienza un proceso cliente, en el mismo sistema del proceso servidor 0 en otro, 4. Elcliente manda su peticién al servidor (ejemplo: pedir la hora, leer o escribir en un fichero sito en la méquina de! servidor, ejecutar un comando en la maquina del servidor, imprimir ‘algo, escribir algo en la pantalla dei servidor, etc) 5. El servidor “despierta’, hace lo que se le ha pedido, y luego vuelve a ia ‘cama’. Normaimente es e! sistema operativo el que despierta al servidor. Hay dos tipos de servidores: + Iterativos: Esto ocurre si a peticion del cliente se puede ejecutar en un tiempo corto y conocido. E! propio proceso servidor gestiona la peticién del cliente; cuando termina, gestiona la peticion de otro cliente, etc, Ejemplo: los servidores de la hora, + Conourrentes: Esto ocurre si la peticion requiere un tiempo para resolverla que depende de la peticion en si, y no se sabe cuanto tiempo se puede tardar (ejemplo: leer o escribir ficheros depende de la longitud del fichero). En este caso, los servidores, al llegar Ia peticion, crean un uevo proceso que es el que realmente gestiona la peticién del cliente, mientras que el servidor espera una nueva peticion. Si llega otra, vuelve a crear otro proceso, y asi Sucesivamente (por eso son concutfentes, pues no hace falta esperar a que acabe el primer proceso creado). HTTRW (WWW AGALONSOLUGIDNES.CoM/REH ACALON.RFH - URS 2005 En un momenta dado puede haber varios procesos ejecuténdose concurrentemente en la misma maquina dando servicio a distintos clientes. Esto no ocurre en los procesos iterativos. Se utiizan para leer 0 escribir fcheros. HITTR/WWW. ABALONE OLUSIONES, COM/RFH AGALON.RFH + ouRSG 2005 8.4. Categorias de Sistemas Operativos. 8.4.1, Multitarea, El termino multtarea se refiere a la capacidad del SO para correr mas de un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas operatives utlizan para desarrollar SO multtitarea, el primero requiere de la cooperacién entre el SO y los programas de aplicacién Los programas son escritos de tal manera que periédicamente inspeccionan con el SO para ver si cualquier otro programa necesita a la CPU, si este es el caso, entonces dejan el control de! CPU al siguiente programa, a este método se le llama multitarea cooperativa y es el ‘método utlizado por el SO de las computadoras de Macintosh y DOS corriendo Windows de Microsoft. El segundo método es él llamada multtarea con asignacién de prioridades. Con este esquema el SO mantiene una lista de procesos (programas) que estan corriendo. Cuando se inicia cada proceso en fa lista el SO le asigna una prioridad. En cualquier momento el SO puede intervenir y modificar la prioridad de un proceso organizando en forma efectiva a lista de prioridad, ef SO también mantiene e! control de Ia cantidad de tiempo que utiliza con cualquier proceso antes de ir al siguiente, Con mulfitarea de asignacién de prioridades e! SO puede sustituir en cualquier momento el proceso que esta corriendo y reasignar el tiempo a una tarea de mas prioridad, Unix OS-2 y Windows NT emplean este tipo de muttitarea 8.4.2, Multiusuario Un SO multiusuario permite @ mas de un solo usuario acceder a una computadora, Claro que, para ‘levarse esto a cabo, el SO también debe ser capaz de efectuar mulitareas. Unix es el Sistema Operativo Muitusuario mas utlizado. Debido a que Unix fue originalmente disefiado para corer en una minicomputadora, era muttiusuario y multitarea desde su concepcion Actualmente se producen versiones de Unix para PC tales como The Santa Cruz Corporation Microport, Esix, IBMy Sunsoft. Apple también produce una versién de Unix para le Macintosh llamada: AUX Unix Unix proporciona tres maneras de permitir a multiples personas utilizar la misma PC al mismo tiempo: Mediante Médems, mediante conexion de ierminales a través de puertos seriales y mediante Redes. 8.4.3. Multiproceso Las computadoras que tienen més de una GPU son llamadas muttiproceso. Un sistema operative muttiproceso coordina las operaciones de las computadoras multiprocesadoras. Ya ‘que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucci6n, el ‘otro procesador queda liberado para procesar otras instrucciones simultaneamente, a es HTTR:/iWWW APALONGOLUBIONES.COM/RFH ACALON.RFH - CURSO ZOD ‘Al usar una computadore con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos, Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operatives Multiproceso realizaban lo que se conoce como: ‘Multiproceso asimétrico: Una CPU principal retiene el control global de ia computadora, asi como el de 10s otros procesadores, Esto fue un primer paso hacia el multiproceso pero no fue la direccién ideal a seguir ya que la CPU principal podia convertrse en un cuello de botella Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora Unica. La barrera a vencer al implementar el muttiproceso simétrico es que los SO tienen que ser rediseftados © diselados desde e! principio para trabajar en un ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya estén disponibles y las extensiones simétricas se estén haciendo disponibies. Windows NT de Microsoft soporta multiproceso simético. HTTP: /IWwww, AGALONGOLUSIONES.COM/RFH ACALON.RFH + puRSO 2005 8.8. Lista de los sistemas operativos més comunes. MS-DOS: Es e! mas comin y popular de todos los Sistemas Operatives para PC. La razon de su continua popularidad se debe al aplastante volumen de software disponible y @ la base instalade de computadoras con procesador Intel Cuando Intel liberé el 80288, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayorla de! mercado de software para PC, En aquel tiempo, la compatibiidad 18M, fue una necesidad para que los productos tuvieran éxito, y la “compatibilidad IBM" significaba computadores que corrieran DOS tan bien como las computadoras IBM lo hacian (05/2: Después de la introduccién dei procesador Intel 80286, IBM y Microsoft reconocieron la necesidad de tomar ventaja de las capacidades mutttarea de esta CPU, Se unieron para desarrollar 6! 05/2, un moderno SO mutttarea para los microprocesadores Intel. Sin embargo, la sociedad no duré mucho. Las diferencias en opiniones técnicas y la percepcion de IBM al ver 1a Windows como una amenaza para el OS/2 causé una desavenencia entre las Compafiias que al final las lavé a ta disolucién de la sociedad. IBM continué el desarrallo y promocién del OS/2. Es un sistema operative de mulitarea para un solo usuario que requiere un rmicroprocesador Inte! 286 0 mejor. Ademds de ‘a multitarea, Ia gran ventaja de la plataforma 08/2 es que permite manejar directamente hasta 16 MB de la RAM (en comparaci6n con 1 MB fen el caso del MS-DOS ). Por otra parte, el OS/2 es un entorne muy complejo que requiere hasta 4 MB de ia RAM. Los usuarios del OS/2 interactuan con el sistema mediante una interfaz gréfica para usuario lemada Administrador de presentaciones. A pesar de que el OSI2 rompe {a barrera de 1 MB del MS-DOS, Ie llevo tiempo volverse popular. Los vendedores de software ‘se muestran renuentes a destinar recursos a la creacién de un software con base en el OS/2 para un mercado dorinado por el MS-DOS. Los usuarios no cambian al OS/2 debido a la falta dde software que funcione en la plataforma del OSI2 y a que muchos tendrian que mejorar fa cconfiguracion de su PC para que opere con el OSI2, UNIX: Unix es un SO multiusuario y multtarea, que corre en diferentes computadoras, desde ‘supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Es un sistema operative que fue creado a principios de los setentas por los cientificos ‘en los laboratorios Bell. Fue especificamente disefiado para proveer una manera de manejar cientifica y especializadamente las aplicaciones computacionales. Este SO se adapto a los sistemas de computo personales asi que esta aceptacién reciente lo convierte en un sistema Popular. Unix es mas antiguo que todos los demas SO de PC y de muchas maneras sirvio ‘como modelo para éstos. Aun cuando es un SO extremadamente sdlido y capaz, la linea de comandos Unix, no es apta para cardiacos, debido a que ofrece demasiados comandos. SISTEMA OPERATIVO DE MACINTOSH: La Macintosh es una maquina netamente grAtica De hecho, no existe una interfaz de linea de comando equivalente para ésta. Su estrecha HerTe://WWW.ACALONEOLUDIGNES.COM/RFH ACALON.AFH = CURSO 2005 integracion de SO, GUI y Area de trabajo ta hacen la favorita de la gente que no quiere saber nada de interfaces de tinee de comando Las capacidades graficas de la Macintosh hicieron de esa maquina la primera precursora en los campos gréfics computarizados como la autoedicion por computadora. Le familia de microcomputadoras de Apple Macintosh y su sistema operativo define otra plataforma importante. Les PC de Macintosh, que se basan en la familia de microprocesadores de Motorola, usan la arquitectura de Bus de 32 bits. La plataforma para Macintosh inciuye muchas capacidades sotisticadas que comprende la mutitarea, una GUI, ta memoria virtual y la capacidad para emular la plataforma MS-DOS. Las PC de Macintosh también tiene la capacidad integrada de compartir archivos y comunicarse con o tras PC de Macintosh en una red WINDOWS NT DE MICROSOFT: Con Windows NT, Microsoft ha expresado su dedicacion a escribir software no sélo para PC de escritorio sino también para poderosas estaciones de trabajo y servidores de red y bases de datos. Microsoft Windows NT no es necesariamente un sustituto de DOS ni una nueva version de éste, es, en conjunto, un nuevo SO disefiade desde ‘sus bases pare las maquinas mas modemas y capaces disponibles. Windows NT de Microsoft ofrece caracteristicas interconstruidas que ningun otro SO pare PC ofrece, con excepcién de Unix. Ademas de las caracteristicas tradicionales de estricta seguridad de sistema, red interconstruida, servicios de comunicacién y correo electronico interconstruidas, herramientas de administracion y desarrollo de sistema y una GUI, Windows NT puede correr cirectamente aplicaciones de Windows de Microsoft y de Unix. ‘Windows NT, al igual que el OS/2 y algunas versiones de Unix, es un SO de 32 bits, que puede hacer completo uso de fos procesadores de estas caracteristicas. Ademds de ser mutttarea, esta disefiado para tomar ventaja del multiproceso simético. HITTR:/WWW.AGALDNSOLUSIONES. COM/RFH ACALON.REH - CURSO 2005 8.6. Redes de Petri. Es una técnica de especificacién formal de sistemas. Es una herramienta gréfica. La utilidad de una técnica de especificacion o descripcién formal (FDT) es la siguiente: En un programa secuencial la forma de depurar es mediante prueba y error. Pero en programacién concurrent es mucho mas dificil escribirlos, depuratlos y corregirios; es incluso complicado reproducir el caso especifico en que un proceso puede fallar. Ademas, la fase de depuracién de un proyecto es muy costosa. Por todo esto se intenta que la depuracién sea {acil, pues ademas mientras mas avanzados estemos en el proyecto més dificil sera corregir un error de diseno inicial Las FDT intentan disminuir los costes de depuracién, dando unas especificaciones muy claras de forma que un sistema seré correcto si las cumple (se intenta probar que un sistema 5 correcto incluso antes de implementarto). Hay mutitud de FDT's: Z, VOM, SOL, ESTELLE, LOTOS, redes de Petri etc. Las redes de Petri se utilizan para modelar sistemas siendo sus caracteristicas las siguientes ‘+ Hacen posible modelar comportamientos que comprenden concurrencia, sincronizacion y recursos compartidos, '* Con ellas se puede comprobar si un sistema cumple clertas caracteristicas (de esta forma ‘se puaden delectar ciertos errores en el sistema incluso antes de su realizacion « Siel andlisis del sistema no es satisfactorio no podriamos abordar la implementacion; en caso contrario si podriemos hacerlo con bastantes garantias. Las aplicaciones mas utiizadas son: + Sistemas de fabricacion (en industrias). ‘* Sistemas informaticos (sistemas operativos) ‘+ Protocolos de comunicacién. ‘+ Una red de Petri es un grafo orientado compuesto por dos clases diferentes de nodos: = Los lugares: representados por una circunferencia o una elipse. Se llama P al conjunto de Jos lugares. P sera un conjunto finito y no vacio. ‘+ Las transiciones: representadas por un trazo rectilineo vertical. €1 conjunto de transiciones es Ty también @ finito y no vacio. Lugares y transiciones se unen alternativamente con arcos, O sea, un arco une una transicién con un lugar 0 viceversa pero no entre dos lugares 0 dos transiciones. Formalemente una red de Petri es una cuadrupla que se compone de P, T, Pre, Post. Pre esta incluido en PxT. Post esta inciuido en TxP. Si el par (p.t) esté incluido en Pre, habré un arco de pat, y se dice que p es un lugar de entrada para t. Si el par (1.9) esté incluido en Post, habra una flecha de t a p, y se dice que p es un lugar de salida para la transicién t Normalmente a las transiciones se les asocian acciones y a los lugares condiciones, © sea, Pre marca las precondiciones de una transicién, Asimismo, Post da las postcondiciones de una transicion, AGALON.RFK «CURSO 2005 HITTRI//veww. AGALONEOLUSIONES. COM/RFH ACALON.RFH = CURSO 2005 8.7. Planificacién y gestién de procesos. 8.7.1. Objetivos de la planificacién. ‘Cuando hay muchos procesos en una maquina de tiempo compartido, debe haber un planificador que decida que proceso pasa a ejecutarse en un momento dado utiizando algoritmos de planificacién, En inglés, a la planificacién se le denomine “scheduling” y al planificador, “scheduler” La parte dal sistema operative que decide cual es el proceso a ejecutar es el planificador. El algoriimo usado es el algoritmo de planificacién 8.7.4, Objetivos de la planificacién. * Que se asigne ol procesador a cada proceso de forma equitativa, + Que el procesador esté ocupado e! 100% del tiempo + Que ol tiempo de respuesta para usuarios interactives sea minimo, + Que minimice el tiempo de proceso global y que los procesos por lotes tampoco esperen demasiado. = Que meximice el nimero de trabajos por hora, Hay algunos objetivos contradictorios, como el tercero y el cuarto, si se minimiza el tiempo de respuesta para usuarios interactivos, los procesos por lotes deberdn esperar mas. E! planificador también tisne problemas: ne tiene mucha informacion acerca de lo que hace cada proceso por lo que no puede saber con anterioridad como se va a comportar el proceso (sitiene mucha E/S, muchos calculos, et... Tendremos entonces un temporizador que, al vencer, hace que el sistema operative tome de nuevo el control y decida que proceso es el que sigue el actual u otro, para que ninguno ‘acepare demasiado tiempo. 8.7.3, Algoritmos de planificacién. 8.7.3.4. Planificacion por tune rotatorio. Es el mas sencillo de todos y, en cierto modo, el més equitativo. A cada proceso se le asigna un cuanto (intervalo de tiempo) y cuando éste acaba se ejecuta otro proceso. ‘Sino se ha consumido el cuanto pero el proceso quiere hacer una EIS también se pasa 2 otro proceso. El planificador tiene una lista con todos los procesos ejecutables (istos para ejecucién), Para pasar de un proceso a otro se requiere un cambio de contexto, que también tarda un cierto tiempo en realizarse. Suponiendo que ese tiempo es de 5 ms, mientras que el cuanto es de 20 ms, Entonces, se perderé un 20% de tiempo en labores administrativas. Si asignamos un cuanto més grande, por ejemplo, 500 ms, el cambio de contexto s6lo nos llevard un 1% del tiempo total, por lo que seria mas eficiente. Pero si hay muchos procesos. fen la maquina, e! proceso numero 10, por ejemplo, tardaria § segundos en empezar. Por tanto HTTe:/i wi, A@ALONSOLUDIONES. COM/RFH ACALON.REH curso 2005 hay que Hlegar a un compromiso, por ejemplo, 100 ms en el cuanto (10% de pérdida en el cambio de contexto). 8.7.3.2.Planificacion por prioridad. A cada proceso se le asigna una prioridad, y se ejecutaré aquél con prioridad mas alta, Se puede también hacer que el proceso de mas alta prioridad no acapare un tiempo indefinido el procesador variando las prioridades. Por ejemplo, que cada pulso de reloj se decremente las prioridades en una unidad (seria una prioridad dinamica). Hay, por tanto, dos tipos de asignacién de prioridad: ‘+ Estética, No cambian las prioridades asignadas al inicio. # Dinamica: Las prioridades cambian a lo largo de la ejecucion, Ejemplo. Asignacion dinémica Vamos @ darie mayor priorided @ las procesos con mucha E/S para que no esperen demasiado tiempo. De esta forma, se asigna una priovidad 1/1 a cada procaso, siendo f la fraccion del titimo cuanto oe tiempo utilizado. Asi, $if vale 2 ms de un total de 100 ms de cuanto, tengo que 1/f=50. A este proceso que ha utiizado 2 ms de un cuanto de 100 ms (por bloquee debido @ E/S) le coresponde una rioridad de 50. De esta forma fe dams més prioridad al primer proceso, pues fe ha flegado antes ta E/S. Los procesos se pueden egrupar de forma que tengamos varies listas para distintas prioridades. O sea ‘Aqut tenemos 6 prioridades diferentes. En cada una tenemos una lista, dentro ce cada cual podemios usar turno rotetorio. Hay que revisar las prioridades para que no haya algunas que no se ejecuten nunca y el procesador no haga nada, 3, Maltiples listas de espera. Se usa en sistemas que solo pueden mantener un proceso en memoria’ En él se intenta bajar el nimero de transferencias discolmemoria. Los procesos que no se ejecutan estén en disco, y el que se ejecuta esté en memoria, Por eso hay que minimizar el numero de transferencias entre disco y memoria. Entonces, a los procesos que necesitan mayor tiempo de céleulo se Jes concede mayor tiempo de ejecucién. Aparece una lista de espera miitiple, El esquema serla parecido al anterior. Asi, los procesos de /a primera lista se ejecutan durante un cuanto de tiempo, los de la segunda lista se ejecutan durante dos, etc. Cuando un proceso agota todo el tiempo que se le ha asignado se le pasa a una lista inferior. Por ejemplo, si se le asigna un cuanto y fo consume entero al ejecutarse, se le asignan dos cuantos a la siguiente vez, cuatro a la siguiente, y asi sucesivamente. ‘Suponiendo asi un proceso que necesita 100 cuantos, la primera vez se le asignaria uno, después dos, después cuatro, y asi sucesivamente. Si asignéramos un cuanto cada vez MITR/WWW. ACALONEOLUSIONES.COM/RFH ACALON.REH - CURSO 2005 se necesitarian 100 transferencias a memoria, Pero con el algoritmo de espera miltiple stlo se necesitan siete transferencies. La prioridad mas alta es la de los procesos que tienen asignados un niimero menor de cuantos. También se podria hacer que un proceso subiera en la tabla de listas. Si un proceso no agota su cuanto debido a un bloque E/S, permanece en la misma lista. Deben preveerse mecanismos que permitan que un proceso pueda tambien ascender de iista si se bloquea 8.7.3.4, Prioridad al mas corto. Se usa en sisterna por lotes donde (por experiencia) se conoce el tiempo que tarda cada proceso, ‘Supongamos que tenemos los procasos A, B, Cy D, que tardan, respectivamente, 8, 4, 4y 4 unidades de tempo. Si los ejecutamos en este mismo orden, los tiempos de respuesta serfan 3, 12, 16 y 20 respectivamente, fo que implica una media de 14 unidades de tiempo. Pero si damos prioridad al mas corto (dejamos A pare el final, y seguimos el orden B,C, Dy A, por ejemplo), los tiempos de respuesta serian 4, 8, 12 y 20, respectivamente, lo cual da un promedio de 11 unidades de tiempo, En general, si tenemos cuatro procesos que tardan a, b, cy d unidades de tiempo en ejecutarse, los tlempos de respuesta serfan a, ab, atb+c y atb+ctd. En promedio: ‘Como a influye mas, debe ser el mas corto, y d, de forma andloga, ha de ser el mas largo. En usuarios interactivos, es dificil saber el tiempo que tarda un proceso en ejecutarse, por lo que este algoritmo se usa en sistemas por lotes. 8.7.3.8, Planificacién determinada por el comportamiento. Si tuvigramos n usuarios (procesos) en el sistema, haremos que a cada uno le corresponda tin de la potencia del procesador. EI sistema operative debe llevar la cuenta del tiempo de procesador consumido por cada proceso y del tiempo que lleva cada proceso dentro del sistema (desde que se cre6). Con esto se calcula el tiempo de procesador a que cada proceso tiene derecho. Lo que ‘se hace es calcular. Si el tiempo de procesador consumido en un proceso es 100, y tiene derecho @ 200, le fraccién anterior es 0.5, Jo cual indica que ha usado la mitad del tiempo que se le tenia permitdo. Si el proceso ha consumido 200 cuantos de tiempo de procesador pero sélo tenia derecho a 100, la fraccién valdra 2 Lo que se hace entonces es darle mas prioridad a los prooesos en que la fraccion valga menos. 8.7.3.6. Plat Se usa cuando no todos los procasos caben en memoria. Algunos procesos deberan mantenerse en disco, por lo que el cambio de un proceso a otro implica una transferencia de icacién a dos niveles. HTTP://WWW. ABALONBOLUGIONES.COM/RFH ACALON.RFH > cuRso 2005 disco a memoria, lo que lleva mas tiempo que pasar a otro proceso en memoria. Se intentara hacer el menor numero de transferencias. ‘Tendremos entonces unos procesos en memoria y durante un cierto intervalo de tiempo s0lo se ejecutan esos provesos periddicamente, se cambiarén esos procesos en ‘memoria por otros procesos en disco. Tenemos, por tanto, dos planificadores, por un lado tenemos el planificador de atto nivel que lleva los procesos de memoria a disco y viceversa. Y por otto ledo, est el planificador de bajo nivel que pasa de un proceso a otro dentro de la memoria. El de bajo nivel puede usar cualquier algoritmo de planificacién de los ya vistos El planificador de alto nivel puede escoger entre cualquiera de estos criterios: Pasar a disco el proceso que lleve mas tiempo en memoria Pasar a disco el proceso que haya consumido mas tiempo de procesacor. Pasar a disco el proceso de menor prioridad, Pasar a disco el proceso mas grande. MITrp://Www, ADALONSOLUSIONES.cOM/RFH ACALON.AFH - cuRsa 2005 8.8. Gestién de ontrada/salida. 8.8.1. Introduceién. Una de las funciones principales del sistema operative es controlar la entrada/salida del ‘computador. Para gestionar la entrada/salida el sistema operative lo que hace es: ‘+ Enviar comandos alos dispositives, ‘+ Recibir las interrupciones de los dispositivos + Ocuparse de los errores de los dispositivos « Presentar una interfaz entre los dispositivos y el resto del sistema. Esta interfaz, ademas, debe ser facil de usar, y también debe ser independiente en lo posible de los dispositives. Es decir, la interfaz debe ser la misma para todos los dispositives. A nosotros nos interesan los dispositives de entrada/salida desde el punto de vista de! software. Para ello los dividimos en dos categorias: ‘+ Dispositivos de bloques: en ellos la informacion se almacena en bloques de tamatto filo y ‘se podré leer 0 escribir en cualquier bloque independientemente de los demas, es decir, se puede direccionar cualquier bloque (por ejemplo, los discos son dispositivos de bloques) ‘+ Disposttivos de caracteres: en ellos se leen o escriben fiujos de caracteres pero sin ninguna ‘estructura de bioques (por ejemplo: los terminales, las impresoras, los ratones, las interfaces de redes, ete.) La frontera entre dispositivos de bloques y de caracteres no esté muy bien definida, Por ejemplo, una cinta magnética se considera un dispositive de caracteres pero podemos acceder 4 un cierto bloque de la cinta avanzéndoia 0 rebobinandola; Jo que pasa es que esto lleva tiempo por fo que las cintas se utiizan secuencialmente, no de esta forma. Hey dispositivos que no pertenecen a ninguna de las categorias (por ejemplo, un reloj). A pesar de todo, se usa esta clasificacion, pues es bastante general Hay una parte del sistema operativo formada por los programas de més bajo nivel que se encargan de los detalles de cada dispositive y son dependientes de éstos. A esos programas se les llama manejadores de dispositivos (drivers). En une unidad de entrada/salida tendremos una parte mecanica y otra electronica, Al elemento eectrénico se le llama controlador del dispositive 0 adaptador {normelmente va a set tna tarjeta de circulto impreso que se inserta en el ordenador). El sistema operative accede al adaptador. pera no al dispositive propiamente dicho, es el controlador el que controla al dispositivo realmente. Todos los adaptadores tienen unos cuantos registros, que sirven para comunicarse con el procesador Hay dos formas de tener estos registros, + Que formen parte del espacio normal de direccionamiento de la memoria ‘+ Usar un espacio de direcciones especial de entrada/salida. A esto se le lama puertos de entrade’salida — ee HIrvRt//www. ADALONSOLUBIONES.COM/RFH AGALON.RrH - CURSO 2005 Para realizar una operacién de entrada/salida el sisterna operativo escribe las érdenes apropiadas en los registros del controlador. En estos registros también se pueden carger parametros, ademas de comandos. Cuando el controlador acepta los comandos, é! sélo hard su trabajo, y el sistema operativo podré hacer otra cosa. Cuando el controlador acaba, genera una intertupcion para que ef sistema operative tome de nuevo el control y verifique sila operaci6n ha sido correcta, mirando los registros adecuados que lo indican. 8.8.2. Software de E/S Desde el punto de vista del sistema operative io que nos interesa es la programacién de la entrada/seli¢a, los objetivos de la misma son + Independencia del dispositive, Los programas de usuario deben ser independientes del dispositive. Por ejemplo, para un programa de usuario debe ser io mismo escribir en un disco © un disquete, no debe tener que complicarse de nuevo el programa. Habra una parte del sistema operativo que si sera dependiente: los mansjadores de dispositivos. Pero estos deben ser transparentes a los programas de usuario. * Uniformidad en tos nombres. El nombre de un dispositive puede ser igual que el nombre de un fichero. Es decir, todos los dispostivos deben nombrarse de forma pareckda, por ejemplo, con una hilera de caracteres. ‘+ Manejo de errores. Los errores los debe corregir ei controlador del dispositive, Es decir, cuanto a mas bajo nivel se traten los errores, mejor, Pero si el controlador no puede deberd encargarse el sistema operative. ‘+ Presentar al programador transferencias sincronas, Hay dos tipos de transferencias: ‘© Sinoronas: En ellas el programa se bloquea al dar la orden de una cierta operacion con un dispositive, hasta que acabe dicha operacion. Las transferencias sincronas son mas faciles de utilizar en los programas. © Asincronas: En ellas e! procesador sigue realizando operaciones hasta que llegue une interrupci6n. El funcionamiento de tados los dispositivos de entradaisalida es de esta forma. El sistema operativo se encarga de que las transferencias que en realidad son asineronas parezcan sincronas pues los programas se escriben més facilmente con transferencias ssingronas * Gestion de dispositivos compartides y dedicados, Los dispositives dedicados s6io los puede utilizar un usuario cada vez, Por ejemplo, una impresora. En los compartidos si los pueden utlizar més de un usuario a la vez. Por ejemplo, un disco, HTTP://WWW. ACALONSOLUSIONES. COM/RFH AGALON.RFH + cURSS 2005 El sistema operative debe encergarse de esto. En especial, debe procurar que no se produzcan bloqueos en tos dispositivos dedicades. Por otra parte, el software de entrada/salida se estructura en cuatro niveles, para poder cumplir con los objetivos anteriores: « Manejadores de interrupciones + Manejadores de dispositivos. «Programas entrada/salida del sistema operativo independientes del dispositvo. + Programas entrada/salida de usuario. __ ee MT TPC WW. ACALONEOLUBIONES. COM/RFH ACALON.REH = cuRsO 2005 8.9, Sistemas operativos distribuidos 8.9.4. Introduceién Los sistemas operativos distribuidos empiezan a aparecer @ mediados de los attos achenta, debido al desarrollo de dos tecnologias fundamentaies: ‘+ Los microprocesadores son cada vez mas répidos y potentes. + Laaparicién de tas redes de area local (LAN). Un sistema operative distribuido no es més que un gran nimero de procesadores conectades mediante una red. Los sistemas centralizados, en cambio, tienen una tinica CPU ‘con memoria, periférices y algunos terminales conectados (por ejemplo, el centro de célculo) Los sistemas operativos distribuidos necesitan un software diferente al de los sistemas centralizados, sobre todo en lo que se refiere al sistema operativo. 8.9.2. Ventajas de un sistema operativo distribuido frente a un sistema operative centralizado. + Economia. Si queremos cuatro veces mas potencia de la que tenemos, podemos comprar un procesador cuatto veces més potente o tres igual de potentes que el que tenemos. La relacion preciolrendimiento sera mejor en el caso de los cuatro ordenadores conectados entre si. + Velocidad. ‘Supongamos un sistema con 1000 CPUs, cada una a 20 MIPS (millones de instrucciones por segundo). Entonces, la velocidad total seré 20000 MIPS, lo cual es irealizable fisicamente para un solo chip. ‘Aqui podemos distinguir ya entre’ ‘© Sistemas operativos distribuidos pensados pare que vatios usuarios trabajen 2 la vez de forma independiente. © Sistemas paralelos pensedos para tener mayor velocidad en la resolucién de un unico problema, En ambos casos son muchas CPUs conectadas entre si, pero en el primer caso tendriamos muchos ordenadores para poder tener a muchos usuarios y en el segundo caso un solo ordenador con muchos procesadores. Por tanto, la ventaja de la velocidad se refiere sobre todo a sistemas paralelos. + Aplicaciones distribuidas Hay aplicaciones que son distribuidas por naturaleza, por fo que se ajustan mejor a los sistemas operativos distribuidos. Por ejemplo, un sistema que conecta todas las sucursales de Un banco, o un sistema que controla varios robots en una fabrica (que es un sistema distribuido. industrial} son aplicaciones distribuidas de por si. Al caso del banco se le llama sistema distribuido comercial + Frabilided HITTRI/Won. AGALONSOLUGIONES.COM/RFH AGALON.RFH * CURSO 2005 Si en un sistema distribuido una maquina cae, el resto del sistema sigue funcionando, por lo que es mas fiable que un sistema centralizado. Por tanto, es mayor en aplicaciones criticas donde la fiabilidad es muy importante. © Crecimiento incremental Si ef sistema se queda pequefio en un sistema distribuido, basta con afiadir una nueva maquina pero en un sistema centralizado habria que tirar la que tenemos y comprar otra. 8.9.3. Hardware Los sisternas distribuidos constan de varias CPUs. Va a haber muchos tipos distintos de CPUs, dependiendo de la interconexién entre ellas y su ‘comunicacion, 8.9.4, Clasificacion de Flynn, ‘+ Maquinas SISD (flujo de datos simple y flujo de instrucciones simple). ‘+ Méquinas SIMD (fluo de datos miitipley fluo de instrucciones simple). ‘+ Méquinas MIMD (flujo de datos multiple y fujo de instrucciones miittiple). Todos los sistemas distribuidos entran dentro de las maquinas MIMD, A su vez, los sistemas MIMD se pueden dividir en dos: ‘+ Multiprocesadores: Conjunto de CPUs compartiendo una memoria comun: el espacio de direccionamiento seré el mismo. Es muy prablematico, + Multicomputadores: Cade CPU tiene su propia memoria (Por ejemplo, una red de cordenadores). También podemos hablar de ‘+ Sistemas fuertemente acoplados, En ellos las distintas CPUs pueden transferir datos a un gran numero de bits por segundo (por ‘ejemplo, CPUs que estén en una misma tarjeta impresa, sistemas muttiprocesador). ‘+ Sistemas débilmente acoplades. ‘Son sistemas en los que el nimero de bits por segundo que pueden transferirse entre una CPU y otra es pequetto (por ejemplo, dos ordenadores conectados a través de un MODEM). Los sistemas fuertemente acoplados se suelen usar como sistemas paralelos en los que varias CPUs trabajan en la resolucion de un mismo problema, Los débilmente acoplados se suelen usar para sistemas distribuidos donde las CPUs trabajan en problemas no relacionados entre si Los multiorocesadores suelen ser sistemas fuertemente acoplados que se san como sistemas en paralelo. En cambio, los multicomputadores suelen ser sistemias débilmente acoplados que se usan como sistemas distrbuides. Pese a todo, pueden existir por ejemplo, sistemas muiticomputador interconectades con fibra optica donde la transferencia de datos puede ser muy alta HITTR:JWWW. AALONSOLUBIONES.COM/RFH ACALON.REH > CURSO 2005 8.10. Modelo de referencia OSI (interconexién de sistemas ablertos) Este modelo describe cémo se transfiere la informaciin desde una aplicacion de software en un ordenador a través del medio de transmisién hasta una aplicacion de software en otro ordenador. OSI es un modelo conceptual compuesto de SIETE capas, en cada una de ellas se especifican funciones de red particulares. Fue desarrollado por la ISO (Organizacion Intemacional de Estandares) en 1984, y actualmente se considera el modelo principal de arquitectura para la comunicacién entre ordenadores. Cada capa tiene una tarea o grupo de tareas, siendo entre ellas mas 0 menos independientes, Esto permite que las soluciones ofrecidas por una capa se pueden actualizar sin afectar a las demas. Capa? Capa de Aplicacion Capa 6 Capa de Presentacisn Capa § Capa de Sesion Capa 4 Capa de Transporte Capa 3 Capa de Red Capa 2 Capa de Enlace de Datos Capa 1 Capa Fisica 8.10.1, Modelo OSI Las capas superiores (5, 6 y 7) tienen que ver con la aplicacién y, en general, s6lo estén implementadas en software, Las capas inferiores (1, 2, 3 y 4) manejan lo concerniente a la transferencia de datos. Las capas fisica y de enlace de datos se encuentran implementadas en hardware y software. En general, las otras capas inferiores estén implementadas tnicamente en software. La capa inferior, la fisica, que es la mas cercana al medio de transmisién de la red fisioa, es le responsable de colocar la informacion en el medio de transmisién. Por lo general una capa determinada se comunica con otras tres capas OSI: la capa ubicada inmediatamente sobre ella, ia ubicada bajo ella y la equivalente a elta de otro sistema en red. 8.10.1.1. Capa fisic Define las especificaciones eléctrices, mecanicas, de procedimiento y funcionales pare activar, mantener y desactivar el enlace fisico entre sistemas de redes. Las especificaciones de la capa fisica definen caracteristicas como niveles de voltaje, temporizacion de cambios de voltaje, velocidades de transferencia de informacion, distancias maximas de transmision y conectores fisicos. Las implementaciones de la capa fisica se pueden categorizar como especificaciones LAN o WAN 8.10.1.2. Capa de enlace. Proporciona el transite fiable de datos a través del enlace de red, Diferentes especificaciones de la capa de enlace de datos definen diferentes caracteristicas de red y protocolo, incluyendo el direccionamiento tisico, ‘a topologia de red, la notificacién de error, la ssecuencia de tramas y el control de flujo. HITTR://vow. ACALANGBLUGIONES.COM/RFH AGALON.RFH - cURSS 2005 EI direccionamiento fisico (a diferencia del direccionamiento de red), define cémo se nombran los dispositives en la capa de enlace de datos. La Topologia de red consiste en especificaciones de la capa de enlace de datos, que con frecuencia definen la forma en que se conectaran fisicamente los dispositivos, en topologia bus o en topologia anillo, La notifcacién de error alerta a los protocolos de las capas superiores cuando se presenta un error en la transmision y la secuencia de tramas de datos reordena las que se han transmitido fuera de secuencia. Finalmente, el control de flujo regula la transmision de datos pera que el dispositive receptor no se sature con més trafico del que pueda manejar simultaneamente. EI {EEE (Instituto de Ingenieros en Electronica y Electricidad) han subdividido ‘a capa de enlace de datos en dos Subcapas: LLC (Contro! de Enlace Légico) y MAC (Control de Acceso a Medios). La Subcapa LLC administra las comunicaciones entre los dispositives unidos por un enlace individual de red. Esta Subcapa esta definida en la especificacion IEEE 802.2 y soporta los servicios onentados y no orientados a la conexion, utilizados por los protocolos de las capas: superiores, La Subcapa MAC administra el protocolo de acceso al medic de transmision fisico de la red. La especificacién IEEE MAC define las direcciones MAC, las cuales permiten a multiples disposttivos identificarse de manera énica entre si en la capa de enlace de datos, 8.10.1.3. Capa de red. Esta capa proporciona el ruteo y funciones relacionadas que permiten a mitiples enlaces de datos combinarse en una red, Esto se logra a través del direccionamienta logico de los dispositives. La capa de red soporta servicios orientados y no orientados a la conexion de los protocoios de las capas superiores. Los protocolos de las capas de red son de hecho protocolos de ruteo, sin embargo también otra tipc de protocolos estén implementados en la capa de red. Algunos protocolos comunes de ruteo son: + BGP (Protocolo de Puerta de enlace Fronteriza), un protocolo de ruteo entre dominios de Internet «OSPF (Algoritmo Abierto de Primero la Trayectoria mas Corta), protocolo de'compuerta, interior, basado en estado de enlaces y desarrollo para utiizarse en redes TCP/IP # RIP (Protocolo de Informacién de Ruteo}, un protocolo de ruteo de Internet que utiliza ‘conteo de saltos como su métrica 8.10.1.4. Capa de transporte. Implementa servicios fiables de datos entre redes, transparentes a las capas superiores. Entre las funciones habituales de la capa de transporte se cuentan el control de ‘flujo, ef muttiplexaje, la administracién de circuitos virtuales y la verificacién y recuperacion de errores. El control de flujo administra la transmision de datos entre disposttivos, para que el dispositivo transmisor no envie mas datos de los que pueda procesar el dispositivo receptor. HTTP://WWW. APALONSDLUBIONES.GOM/RFH ACALON.RFH > CURSO 2DD5 EI muttiplexaje permite que los datos de diferentes aplicaciones sean transmitidos en un enlace fisico nico. Es la capa de transporte la que establece, mantiene y termina los circuitos virtuales, La verificacion de errores implica la creacién de varios mecanismos para delectar los errores en la transmision, en tanto que, fa recuperacion de errores implica realizar una accién, como solicitar la retransmision de datos para resolver cualquier error que pudiera curr ‘Algunas implementaciones de la capa de transporte incluyen el protocolo de control de transmisi6n, el protocolo de enlace de nombres y protocolos de transporte del esténdar OSI. TEP (Protocolo de Control de Transmisién) es el protecolo en el conjunto TCP/IP que proporciona una transmisién fiable de datos. NBP {Protocolo de Enlace de Nombres) es el protocolo que asocia nombres AppleTalk con direcciones. 8.10.1.8. Capa de sesion. Establece, administra y finaliza las sesiones de comunicacion entre las entidades de la capa de presentacién, Las sesiones de comunicacién constan de solicitudes y respuestas de servicio que se presentan entre aplicaciones ubicadas en diferentes dispositives de red. Estas solicitudes y respuestas estén coordinadas por protoooios implementados en la capa de sesion. ‘Aigunos ejemplo de implementaciones de la capa de sesién incluyen a ZIP (Protocolo de Informacion de Zona), el protocol de AppleTalk que coordina el proceso de enlace de nombres y a SCP (Protocolo de Control de Sesidn), que es el protocolo de la capa de sesion de DECnet Fase IV. 8.10.1.6. Capa de presentacién. Brinda una gama de funciones de codificacion y conversion que se aplican a los datos de Ja capa de aplicaci6n, Estas funciones aseguran que la informacion enviada desde la capa de aplicacion de un sistema sea legible por la capa de apiicacién de otro sistema. Los esquemas de conversién se utilizan para intercambiar informacion entre sistemas utlizando diferentes representaciones de texto y datos, como EBCDIC y ASCII 8.10.1.7. Capa de aplicacion. Esta es la capa de OSI mas cercana al usuario final, lo cual significa que tanto la cape de apiicacién como el usuario interactian de manera directa con la aplicacion de software, Esta capa interactaa con las aplicaciones de software que implementan un componente de comunicacion. Dichos programas de aplicacién estan fuera del alcance de! modelo OSI. Las funciones de la capa de aplicacién incluyen la identiicacion de socios de comunicacién, la determinacién de la disporibilidad de recursos y la sincronizacion de la comunicacion. Al identifica socios de comunicaci6n, la capa de identificacién determina su identidad y disponibilidad para una aplicacion que deve transmitir datos. Cuando se esta determinando la disponibilidad de recursos, la capa de aplicacién debe decidir, si hay suficientes recursos en la red para la comunicacion que se esté solicitando. Al sincronizar la comunicacion, toda comunicacién entre aplicaciones requiere cooperacién, y ésta es administrada por la capa de aplicacion, Hay dos tipos clave de implementaciones de la capa de aplicacién: HITTR://Www. ACALONSOLUSIONES.COM/RFH AGALON.RFH > cuRSA 2005 © Las aplicaciones TCP/IP * Las aplicaciones OS! Las aplicaciones TCP/IP son protocolos, como Telnet, FTP (Protocolo de Tranferencia de Archivos) y SMTP (Procotolo de Transferencia de Correo Simple}; estos forman parte del grupo de protocolos de Internet. Las aplicaciones OSI son protocolos, como FTAM (Transferencia Acceso y Administracién de Archivos), VTP (Protocolo de Terminal Virtual), y CMIP (Protocolo Comtn de Informacion de la ‘Administracion) que pertenecen al conjunto OS! a ee HITTR//www. ACALONSOLUSIONES.EOM/RFH AGALUN.RFH > CURSO 2005 8.11. Protocolo TCPIP 8.11.1. Introduceién, En @1 1973, la DARPA inicié un programa de investigacién de tecnologias de comunicacin entre redes de diferentes caracteristicas. El proyecto se basaba en la transmisién de paquetes de informacién, y tenia por objetivo la interconexion de redes. De este proyecto surgieron dos redes: Una de investigacién, ARPANET, y una de uso exclusivamente militar, MILNET. Para comunicar las redes, se desarrollaron varios protocolos: El protocolo de Internet y los protocolos de control de transmisién. Posteriormente estos protacolos se englabaron en el conjunto de protocolos TCP/IP. En 1980, se incluyo en el UNIX 4.2 de BERKELEY, y fue el protocolo miltar standard fen 1983, Con e| nacimiento en 1883 de INTERNET, este protocolo se popularizo bastante, y su destino va unido al de Internet ARPANET dejo de funcionar oficiaimente en 1990. 8.11.3. Estructura Interna. EI modelo basico en Internet es el modelo Cliente/Servidor. El Cliente es un programa que le solicta a otro que le preste un servicio. EI Servidor es el programa que proporciona este servicio. La arquitecture de Internet esta basada en capas. Esto hace més facil implementar nuevos protocoles. EI conjunto de protocclos TCP/IP, al estar integrado plenamente en Internet, también dispone de este tipo de arquitectura. El modelo de capas de TCP/IP es algo diferente al propuesto por ISO (International Standard Organization) para la interconexién de sistemas abiertos (OSI). (Ver imagenes 1}, Aplicacién Liga de Datos, ATM Imagen 1. Retacién del modelo TCP/IP con el modelo OSI 8.41.4. Capas Los Protocolos TCP / IP se clasifican segtn fa capa en la que trabajen, Las capas son las siguientes: + Capa de Aplicacién ‘+ Capa de Transporte + Capa de Red + Capa Fisica HrTet (www. ACALONSOLUOIONES.cOM/RFH AGALOM.RFH + cuRES 2005, 8.11.44. Capa de Aplicacién. Esta capa corresponde @ las aplicaciones que estén disponibles para los usuarios, como TELNET, FTP, SNMP. 8.11.4.1.1, BOOTP (Bootstrap Protocol) Informacién general En lugar de utiizar el protocolo ARP, una maquina que acaba de ponerse en funcionamisnto por primera vez, puede utilizar el protocolo bootstrap para obtener la direccién IP y informacién sobre su sector de arranque. Este método tiene algunas ventajas respecto al del protocolo ARP. Descripcién de los campos: (Ver Figura 1) + Tipo (Type): Este campo identifica si el mensaje es una sotictud 0 una respuesta © Cabecera (Header): Este campo identifica el tipo de direccién de hardware ‘= Longitud-H (H-Length): Este campo identifica la longitud de la direcci6n de hardware en octetos. ‘+ Contador de saltos (Hop count): Se utliza cuando el protocolo BOOTP se utiliza a través de varios Gateways. Cada paso por un Gateways aumenta en uno el contador. ‘+ ID de Transaccién (transaction 1D): Lo utiliza la estacién de trabajo para asignar las respuestas 2 las solicitudes ‘+ Segundos (Seconds): Se ufliza para calcular el tiempo transcurrido desde el envio de la solictud hasta la recepcién de la respuesta ‘+ Direceién IP del Cliente (Client IP address): Este campo lo completa el cliente, sila conoce, En otro caso se pone a cero ‘+ Direcei6n IP del servidor (Server IP address): Puede ser introducido por el cliente, si la conoce. Cuando el valor es diferente de cero, solo el servidor especificade puede contestar @ la solicitud. Esta es una forma de forzar al servidor para que proporcione la informacion de arranque. + Direccién IP del Gateways (Gateways IP address}: Este cargo lo pone a cero el cliente, y si la solictud fa obtiene un Gateways, este escribe su direccion en este campo. ‘+ Direccién de Hardware del cliente (Client Hardware Address): Este camoo lo completa el cliente + Nombre det servidor Host (Server Host Name): Este campo es opcional, y puede ponerla a cero tanto el servidor como el cliente. + Nombre del archivo de arranque (Boot File Name): Puede ponerto a cero el cliente, ‘© poner un nombre generico. El servidor reemplazara este campo por la ruta completa del archivo completo, + Area del Fabricante (Vendor-specific area): Puede tener un codigo escrito por el cliente, HITTR://WWW, AOALONSOLUDIONES. COM/RFH ACALON.REM - cuRSS 2005 foctet+o fOctet+1— foctet+2 [Octet +3 FRPP Peel PrRPEl Pr PPAREP fType Header Typef-Lengtn Hep Count [Transaction 10 [Seconds Zero (Client IP Address [Response IP Address jerver IP Address jateways IP Address re IServer Host Name (64 Octets) File Name (128 Octets} jendor-Specific Area (64 Octets) Figura 1 Formato del mensaje BOOTP. 8.11.4.1.2. DNS (Domain Name Service) ‘Muchos usuarios prefieren utilizar un nombre que sea mas facil de recordar que una direccién numérica. Para hacer esto, un servidor debe transtormar el nombre en la direccion correcta. Esto se hacia originalmente en Internet mediante una tabla unica situada en un servidor central, donde estaban contenidos todos los nombres de Host, Esto era posible debido a que Solo existian unos cientos de servidores, pero debido a un gran aumento del numero de servidores, fue necesario descentraiizar el servidor de nombres y dividirlo en miltiples DNS (servidores de nombres de dominio). Desde el punto de vista de un programa el funcionamiento de este servicio en muy simple, El programa proporciona un nombre de dominio, y el DNS le devuelve su direacién IP. Nombres de dominio El programa de usuario proporciona el nombre de dominio como una secuencia de palabras. Las palabras estén listadas de izquierda a derecha, y la que representa la zona mas, ccetcana al usuario es la primera, Arquitectura del DNS DNS es un protocole de la capa de aplicacion y esta clasificado como una utldad por convenio entre los usuarios y el administrador del sistema, en vez de una parte integrada en los, servicios de usuario. Elementos de programas de DNS Siguiendo el modelo Cliente/Servidor, ONS consiste en un usuario, un cliente, uo servidor de nombres local y un servidor de nombres remoto, En términos de las ‘especificaciones, DNS consiste en un programa de usuario, un oliente, un servidor de nombres, yun servider de nombres remoto. Cada Host debe implementar un mecanismo utiizando el cliente DNS para convertir nombres de Host en direcciones IP. MT TP://WWe. ADALONSOLUCIONES.GOM/RFH ACALON.RFH - cuRsE 2005 Elementos de Datos de DNS. Un node DNS se representa por una etiqueta en el interior del nombre de dominio, y todos los nodos tienen unos archives de recursos (resource records (RRs) que contienen informacién que habilta el programa DNS pera encontrar el nombre de dominio solicitado Formato de un RR. (Ver Figura 2) + Nombre del propietario (Owner Name) o (SNAME) es ei nombre del nodo al cual pertenece el Resource Record, Este nombre que sera comparado con el nombre proporeionado por el programa de usuario, ‘+ Tipo (Type) es un entero de 16 bits que describe el tipo de Resource Record, (Ver Tabla 1) ‘© Clase (Class) es un entero de 16 bits que define ia clase del Resource Record. Un RR de Internet tiene el campo igual a 1 ‘+ Tiempo de vida (Time-toive) es un entero de 32 bits que especifica el intervalo de tiempo en el cual et RR debe ser almacenado en la memoria caché, antes de ser actualizado con la informacion del origen. Ei valor cero significa que el RR debe ser utlizado solo en la transaccion en progreso, y no tiene que ser almacenedo, El valor cero también se utiliza para datos muy volétles. ‘+ Longitud RD (RDLength) es un entero de 16 bits especifica la longitud en octetos del campo RDATA, «© RData es una cadena de longitud variable de octetos que describen el recurso. El formato de esta informacion varia segun el tipo y clase del RR. Para el tipo A RR (Internet), el campo RData contiene una direccién IP de 22 bits. Otro elemento de datos del DNS es €! SLIST. E! SLIST es una estructura que describe los servidores de nombres y la zona donde el cliente esta intentando envier una solicitud actualmente, jalor [Cédigo ignificado 1 IA \La direccién de un Host a NS lun servider de nombres autorizado 5 [CNAME |Elnombre canénico de un alias le SOA inicio de a zona de autordad Ht (WKS "[Descrpoién de un servicio conocido H2 PTR [Un puntero de nombre de dominio h3 INFO [informacion de un Host Informacion del Mailbox 0 de una 4 MINFO sta de correo Hs (Mx [intercambio de correo 76 (tx |Gadena de texto 22 INSAP [Cadena hacia un servicio de HTTRY//wiv, ADALONSOLUBIONES.cOM/RFH ACALON.RFH - cuRsO 2005, iransporte OS! |p) NSAP. PPuntero de nembre de dominio PTR NSAP [Solicitud de transferencia de un a 252 |AXFR zona entere 263 |MAIL@ [Solicitud de los archivos del Mailbox 55 [Solicitud de todos los archivos Tabla 1 Tipos de Resource Records frst] [st] ’ PEEPEPP [Owner name iType (Class Time to ive ROLength RData a7 pepseababe2}24]20) Figura 2. Formato de un Resource Record Funcionamiento del DNS Un programa manda una solictud a un cliente (resolver) que contiene un nombre de dominio para el cual se quiere la direccién IP asociada La solicitud se suele hacer con una subrutina, 0 un puntero hacia el nombre de dominio en la pila del sistema, Los nombres de dominio en el caché de! Resolver (cliente) estén en un formato estandar contenido en RRs. Existen tres posibies respuestas de un Resolver al programa de usuario Uno © mas RRs conteniendo a direccién IP solicitada, En el caso de que el nombre proporcionado fuera un alias, el Resolver simplemente devuetve el nombre de dominio al que hace referencia el alias. Un mensaje de error en el nombre, que significa que el nombre proporcionado no existe, Un error de datos no encontrado, que significa que el nombre proporcionado existe, pero no se refiere a ninguna direccién IP. Formato de un mensaje DNS EI Protocolo DNS ulliza mensajes enviados por ol UDP para trasiadar solicitudes y respuestas entre servidores de nombres. La transferencia de zonas completas la hace el TCP. El formato de un mensaje DNS tiene cinco partes. + Cabecera define el formato de les olras partes HTTP://WWW. ACALONSOLUCIONES.COM/RFH AGALON.RFH - cuRSS 2005 Pregunta @s el objetivo a resolver Respuesta es la resolucion del objetivo Autoridad es la referencia a un servidor autorizado. Adicional es informacién relacionada, pero no la respuesta. Formato de la cabecera. (Ver Figura 3) La cabecere contiene ios siguientes campos: ID es un campo de 16 bits utlizado para relacionar solicitudes y respuestas. QR es un campo de 1 bit que identifica el mensaje como una solicitud (0) 0 una respuesta (1). OPcode es un campo de 4 bits que describe el tipo de mensaje, (Ver Tabla 2) [Codigo [Descripcion (0 [Solicitud normal (nombre @ direccion) 4 |Solicitud Inversa (direocién a nombre) 2 licitud del estado del servidor Tabla Z.Codigo de operacién/Tipo de mensaje ‘Aes un campo de 1 bit que cuando tiene valor 1 indica que la respuesta la ha hecho un servidor autorizado T e8 un campo de 1 bit que cuando toma valor 1 indica que el mensaje ha sido truncado RQes un campo de 1 bit que cuando esta puesto a 1, indica la solictud de un servicio recursive por parte del servidor de nombres. Este servicio normaimente no esta disponible. RA es un campo de 1 bit que indica la disponibiidad del servicio recursive, Zes un campo de 3 bits reservado para un uso futuro, y su valor debe ser 0. RCode es un campo de 4 bits que lo rellena el servidor de nombres, y sive para indicar el estado de la busqueda, (Ver Tabla 3) [Eodigo [Deseripcion bo ‘Sin errores [Error de imposible interpretar el formato de lal busqueda [Error de Imposible procesar el servidor [Error de nombre inexisiente [Tipo de busqueda no soportado [Solicitud rechazada Tabla 5 Estado de la busqueda to ge cempesknima wo meme HITTR!/AWWW. ADALONSQLUGIONES.COM/RFH ACALGN.AFH + CURSO ZOD «© QDCount es un campo de 16 bits que indica el nimero de entradas en la seccién de Preguntas. * ANCount es un campo de 16 bits que indica el nimero de Resource Records en la seccién de Respuesta ‘+ NSCount es un campo de 16 bits que define el numero de Resource Records en la ‘seccién de Autoridad. + ARCount es un campo de 16 bits que define el numero de Resource Records en la seccibn de Archivos Adicionales. [octet +0 Octet 7 _JOctet +2 [Oster +3 PeeAPET PS PPAEO” PEPPETP I ie uada Foo JROpcodslATRORAZ [Rcode -4]QDcoUNT JANCOUNT [-SINSCOUNT IARGOUNT Figura 3 Formato de la cabecera DNS Formato de la seccién Preguntas Esta seccién ia construye el cliente, y siempre esta presente. Contiene ef nombre de dominio objetivo, seguido por los campos Qtype y Qciass. Esta seccién es idéntica en longitud y formato que la definida para los campos CName, tio y clase de un Resource Record, Formato de la seccién Respuesta Esta seccién contiene uno o mas RRS. Formato de fa seccién Autoridad La seccion autorided contiene uno o més RRs que apuntan hacia fos origenes de la informacion autorizada. Formato de la secci6n Adicional Esta seccidn contiene uno 0 mas RRs que proporcionan fuentes adicionales de informacién Echo Protocol El servidor eco utiliza el puerto de UDP numero 7 pata escuchar las solicitudes de eco del Gliente. El cliente utiiza un nimero de puerto UDP libre para el numero de puerto de origen y manda un mensaje por medio del UDP al servidor eco. El servidor recibe la solicitud, intercambia las direcciones de origen y destino, intercambia ‘as identificaciones de puertos, y devuelve el mensaje al cliente. NTP (Network Time Protocol) EINTP se utiiza para sincronizar los servidores con una precisién de nanosegundos. Formato del mensaje. (Ver Figura 4). Ei mensaje NTP esta formado por los siguientes campos, + Indicador de Ajuste (Leap Indicator)(LI): Es un campo de 2 bits que indica el ajuste debido al periodo de rotacién de ta Tierra, (Ver Table 4) [raetBienificade HITE: WWW. AGALONSOLUGIONES. COM/RFH ACALON.RFH - cuRsa 2005 (00 JSin advertencias loi > segundo HO [FT segundo Ht _(Condicién de atarma (Reloj no sincronizado) Tabla 4 Inicador de Ajuste Numero de Versién {Version Number) (VN): Es un campo de 3 bits que indica el numero de versién, Reservado (Reserved): Es un campo de 3 bits, que tienen valor cero, Estrato (Stratum): Este campo tiene una longitud de 8 bits, y se utliza para indicar el estrato local del reo). (Ver Table 5) jalonSignificado ISin especificar hh |Referencia primaria wn JReferencia secundaria (via NTP. ‘abla 6 Estrato del reloj local Poll: Este campo tiene una longitud de 8 bits. Indica el intervalo maximo de tiempo centre mensajes. Precision: Este campo tiene una longitud de 8 bits e indica la precisién del reloj local. Distancia de sincronia (Sincronize distance): Este es un campo de 32 bits, que indica el retraso aproximado de la primera ruta de sincronizacién, Nivel de velocidad aproximado (Estimated Drift Rate): Es un campo de 32 bits que indica el nivel de velocidad det reloj local Identificador del roloj de referencia (Reference Clock Identifier): Campo de 32 bits que indica una reloj de referencia particular. (Ver Tabla 6} alorfCédigo [Significado > [pow [Determinado por el algoritmo DCN i Wwe [Radio Reloj WWVB (60 KHz) fr _|GoEs |Reloj de satelite GOES (450 MH2)| Fr [Radio Retej wan (erT0715 MHz) Tabla 6.ldentificador de reloj de referencia Fecha y Hora (Timestamps): Existen 2 Timestamps (Fecha y nora) de 64 bits cada uno. [ostet#0 Ostet +1 Poster +2 [Octet +3 754 BEEPE ere REPA|

You might also like