ud1. instalación do software base dun sistema...

67
Juan Carlos Pérez González UD1. Instalación do software base dun sistema informático. Estrutura dun sistema informático. Dixitalización da información. Concepto de sistema operativo. Arquitectura dun sistema operativo. Funcións dun sistema operativo. Tipos de sistemas operativos. Licenzas e tipos de licenzas. Consideracións previas á instalación de sistemas operativos libres e propietarios. Instalación de sistemas operativos: requisitos, versións e licenzas. Instalacións desatendidas. Implementación de ficheiros de respostas. Interpretación, análise e elaboración de manuais de instalación de sistemas operativos. Actualización de sistemas operativos. Ficheiros de inicio de sistemas operativos. Rexistro do sistema. Actualización e mantemento de controladores de dispositivos. 1. Estructura de un Sistema Informático. Un sistema informático es un conjunto de elementos (software, hardware y ser humano) interconectados para el tratamiento de información. El más básico es un ordenador típico. Los más complejos son las redes, sistemas de procesamiento en paralelo,... 1

Upload: vuongkien

Post on 25-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

UD1. Instalación do software base dun sistema informático.

• Estrutura dun sistema informático.

• Dixitalización da información.

• Concepto de sistema operativo.

• Arquitectura dun sistema operativo.

• Funcións dun sistema operativo.

• Tipos de sistemas operativos.

• Licenzas e tipos de licenzas.

• Consideracións previas á instalación de sistemas operativos libres e propietarios.

• Instalación de sistemas operativos: requisitos, versións e licenzas.

• Instalacións desatendidas.

• Implementación de ficheiros de respostas.

• Interpretación, análise e elaboración de manuais de instalación de sistemas

operativos.

• Actualización de sistemas operativos.

• Ficheiros de inicio de sistemas operativos.

• Rexistro do sistema.

• Actualización e mantemento de controladores de dispositivos.

1. Estructura de un Sistema Informático.

Un sistema informático es un conjunto de elementos (software, hardware y ser humano)

interconectados para el tratamiento de información. El más básico es un ordenador típico. Los

más complejos son las redes, sistemas de procesamiento en paralelo,...

1

Page 2: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los elementos que lo forman:

– “hardware” o elementos físicos de carácter electrónico,

– “software” conjunto de programas que permiten al ordenador o computador es una

máquina útil. A su vez los podemos dividir en dos tipos:

• programas de sistema, es el sistema operativo que facilita al resto del software y al

usuario interactuar con la máquina accediendo a sus recursos...

• programas de aplicación, que realizan una acción concreta, p.e., gestión de clientes,

compresión de datos…

Entre el hardware y el software está un software especial, el firmware, generalmente grabado en

memoria no-volátil (ROM, EPROM...) y que establece la lógica de más bajo nivel (lenguaje

maquina o ensamblador) que permite controlar los dispositivos eléctrónicos del computador.

2. Representación digital de la información

Para representar la información utilizamos los sistemas de codificación. En el caso de los

ordenadores esta codificación es binaria (1 y 0), codificación que es la base de lenguaje

utilizado por los computadores. Cualquier información que deseemos representar en un

computador ser en una secuencia de ceros y unos. Ello es así ya que se fundamenta en el

aspecto biestable o conmutador de los componentes electrónicos (5 V o pasa corriente 0 V o no

pasa corriente)

Los datos, materia prima de la información, se clasifican en numéricos y alfabéticos.

• Códigos numéricos

Para facilitar su estudio estableceremos los siguientes conceptos:

Base: número de símbolos que se utilizan para la representación.

Rango de representación: dado el número N de cifras, el rango indica las cantidades

representables en el mismo.

Sistema posicional: el valor de los símbolos varía en función de la posición que ocupen.

Por ejemplo, el sistema decimal, que por obvio no lo analizaremos el número 6308 sería:

6·103 + 3·102+ 0·101 + 8·100 = 6308

Teorema fundamental de la numeración: Este teorema establece la forma general de construir

números en un sistema de numeración posicional.

2

Page 3: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

, número válido en el sistema de numeración.

, base del sistema de numeración. Número de símbolos permitidos en el sistema.

, un símbolo cualquiera de los permitidos en el sistema de numeración.

,: número de dígitos de la parte entera.

, coma fraccionaria. Símbolo utilizado para separar los decimales

,: número de dígitos de la parte decimal.

La fórmula general para construir un número N, con un número finito de decimales, en un sistema

de numeración posicional de base b es la siguiente:

Binario b=2 Decimal b=10 Octal b=8 Hexadecimal b=16

Los sistemas de numeración más utilizados son:

Decimal Octal Binario Hexadecimal

La siguiente tabla establece su equivalencia:

Decimal Binario Octal Hexadecimal

0 0 0 0 0 0 0

1 0 0 0 1 1 1

2 0 0 1 0 2 2

3 0 0 1 1 3 3

4 0 1 0 0 4 4

5 0 1 0 1 5 5

6 0 1 1 0 6 6

7 0 1 1 1 7 7

8 1 0 0 0 1 0 8

9 1 0 0 1 1 1 9

10 1 0 1 0 1 2 A

11 1 0 1 1 1 3 B

12 1 1 0 0 1 4 C

13 1 1 0 1 1 5 D

14 1 1 1 0 1 6 E

15 1 1 1 1 1 7 FTabla 1

3

Page 4: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

El SISTEMA BINARIO utiliza dos dígitos 1 y 0 denominados bit (binary bit).

a. Conversión de decimal en binario y binario a decimal. Hay varias formas, pero todas se

basan en la descomposición de potencias de dos del número decimal en cuestión. Consideremos

el número 54, su conversión en binario sería:

es decir, 54(10 = 110110(2

Otra forma sería establecer la tabla de potencias de 2:

128 64 32 16 8 4 2 1

0 0 1 1 0 1 1 0Tabla 2

Sumando las potencias en base 2 cuyo segunda fila corresponda con el valor 1 resulta 54.

Caso Práctico. Realiza la conversión binaria de los siguientes números decimales:

– 247

– 3129

Caso Práctico. Realiza la conversión de binario en decimal de los siguientes números:

– 1101100111

– 10110001

b. Conversión de una fracción decimal a binario. Para entenderlo mejor realizaremos un

ejemplo de conversión en binario del número 12,125 con tres bits de aproximación.

1. Parte entera: como el caso anterior. Según la tabla resulta 8 + 4, es decir, 1100(2

2. Parte fraccionaria: Multiplicamos la parte decimal por 2

◦ 0,125 · 2 = 0,250 si es inferior a 1 el binario que le corresponde es 0.

◦ 0,250 · 2 = 0,500 según lo anterior el binario también es 0

◦ 0,500 · 2 = 1 como es igual o superior a 1 entonces el binario sería 1.

3. Resultado 12,125(10 = 1100,001(2

4

Page 5: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Caso Práctico. A continuación realiza la conversión binaria de los siguientes números:

– 247,136

– 31,29

Si observamos detenidamente los casos prácticos vemos que utilizando el sistema binario algunos

números decimales nunca los podremos obtener con exactitud.

c. Conversión de un número binario en decimal. Se aplica el Teorema Fundamental de la

Numeración. Por ejemplo,

11,011 = 1·21+ 1·20 + 0·2-1 + 1·2-2 + 1·2-3 = 2 + 1 + 0 + 0,25 + 0,125 = 3,375

Caso Práctico. Realizar las conversiones a decimal de los números binarios siguientes:

– 11010,110101

– 10011,1001

d. Aritmética binaria. Las cuatro operaciones básicas de matemática en binario son

1. Suma

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 con acarreo posterior de 1

Veamos el siguiente ejemplo:

Caso Práctico. Convierte en binario y suma posteriormente los números 56 y 120.

2. Diferencia

0 - 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 1 con acarreo o préstamo anterior de 1

5

Page 6: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Veamos el ejemplo siguiente: 2 2

Si nos fijamos el 1 del minuendo (rojo) se pone a 0 y pasa a ser 2 en el término anterior.

Caso Práctico. Convierte en binario los números decimales 87 y 25 y realiza la resta.

3. Producto

0 x 0 = 0

0 x 1 = 0

1 x 0 = 0

1 x 1 = 1

La operación es bastante sencilla, ver el ejemplo

Caso Práctico. Realiza la siguiente operacion previa conversión a binario 56 x 112,

4. División binaria

0 / 1 = 0

1 / 1 = 0

6

Page 7: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Caso Práctico. Previa conversión a binario realiza la división 5 / 25 con 4 bits decimales.

El SISTEMA OCTAL utiliza 8 símbolos cuya equivalencia en binario es la siguiente.

Octal 0 1 2 3 4 5 6 7

Binario 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1Tabla 3

a. Cambio de decimal a octal. Hay dos formas.

• Igual que en binario realizamos las correspondientes divisiones pero en este caso el divisor

es 8. Con respecto a los decimales se tiene en cuenta la tabla siguiente:

8-1 8-2 8-3 8-4

0,125 0,015625 0,001953125 0,00048828125Tabla 4

Otra sería, más sencilla, primero a binario y luego agrupar las cifras de tres en tres.

a. 323 en binario es 101000011

b. 0,625 en binario

0,625 x 2 = 1,25 → 1

0,25 x 2 = 0,5 → 0

0,5 x 2 = 1 → 1

El número binario resultaría 101 000 011 101 agrupados de tres en tres.

El número octal resultaría 5 0 3 , 5

Caso Práctico. Realiza las siguientes operaciones:

– Convertir los números decimales 236,12 y 362,125 a octal.

– Realiza las operaciones suma y resta en octal.

El cambio de octal a decimal se realiza aplicando el Teorema Fundamental de la Numeración.

7

Page 8: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Así por ejemplo para pasar el número en octal 7236 podemos:

• 7·83 + 2·82 + 3·81 + 6·80 = 3742

• Pasar a binario y luego a decimal:

111 010 011 110 = 3742

Caso Práctico. Convierte en decimal y binario el siguiente número octal: 743

El SISTEMA HEXADECIMAL o sistema en base 16 utiliza 16 símbolos para representar

cantidades del 0...F.

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

Binario 0 0

0 0

0 0

0 1

0 0

1 0

0 0

1 1

0 1

0 0

0 1

0 1

0 1

1 0

0 1

1 1

1 0

0 0

1 0

0 1

1 0

1 0

1 0

1 1

1 1

0 0

1 1

0 1

1 1

1 0

1 1

1 1 Tabla 5. Conversión de Binario en Hexadecimal

a. Cambio de decimal a hexadecimal. Hay dos formas.

1. Tal como hicimos en binario realizamos las correspondientes divisiones pero en este caso

el divisor es 16.

2. Otra sería pasar primero a binario y luego agrupar las cifras de cuatro en cuatro.

a. 250 en binario es 11111010

b. 0,25 en binario

0,25 x 2 = 0,5 → 0

0,5 x 2 = 1 → 1

0 x 2 = 0 → 0

0 x 2 = 0 → 0

El número binario resultaría 1111 1010 0100 agrupados de cuatro en cuatro.

El número hexadecimal resultaría F A , 4

8

Page 9: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Caso Práctico. Realiza las siguientes operaciones

– Convertir los números decimales 236,12 y 362,125 a hexadecimal, el primero por la

forma 1 y el segundo por la forma 2.

– Realiza las operaciones suma y resta en hexadecimal.

b. El cambio de hexadecimal a decimal simplemente aplicando el Teorema Fundamental de la

Numeración. Así para pasar el número hexadecimal A2D podemos:

1. 10·162 + 2·161 + D·160 = 2605

2. Pasar a binario y luego a decimal:

1010 0010 1101= 2605

Caso Práctico. Convierte en decimal, octal y binario el siguiente número A3B03

• Representación de números negativos.

Hay cuatro formas básicas de representar los números negativos en binario.

1. Módulo y signo.

Es el más simple. Sus características son:

a. Utiliza el primer bit para indicar el signo: 0 para positivos 1 para negativos.

0100 sería el 4 decimal

1100 sería el -4 decimal

Caso Práctico. Representar el 53 y -53 en binario.

b. Al usar un bit para el signo el rango de representación disminuye en 1 es decir - 2n-1

hasta 2n-1

c. El cero tienen dos representaciones: 100...00 y 00...00 y ello da complicaciones.

d. Esta forma tiene el problema de la suma de que necesitamos comparar el valor absoluto

de cada número para determinar el signo final de la operación.

Otra consideración importante es la extensión del signo. Esta operación es necesaria cuanto

tenemos dos números de m y n bits siendo m>n, y consiste en añadir 0 para que ambos

números tengan el mismo número de bits.

Supongamos que tenemos el número 12 en 8 bits: 00001100 y el número -11 en número binario

de 6 bits 101011. Para operar con ambos números necesitamos añadir dos ceros al segundo

quedando 10001011.

9

Page 10: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

2. Complemento a 1.

a. Igual que el anterior utiliza el bit más a la izquierda para el bit de signo.

b. El número positivo se representa de la misma forma que módulo y signo pero el negativo

se realiza complementando todos sus dígitos, es decir, cambiando unos por cero y

viceversa.

c. El rango de representación, debido al bit de signo, es de - 2n-1 hasta 2n-1

d. El número 0 admite dos posibilidades 0000...0000 y 1111....1111

e. Las sumas y restas resultan sencillas pero si al final hay un acarreo debe sumarse al

final un 1 al resultado.

f. La extensión del signo se limita a repetir el bit de la izquierda. Si es positivo con ceros,

si es negativo con unos.

Caso Práctico. Realiza las siguientes sumas utilizando C-1 (utiliza 9 bits).

– -53 y -23

– -53 y 23

3. Complemento a 2.

a. Igual que el anterior utiliza el bit más a la izquierda para representar el bit de signo.

b. El número positivo se representa de la misma forma que módulo y signo pero el negativo

se realiza complementando todos sus dígitos, es decir, cambiando unos por ceros y viceversa

y al final se le suma 1.

c. El rango de representación es igual al anterior - 2n-1 hasta 2n-1-1

d. El número 0 admite una única representación 0000...0000.

e. Las sumas y restas resultan sencillas despreciando en este caso el acarreo.

f. La extensión del signo se limita a repetir el bit de la izquierda. Si es positivo con ceros,

si es negativo con unos.

Caso Práctico. Realiza las siguientes sumas utilizando C-2 (utiliza 9 bits).

– -53 y -23

– -53 y 23

4. Exceso a M

a. En este sistema los números se incrementan en un valor de M (utilizaremos el más

común 128). Ver los siguientes ejemplos:

10

Page 11: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

-128 se representa como 0 → 0000000

-23 se representa como 105 → 01101001

0 se representa como 128 → 10000000

127 se representa como 255 → 11111111

En la mayoría de los casos se utiliza como M = 2n-1 siendo n es el número de bits empleados

para la representación.

b. El rango de representación es igual al anterior - 2n-1 hasta 2n-1

c. El 0 tiene una única representación 1000...0000

Este sistema es el que se utiliza para la representación de números en coma flotante de la sección

siguiente y última en la representación de los números.

Representación de números reales.

Estableceremos las dos posibilidades: coma fija y coma flotante.

a. Coma fija.

Establece un número fijo de decimales. Por ejemplo en el caso de 16 bits, hay 7 bits para los

decimales, 8 para representar la parte entera entera y 1 para el signo.

Para representar el número 19,32 y -19,32 sería:

– 19,32(10 = 0 00010011,0101000(2

– -19,32(10 = 1 00010011,0101000(2

b. Representación en coma flotante

Para aumentar el rango de valores sin aumentar el número de bits se suele utilizar la codificación

basada en notación científica:

m·2 e

Este sistema recibe el nombre de coma flotante (recordar la tasa de rendimiento o capacidad de

procesamiento MFLOPS). Se dice flotante porque la coma en el código es variable en

función del valor del exponente a diferencia del anterior que era fija.

El sistema de representación en coma flotante tiene dos campos:

– mantisa o m

– exponente o e

A su vez el bit más significativo (más a la izquierda) de la mantisa contiene el signo. La

mantisa se codifica en coma fija (entera o fraccionaria) y el exponente siempre entera. Existen tres

formatos en coma flotante:

Directo signo mantisa exponente

11

Page 12: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Comparación rápida signo exponente mantisa

Precisión ampliada signo exponente signo mantisa

Expondremos cada caso con tres ejemplos.

• Directo. Supongamos el código de 16 bits, con mantisa de 10 y exponente de 5. Ambos

los representaremos en complemento a 2. Por ejemplo,

0 0101100000 01011 = 0,01011 · 21011 = 0,34375 · 211 = 704(10

1 1010100000 01011 = - 0,34375 · 211 = 704(10 (recuerda mantisa está en C-2)

La representación en coma flotante exige cierto cuidado en su manejo porque un valor puede

tener más de una representación válida. Para evitar esto lo que se hace es normalizar la

representación, es decir, que el primer bit significativo de la mantisa ocupe la posición

inmediatamente a continuación del signo. Así el primer ejemplo resuelto 704, habría que restar

una unidad al exponente (unidad no un bit), es decir de exponente 11 (once) a exponente (10)

s m e

0 1011000000 001010

• Comparación rápìda. Permite realizar comparaciones tal como indica su nombre, rápidas.

Siempre será mayor un número positivo que uno negativo (signo de la mantisa). Si

son del mismo signo será mayor aquel que tengo mayor exponente, y finalmente

compararíamos la mantisa.

• Precisión ampliada. En este caso deberemos trabajar con codificaciones

normalizadas. Ello implica que el pimer bit de la mantisa es siempre el complemento

del signo. Así, no será necesario incluirlo en la codificación pudiendo así ampliarse la

precisión al ampliar o disponer del bit adicional de la mantisa. Se le denomina bit

implícito.

Ejemplo. Representemos en coma flotante los números 704 y -704 con 16 bits, con 5 para el

exponente, 10 bits mantisa, 1 bit de signo y precisión ampliada.

704 → 0 010110000 01011 → normalizamos → 0 10110000 01010

El número negativo se puede obtener de varias maneras. Para no complicar el tema haremos solo

una, la más sencilla, el C-2 del número positivo.

1 01010000 01010

Para ir finalizando dos consideraciones.

12

Page 13: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

La precisión, puede ser:

– simple precisión: la palabra es de 32 bits = 1 bit signo + 8 bits exponente + 23 bits

mantisa

– doble precisión: la palabra es de 64 bits = 1 bit signo + 11 bits exponente + 52 bits

mantisa.

Para fijar las ideas se describirá el sistema IEEE 7541 que es el estándar de artimética en coma

flotante y utiliza ambas precisiones.

– emplea mantisa fraccionaria

– la mantisa se representa en el sistema de módulo y signo

– utiliza el formato de precisión ampliada, valiendo siempre 1 el bit implícito

– la coma se sitúan a la derecha del bit implícito, siendo este la parte entera de la mantisa

– el exponente se representa en exceso a 2n-1 -1. Siendo n los de bits del exponente.

Signo 1 bit Exponente 8 o 11 bits Mantisa 23 o 52 bits

Una forma sencilla, aunque no muy elegante, de calcular un número en IEEE 754 es seguir los

siguientes pasos:

1. Si es + un 0 como bit de signo, si es negativo un 1.

2. Se calcula la potencia inmediatamente inferior en base dos al número y se hace el exceso

a M (127 en simple precisión o 1023 en doble precisión) sumando el número de bits de la

potencia a M.

3. Se calcula la división entre el número propuesto y la potencia obtenida, el resultado lo

pasamos a binario como hicimos al principio de la Unidad. Para obtener la precisión se

rellena con 0.

• Códigos alfanuméricos.

Uno de los aspectos fundamentales de los códigos alfanuméricos es su estandarización. Los

más usuales deben tener las siguientes características:

– representar juego de caracteres:

– letras del alfabeto mayúsculas y minúsculas

– signos de punutación ( , . ? * % …6

– las 10 cifras decimales 0...9

– los caracteres de control o órdenes entre dispositivos NUL, DEL, ESC, LF

– la longitud oscila entre los 6 y 16 bits

– el sistema será de codificación directa

1 Existe applets por Internet que convierte números en base decimal en formato IEEE 754 http://www.zator.com/Cpp/E2_2_4a1.htm

13

Page 14: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los más destacados son:

1. FIELDATA: de 6 bits. Es una extensión del código BCD numérico al cual se añaden dos bits,

llamados de zona (columna). Permite 64 caracteres.

2. ASCII: El código ASCII (de American Standard Code for Information Interchange — Código

Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente [áski],

es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en

otras lenguas occidentales. En los años 60 cuando se creó utilizaba 7 bits que permitía 128

caracteres. se utilizaron 8 bits (mal llamado ASCII extendido) que permite 256 caracteres. El

código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres

de control códigos no pensados originalmente para representar información imprimible, sino para

controlar dispositivos (como impresoras) que usaban ASCII.

14

Page 15: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

3. UNICODE: es un estándar de codificación de caracteres diseñado para facilitar el tratamiento

informático, transmisión y visualización de textos de múltiples lenguajes y disciplinas técnicas,

(p.e. Braille) además de textos clásicos de lenguas muertas. El término Unicode proviene de los

tres objetivos perseguidos: universalidad, uniformidad y unicidad. Utiliza 16 bits lo que supone

65536 caracteres. La mayoría de los líderes de la industria informática Microsoft, IBM, Apple... lo

han adaptado y es imprescindible para los estándares de Java, XML, JavaScript, CORBA.... Su

incorparación a Internet como estándar en la representación de códigos supuso una disminución

en los costos de uso de caracteres en las aplicaciones cliente servidor. Apareción con los primeros

Windows NT e IE y Netscape en su versión 4,

4. BCD y EBCDIC: BCD significa decimal codificado binario es simplemente codificar los números

del 0...9 en binario agrupando en cuartetos. En la página anterior se incluye la tabla. Existen

variaciones sobre este, código Gray, código Aiken...

EBCDIC (Extended Binary Coded Decimal Interchange Code) es un código estándar de 8 bits

usado por sus computadores mainframe de IBM. Es una extensión del anterior.

• Representaciones redundantes: corrección de errores

Aunque la tasa de errores en la transferencia de datos suele ser baja en los ordenadores existe la

necesidad de establecer algún de corrección de errores. De los varios que hay solo estudiaremos

los más importantes:

• Paridad: Hay dos tipos de bits de paridad: bit de paridad par y bit de paridad impar.

◦ Código de paridad par :El bit de paridad será un 0 si el número total de 1 a transmitir

es par, y un 1 si el número total de 1 es impar.

◦ Código de paridad impar: El bit de paridad será un 1 si el número total de 1 a

transmitir es par y un 0 si el número total de 1 es impar.

Supongamos el siguiente ejemplos: tenemos el carácter original 0111001. Vemos que la trama a

transmitir tiene un número par de unos (4). Al añadir el bit de paridad obtendremos el siguiente

carácter, que es el que se transmitirá a destino:

Si usamos paridad par, ya hay un número par de unos, por tanto se añade un 0, y transmitiremos

00111001

Si se envía el dato y durante la transmisión se produce un único error, el destinatario puede

detectarlo al comprobar la paridad en destino, por ejemplo, se recibe 00110001 en vez de

00111001. Al comprobar el número de unos nos salen 3 (impar), luego se ha producido un error.

Este sistema se mejora si utilizamos paridades longitudinales y transversales donde además de

15

Page 16: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

detectar el error podemos localizarlo.

• CRC: códigos de redundancia cíclica. La comprobación de redundancia cíclica (CRC)

es un tipo de función que recibe un datos de cualquier longitud como entrada y devuelve

un valor de longitud fija como salida. El término suele ser usado para designar tanto a la

función como a su resultado. Pueden ser usadas como suma de verificación para detectar

la alteración de datos durante su transmisión o almacenamiento en hardware con lo que

permite verificar la integridad de los datos pero no para verificar si los datos recibidos o

guardados son correctos.

El algoritmo utilizado por el CRC es el siguiente:

Se añaden r "0" (ceros) a la derecha del mensaje (esto es, se añaden tantos ceros como grado

tenga el polinomio generador). Se divide el polinomio obtenido por el polinomio generador.

Después se añade el resto de la división a la derecha del mensaje original. La elección del

polinomio generador es esencial si queremos detectar la mayoría de los errores que ocurran. Uno

de los polinomios generadores que más se suelen utilizar es el estándar CCITT:

x16 + x12 + x5 + 1.

Una vez recibido el mensaje o antes de almacenarlo se realiza la división por el

polinomio generador siendo que ser divisible y en caso contrario habría un error en la

transmisión y almacenamiento.

• Código Hamming: son códigos correctores que permite detectar errores y corregirlos.

Consiste en añadir un bit de paridad en las posiciones que coincidan con las potencias

de 2. Al enviar el dato de siete bits, este es recibido como un paquete formado por (D6 D5

D4 D3 D2 D1 D0) donde no se reconoce quien es información y/o quien es control. Sin

embargo, con el método se realizan tres grupos de detección y corrección formado por

cuatro bits cada uno, los cuales siempre deben tener paridad par. Estos grupos están

resaltados de gris en la figura 1.7 y forman tres cuartetos agrupados de la siguiente

forma: (I7 I5 I3 C1); (I7 I6 I3 C2); (I7 I6 I5 C4). Ellos sirven tanto para generar, detectar y

16

Page 17: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

corregir datos con distancia uno y dos respectivamente.

Este sistema o similares son utilizados en los discos de paridad en los sistemas RAID-5

y RAID-6

• Compactación de la información

A veces se hace necesario almacenar o trasmitir gran cantidad de información y donde resulta

conveniente reducir su tamaño. Hay dos técnicas fundamentales:

1. lossy que se refiere a ficheros comprimidos con pérdidas. Utilizado en archivos

multimedia, códecs... El objetivo es representar cierta cantidad de información utilizando

una menor cantidad de la misma, siendo imposible una reconstrucción exacta de los datos

originales y siendo esa información perdida no imprescindible. En archivos gráficos

determinados colores que son similares o imágenes no perceptibles suelen omitirse a la

hora de guardar el archivo de forma que reducimos el tamaño. Igual sucede en formatos

de archivo como mp4 en los cuales determinadas frecuencias imperceptbiles al oído

humano no se perciben y como tal no se guarda. Existen códecs predictivos capaces de

reconstruir a partir de la información guardada información que se desestimó en su

momento. Muchos de los códecs de video e imágenes hacen uso del mismo.

2. lossless que se refiere a archivos comprimidos sin pérdidas. Se utiliza

preferentemente en archivos de texto. La compresión sin perdidas es una técnica que

consiste en la garantía de generar un duplicado exacto del flujo de datos de entrada

después de un ciclo de compresión / expansión . Es generalmente implementada usando

uno o dos diferentes tipos de modelos: estático o basado en diccionario. Por ejemplo si

17

Page 18: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

observamos que una palabra o carácter tiene la probabilidad de que aparezca en mayor

grado se representaría con código más sencillos. El algorimo más utilizado y conocido es

el Lempel-Ziv y derivados del que muchos programas como Winzip, Winrar, Gzip... hacen

uso. También formatos multimedia como PNG y WAV lo utilizan.

• Medidas de la información

◦ Byte

◦ Kilobyte = KB

◦ Megabyte = MB

◦ Gigabyte = GB

◦ Terabyte = TB

◦ Petabyte = PB

◦ Exabyte = EB

◦ Zettabyte = ZB

◦ Yottabye = YB

◦ Brontobyte = BB (aún no está reconocido Y tampoco el siguiente GeopByte)

1 Byte = 8 bits o 2 nibble

1 KB = 1.024 Bytes

1 MB = 1.048.576 Bytes

1 GB = 1.073.741.824 Bytes

1 TB = 1.099.511.627.776 Bytes

1 PB = 1.125.899.906.842.624 Bytes

1 EB = 1.152.921.504.606.846.976 Bytes

1 ZB = 1.180.591.620.717.411.303.424 Bytes

1 YB = 1.208.925.819.614.629.174.706.176 Bytes

1 BB = 1.237.940.039.285.380.274.899.124.224 Bytes

3. Concepto de Sistema Operativo

Conjunto de programas que se integran con el hardware para facilitar al usuario el

aprovechamiento de los recursos disponibles. Algunos de sus objetivos principales son:

• Proveer de un ambiente conveniente de trabajo

• Administrar y controlar la ejecución de los programas

• Detección y corrección de errores

• Proveer de una adecuada asignación y distribución de los recursos

18

Page 19: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

4. Arquitectura de un sistema operativo

La arquitectura de un sistema operativo viene determinada por las funciones que realiza este y

que veremos en el apartado siguiente de la UD. Si hay dos funciones que destacan sobre todas es

el control de los procesos a ejecutar y la gestión o administración del sistema de ficheros

que soporta el sistema operativo.

Para estudiar la arquitectura de los sistemas operativos nos centraremos en los dos de mayor

influencia actualmente: los de la familia Windows y en concreto los basados en la arquitectura NT

y los basados en el núcleo de Linux.

1. Arquitectura Windows NT

19

Page 20: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los conceptos más importantes que debemos tener en cuenta en la arquitectura NT son:

• HAL (Hardware Abstraction Layer): Es una librería dinámica de funciones (HAL.DLL)

que permiten controlar tareas relacionadas con el hardware:

◦ Gestión del DMA.

◦ Caché de datos e instrucciones.

◦ Errores hardware.

◦ Control de interrupciones.

◦ Gestión de los buses…

◦ Independizra al resto de componentes del sistema operativo de la arquitectura

hardware

• Kernel: Se encarga de la gestión del procesador. Entre sus funciones están:

◦ Cambio del proceso en ejecución.

◦ Sincronización multiprocesador.

◦ Gestión de interrupciones, excepciones y traps.

◦ Ofrece diferentes objetos necesarios en otros ámbitos del sistema operativo

(temporizadores, semáforos, etc.).

◦ Independiza al resto de componentes del sistema operativo de la arquitectura hardware

(en especial del procesador).

• Ejecutivo: Se encarga de:

◦ Realizar las operaciones de E/S

◦ Asignar y retirar zonas de memoria a los procesos

◦ Planificar la ejecución de los procesos, gestionar la caché de E/S

◦ Gestionar el mecanismo de comunicación entre procesos y elementos del sistema

(LPC)

◦ Gestionar objetos software (procesos, operaciones de E/S, permisos, etc.)

◦ Verificar permisos y validar las operaciones a realizar y gestionar el registro del sistema

(elemento que contiene la configuración del sistema operativo).

A los servicios del ejecutivo se accede empleando el NT Native API (en el arranque del

20

Page 21: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

sistema).

• Ventanas y gráficos: Se encarga de:

◦ Gestionar dispositivos apuntadores y de entrada de datos

◦ Dar forma a los datos para presentación en pantalla y gestionar ventanas y gráficos en

pantalla.

Se puede considerar que forma parte del ejecutivo del sistema.

• Subprocesos del sistema: Son subprocesos cuyo código se ejecuta siempre en modo

kernel (protegido). Los subprocesos son la unidad básica que se asigna al procesador.

Entre otras funciones el sistema de subprocesos se encargan de:

◦ Detectar el funcionamiento de los dispositivos E/S

◦ Analizar periódicamente el grado de ocupación de la memoria

◦ Detectar interrupciones, etc...

• NTDLL.DLL: API de funciones que permiten acceder a los servicios del ejecutivo desde

aplicaciones en modo usuario.

• Subsistemas de entorno:

◦ Crean el entorno necesario para ejecutar en Windows NT aplicaciones desarrolladas

para otros sistemas operativos (POSIX, OS/2, Windows 16 bits, Windows 32 bits, etc.).

◦ El subsistema Windows 32 bits está siempre arrancado porque lo precisan muchos

elementos de Windows NT. El resto de subsistemas se arranca sólo si alguna

aplicación lo demanda.

◦ Por cada sistema operativo simulado, existe una o varias librerías (DLLs) que

establecen la relación entre las funciones del sistema operativo simulado y las de

Windows NT (Windows 32 bits).

• Aplicaciones de usuario:

◦ Programas de usuario tales como editores de texto, compiladores, clientes de correo

electrónico, navegadores WEB, etc.

◦ Acceden a los servicios del sistema operativo a través de las librerías de subsistema

de entorno.

• Servicios:

◦ Son procesos que ofrecen algún tipo de servicio a otros procesos locales o remotos.

21

Page 22: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

◦ No registran ninguna actividad mientras no reciban ninguna petición de un cliente.

• Procesos del sistema

◦ Son procesos que forman parte del sistema operativo y que realizan tareas tales como:

autenticación de usuarios, gestión de servicios, administración de sesiones de trabajo

de los usuarios.

2. Arquitectura del sistema Linux

A grandes rasgos se puede diferenciar entre el espacio de usuario y el núcleo o kernel, en un

sistema GNU/Linux:

El núcleo o kernel a su vez tiene la siguiente estructura donde el nombre de los módulos son

autodescriptivos:

22

Page 23: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las

extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo

(ring 0), con acceso exclusivo al hardware, aunque algunos se ejecutan en espacios del usuario.

A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las

extensiones al núcleo se pueden cargar y descargar fácilmente como módulos cuando se

necesitan. También, a diferencia de los núcleos monolíticos tradicionales, los controladores

pueden ser detenidos momentáneamente por otros procesos bajo ciertas condiciones.

(interrupciones)

Como se observa hay:

– manejador de memoria: que administra el recursos de memoria que deben ocupar los

procesos

– manejador de CPU: o planificador de que procesos acceden al procesador

– manejador de dispositivos: administra la gestión de procesos

– sistema de ficheros: administra el sistema de ficheros del sistema operativo.

5. Funciones de un sistema operativo

El sistema operativo gestiona los siguientes recursos básicos:

• La memoria

• El procesador

• Los dispositivos de entrada/salida

Gestión del sistema de ficheros

Asimismo tiene otras funciones como control de acceso, comunicaciones... aunque solo

veremos en profundidad los cuatro mencionados.

A. Gestión de memoria

El módulo MMU (unidad de administración de memoria) se encarga de la gestión de memoria. Los

requisitos a cumplir en la gestión de la memoria son:

• traducir direcciones memorias lógicas en físicas

23

Page 24: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• proteger zonas de memorias de distintos procesos del acceso de otros, para ello se

utilizan registros base de memoria y registros límite de ocupación, valores entre los

cuales que ningún otro proceso puede ocupar

• flexibilidad para determinadas zonas sean comunes para más de un proceso y sobre

todo de librerías dinámicas que comparten diferentes procesos

Antes de tratar el gestor de memoria señalar que, en principio, siempre es necesario dividir un

proceso en partes o fases que permitan su paso a memoria (overlay)

La gestión de la memoria se puede llevar a cabo de diferentes formas:

• Particiones estáticas de tamaño igual: el sistema operativo ocupa una posición fija de la

memoria principal y el resto es disponible para los procesos dividida en particiones con

límites fijos. Cualquier proceso, con un tamaño menor o igual que el de la partición, puede

cargarse en cualquier partición libre. El tamaño de las particiones condiciona el tamaño

máximo de los programas. Existe el problema de la fragmentación interna parte de la

memoria de la partición será desperdiciada (no se puede asignar a otro proceso). El uso de

la memoria así es extremadamente ineficiente.

24

Page 25: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Particiones estáticas de distinto tamaño: se resuelve en parte el problema de la

fragmentación interna al ser los tamaños de las particiones son diferentes para que se

ajusten a ellos los procesos de similar grado de ocupación de memoria.

• Particiones dinámicas: Al cargar un proceso se le asigna exactamente tanta memoria

como necesita. Resuelve el problema de la fragmentación interna pero aparece el de

fragmentación externa.

25

Page 26: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Para resolver el problema de la fragmentación se usa la compactación de la memoria de

los partes que se liberaban pero ello origina una sobrecarga de trabajo al procesador.

• Sistema de colegas: es un sistema intermedio a los anteriores que consiste en dividir la

memoria en tamaños lo más próximos posibles a la cantidad solicitada por el

proceso. Cuando queda libre la porción de memoria se fusiona con porción libre más

cercana (ver la figura)

Figura. Sistema de Colegas

Para controlar que espacios de memoria están libres y ocupados se utilizan dos métodos:

- mapa de bits: La memoria se divide en unidades de asignación y a cada unidad de

asignación se le asigna un bit en un mapa de bits. 0 si está ocupado y 1 si está libre.

- listas enlazadas: Se mantiene una lista (estructura de datos) que enlaza los

segmentos de memoria asignados y libres, donde un segmento es un proceso o un hueco

entre dos procesos

• Memoria virtual

El tamaño del programa o proceso, sus datos y su pila podría exceder la cantidad de memoria

física o RAM que se le puede asignar. El sistema mantiene un número de partes del proceso en

memoria y el resto en disco. Hay dos técnicas básicas para llevar a cabo procesos de memoria

virtual: paginación y segmentación.

26

Page 27: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Paginación: divide el proceso en páginas (direcciones virtuales) y la memoria en

marcos de página (direcciones físicas) ambas de igual tamaño. La MMU lo que hace

es traducir las direcciones virtuales en físicas y así distribuir las páginas (partes del

proceso) en los correspondientes marcos de página.

Cuando el número de páginas excede a los marcos de página y se solicita una página que no se

encuentra en memoria tiene lugar lo que se conoce como fallo de página. El gestor MMU debe

dejar un marco de página libre para cargar la página solicitada. El control de gestión de las

páginas se facilita por la denominada tabla de páginas que controla las libres y las ocupadas.

• Segmentación: proporciona al proceso espacios de direcciones completamente

independientes (segmentos). La diferencia con respecto a la paginación es que los

segmentos son de tamaño variable pero tiene el problema de la fragmentación externa.

27

Page 28: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Existe una alternativa, la segmentación-paginada que consiste en dividir el segmento en marcos

de página evitando en parte el problema de la fragmentación externa.

Hay varios algoritmos de gestión que permiten administrar las páginas que deben ser retiradas

para que se carguen otras que son solicitadas. A saber:

• LRU: la menos usada recientemente que es la primera en salir.

• FIFO: la primera en entrar la primera en salir, tiene una variación la de la segunda

oportunidad, solo sale la página si es dos veces referenciada.

• Algoritmo de reloj, si se produce un fallo de página sale la que se está referenciando

mediante una lista circular

Hay algunos más pero estos son los más destacados.

28

Page 29: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

En Linux la gestión de memoria se realiza mediante paginación por demanda en tres niveles

siendo el tamaño de la página de 4 KB. Para gestionar las páginas libres utiliza el sistema de

colegas. El kernel siempre está en memoria nunca se paginará en disco.

En Windows utiliza también paginación por demanda con tamaño de página de 4 KB. En las

versiones Server el núcleo del sistema ocupa sobre 2GB y tampoco se pagina en disco.

B. Gestión de Procesos

Los procesos son una de las abstracciones más importantes que proporcionan los SO ya que

permiten la capacidad de operar (pseudo) concurrentemente, incluso cuando hay sólo una CPU

disponible, dicho de otro modo, convierten una CPU en varias CPU's virtuales.

El proceso se puede definir como un programa en ejecución. Todo el software ejecutable en

la computadora se organiza en varios "procesos secuenciales". Así, un proceso no es mas que

una instancia de un programa en ejecución, incluyendo los valores actuales del contador de

programa, los registros y las variables. En teoría, cada proceso tiene su propia CPU virtual, pero

en la realidad, la CPU real conmuta de un proceso la otro. Esta conmutación rápida de un

proceso la otro se conoce cómo como "multiprogramación".

Varios procesos pueden compartir un solo procesador mediante lo uso de un algoritmo de

planificación para determinar cuándo se debe detener el trabajo en un proceso para dar servicio

la otro. El sistema operativo ofrece una serie de servicios que permiten definir la vida de un

proceso. Esta vida está constituida por las siguientes fases o estados: creación, ejecución y

muerte del proceso.

Hay cuatro eventos principales que provocan la creación de procesos:

1. El arranque del sistema.

2. La ejecución, desde un proceso, de una llamada al sistema para creación de otros

procesos.

3. Una petición de usuario para crear un proceso.

4. El inicio de un trabajo por lotes.

Los procesos que permanecen en segundo plano para manejar ciertas actividades como correo

electrónico, páginas Web, impresiones, etc... se conocen cómo demonios (daemons). En

UNIX/Linux podemos utilizar el programa ps para listar los procesos en ejecución, en Windows

podemos emplear el Administrador de Tareas.

En todos estos casos, para crear un proceso hay que hacer que un proceso existente ejecute una

llamada al sistema de creación de procesos. Esta llamada al sistema indica al SO que cree un

proceso y le indica, directa o indirectamente, que programa debe ejecutarlo.

29

Page 30: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Figura. Estados de un proceso

En UNIX/Linux sólo hay una llamada al sistema para crear un proceso: fork. Esta llamada crea

un proceso hijo que puede provenir de un proceso padre. Después de fork, los dos procesos

(padre y hijo) tienen la misma imagen de memoria, las mismas cadenas de entorno y los

mismos archivos abiertos.

Por lo contrario, en Windows una sola llamada a una función de Win32 (Createprocess) maneja

la creación de procesos y carga el programa correcto. Esta llamada tiene 10 parámetros, que

incluyen desde el programa a ejecutar, los parámetros de la línea de comando para introducir

datos de ese programa hasta varios atributos de seguridad, bits que controlan si los archivos

abiertos se heredan, información de prioridad, una especificación de la ventana que se va a

crear para el proceso (si se va a crear una) y un apuntador a una estructura donde se devuelve al

proceso que fijo la llamada a la información acerca del proceso recién creado.

Tanto en UNIX como en Windows, una vez que se crea un proceso, el padre y el hijo tienen sus

propios espacios de direcciones distintos.

Los procesos pueden ejecutarse de dos formas: batch e interactiva.

• Un proceso que se ejecuta en modo batch, también llamado background, deberá tomar

sus datos de entrada de un archivo y luego depositar sus resultados en otro archivo.

• Un proceso que se ejecuta en modo interactivo, recibe la información del usuario por un

terminal por lo que contesta que los resultados.

Por lo general, los procesos terminan por uno de los siguientes motivos:

1. Salida normal (voluntaria). La mayoría de los procesos terminan debido la que

concluyeron su trabajo y ejecutan una llamada al sistema para indicar al SO que terminó.

Esta llamada es exit en UNIX y ExitProcess en Windows.

2. Salida por error (voluntaria).

3. Error (involuntaria).

4. Eliminado por otro proceso (involuntaria).

30

Page 31: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Se puede ejecutar una llamada al sistema que indique al SO que elimine otros procesos. En UNIX

esta llamada es kill. La misma función en Win32 es TerminateProcess.

Para implementar el modelo de procesos, los SO mantiene una tabla llamada tabla de procesos

o bloques de control de procesos BCP con sólo una entrada por cada proceso Esta entrada

contiene información importante acerca del estado del proceso, incluyendo su contador de

programa,apuntador de pila, asignación de memoria, estado de sus archivos abiertos, información

de contabilidad y planificación, y todo lo demás que debe guardarse acerca del proceso cuando

este cambia de estado "en ejecución" a "listo" o "bloqueado", de manera que se pueda reiniciar

posteriormente como se nunca se había detenido. Hay que recalcar que los campos contenidos

en la tabla de procesos varía de un sistema la otro, pero en esta tabla se nos da una idea general

del tipo de información precisa.

Con cada clase de E/S hay una localización asociada llamada vector de interrupción. Esta

localización contiene la dirección del procedimiento del servicio de interrupciones.

De manera resumida, el manejo de interrupciones y la planificación de procesos funciona de

la siguiente manera:

• PASO 1: El dispositivo da la señal de interrupción.

• PASO 2: El procesador finaliza la instrucción en curso.

• PASO 3: El procesador comprueba la interrupción y envía señales de reconocimiento.

• PASO 4: Se guarda el valor de BPC y del CP en la pila.

• PASO 5: Se carga en el PC la dirección de la rutina de tratamiento de interrupción.

31

Page 32: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

En los SO tradicionales, cada proceso tiene un espacio de direcciones y un solo hilo de

control. Con todo, con frecuencia hay situaciones en las que es conveniente tener varios hilos

de control en el incluso espacio de direcciones que se ejecutan en cuasi-paralelo, como se fueran

procesos (casi) separados (excepto polo espacio de direcciones compartido). Se conoce como

cambio de contexto al cambio en el modo de trabajo del procesador.

Los diferentes modos de trabajo son:

– Supervisor.

– Usuario.

La atención de una interrupción conlleva los denominados cambios de contexto tal como se

muestra en la figura

Figura. Cambio de contexto. Se salva el BCP del proceso

• Hilos o Threads

La principal razón de tener hilos es que en muchas aplicaciones se desarrollan varias

actividades a la vez. La justificación de tener procesos es la misma que la de tener hilos. Sólo

32

Page 33: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

que ahora, con los hilos, agregamos la habilidad de las entidades en paralelo de compartir un

espacio de direcciones y todos sus datos entre ellas. Un ejemplo sería , el Word (proceso) con

varios hilos abiertos (documentos)

Un segundo argumento para tener hilos es que, como son mas ligeros que los procesos, son

más fáciles de crear (mas rápido) y destruir. En muchos sistemas, la creación de un hilo es de 10

a 100 veces mas rápida que la de un proceso.

Una tercera razón de tener hilos es también un argumento relacionado que el rendimiento. Los

hilos no producen un aumento en el rendimiento cuando todos ellos están ligados a la CPU, pero

cuando hay una cantidad considerable de cálculos y operaciones de E/S, al tener hilos estas

actividades pueden solaparse, que el que se agiliza la velocidad de la aplicación.

La cuarta y última razón es que los hilos son muy útiles en sistemas con varias CPUs donde,

gracias la ellos, es posible conseguir el verdadero paralelismo o ejecución simultánea (no es lo

mismo que concurrente) de varios hilos.

Cuando un ordenador se multiprograma, con frecuencia tiene varios procesos o hilos que

compiten por la CPU al mismo tiempo. Si sólo tenemos una CPU disponible, hay que decidir

que proceso se va a ejecutar a continuación. La parte del SO que realiza esta decisión se conoce

cómo planificador de procesos y el algoritmo cómo algoritmo de planificación. Muchas de las

cuestiones que se aplican a la planificación de procesos también se aplican a la planificación de

hilos, aunque algunas son distintas. Cuando el kernel administra hilos, por lo general la

planificación se lleva a cabo por hilo, e importa muy poco (o nada) la que proceso pertenece ese

hilo. Dividiremos los algoritmos de planificación atendiendo la tres entornos distintas:

1. Procesamento por lotes. En estos sistemas no hay usuarios que esperen una respuesta

rápida. Por lo tanto, son aceptables los algoritmos no apropiativos. Este método reduce

la conmutación de procesos y por lo tanto, mejora el rendimiento ya que al disminuir el

tiempo de retorno (minimizando el tiempo entre la entrega y la terminación) y mantener

ocupada a CPU todo el tiempo

2. Interactivo. En este entorno es preciso evitar que un proceso “absorba” la CPU y niegue

el servicio a las demás, es un algoritmo apropiativo. Se busca que se responda a las

peticiones con la mayor rapidez posible.

3. De tiempo real. En estos sistemas se busca evitar, sobre todo, la pérdida de datos y evitar

la degradación de la calidad en los sistemas multimedia.

Mencionaremos los algoritmos de planificación más comunes:

• Primero en entrar, primero en ser atendido (FCFS,First-Come, First-Served) o FIFO.

Se trata de un algoritmo "no apropiativo". Con este algoritmo, la CPU se asigna a los

33

Page 34: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

procesos en la orden en la que la solicitan. Ningún proceso se interrumpe.

• El trabajo mas corto primero (SJF, Shortest Job First). También es un algoritmo no

apropiativo, pero en este caso supónse que los tiempo de ejecución se conocen de

antemano. Cuando hay varios trabajos de igual importancia esperando a ser iniciados en la

cola de entrada, el planificador selecciona el trabajo mas corto.

• El menor tiempo restante a continuación (SRTN, Shortest Remaining Time Next). Una

versión del algoritmo del tipo "el trabajo mas corto primero". Con este algoritmo, el

planificador siempre selecciona el proceso cuyo tiempo restante de ejecución sea lo

mas corto. Si el joven trabajo precisa menos tiempo para terminar que el proceso actual,

este se suspende y el joven trabajo se inicia.

• Planificación por turno circular (Round-Robin). A cada proceso se le asigna un

intervalo de tiempo, conocido como quántum, durante lo que se le permite ejecutarse. Si

el proceso segue ejecutándose al final diera tiempo, la CPU es apropiada para dársela la

otro proceso. Si el proceso se bloquea o remata antes de que remate el tiempo, la

conmutación de la CPU se realiza cuándo eso ocurre. El tiempo del quántum es una

cuestión interesante: si es demasiado corto, se producen demasiadas conmutaciones

entre procesos y se reduce la eficiencia de la CPU, pero sí se establece demasiado largo

se pode producir una mala respuesta a las peticiones interactivas cortas. Normalmente, el

quántum tiene una duración de entre 20 y 50 ms.

• Planificación por prioridad. Cada proceso se le asigna una prioridad y el proceso

ejecutable con la prioridad mas alta es lo que se pode ejecutar. Para evitar que los

procesos con alta prioridad se ejecuten de manera indefinida, el planificador puede reducir

la prioridad del proceso actual en ejecución en cada pulso de reloj.

Existen algunos más pero o no son representativos o bien variaciones de los anteriores.

En un sistema de tiempo real (por ejemplo un ordenador de una avión), el tiempo de respuesta

desempeña es esencial. Por lo general, uno o mas dispositivos físicos externos a la computadora

generan estímulos y esta debe reaccionar de manera apropiada la ellos dentro de cierto espacio

de tiempo. El comportamiento en tiempo real se consigue dividiendo el programa en varios

procesos, donde el comportamiento de cada uno de estos es predecible y se conoce de antemano

y tienen un tiempo de vida corto y prioridades diferentes. (por ejemplo no es lo mismo la señal

de falta de combustible que la señal de luces de apagado de cabina).

C. Gestión del Sistema de Ficheros

Los objetivos fundamentales del servidor de archivos son los siguientes:

34

Page 35: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Facilitar lo manejo de los dispositivos periféricos. Para eso ofrece una visión lógica

simplificada de los mismos en forma de archivos.

• Proteger a los usuarios, poniendo limitaciones a los archivos que es capaz de

manipular cada usuario.

• Control del espacio disponible en disco

• Mantenimiento de la estructura de directorios y nombre de los archivos.

Los servicios que se engloban en el servidor de archivos son de dos tipos:

• Los servicios dirigidos al manejo de datos.

• Los dirigidos al manejo de los nombres, o directorios.

El servidor de archivos ofrece al usuario una visión lógica de una serie de objetos (archivos y

directorios) identificables por un nombre lógico sobre los que realiza una serie de operaciones.

La visión física incluye los detalles de cómo están almacenados estos objetos en los periféricos

corresponsales.

Los Sistema de archivos (FS, File System) son el conjunto de archivos incluidos en una unidad

de disco. El sistema de archivos está compuesto polos datos de los archivos, así como por toda la

información auxiliar que se requiere (boot, metainformación...).

Los SO soportan varios tipos de archivos:

• Los archivos regulares son los que contienen información del usuario.

• Los directorios son archivos especiales empleados para mantener la estructura del

sistema de archivos y que básicamente contienen las direcciones en disco del cluster o

sectores donde se alberga el archivo.

• Los archivos especiales de caracteres se relacionan con la entrada/salida y se utilizan

para modelar dispositivos de E/S de caracteres, por ejemplo, impresoras.

• Los archivos especiales de bloques se utilizan para modelar discos.

Los directorios son ficheros que contienen información sobre otros ficheros (nombre,

tamaño, ubicación, ...). Las estructuras de directorios más habituales:

Tanto Linux como Windows utilizan un sistema jerárquico. Para indicar la ruta al directorio hay

dos formas:

• ruta absoluta: se indica toda la ruta desde el directorio raíz, por ejemplo, /usr/var/www

en Linux o c:\windows\system\config en Windows

• ruta relativa: se indica la ruta desde el directorio de trabajo o actual, por ejemplo, si

estoy en /usr para acceder a www solo tengo que indicar /var/www

Hay dos directorios especiales: el directorio . o directorio actual y el directorio .. o directorio

padre

35

Page 36: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Hay varias formas de implementar un sistema de ficheros:

• Asignación contigua: Todos los bloques de un mismo fichero están contiguos. Fácil de

implementar pero presenta fragmentación externa.

• Lista ligada Cada bloque contiene un puntero (no de bloque) al bloque siguiente. Evita la

fragmentación externa pero el acceso a los fichero es lento.

• Asignación de lista ligada e índice es la misma idea que antes, pero los punteros se

almacenan en una estructura aparte (indice) que se almacena en disco, se lee cuando se

usa el sistema de cheros y se escribe de nuevo en disco si se modica, mejora lo anterior

pero el problema el crecimiento de la tabla de índices.

36

Page 37: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Asignación de i-nodos A cada fichero se le asigna una estructura de datos llamada nodo-

i, donde se almacenan sus atributos y direcciones de sus bloques. Dicha estructura se

guarda en disco y se lee cuando accedemos al fichero.

El tamaño del bloque lógico (usado por el FS) suele ser múltiplo del tamaño del bloque físico

(usado por el disp. de almacenamiento).

Una vez hechas las particiones las formateamos que consiste en darle un estructura ajustada al

SO que la va a utilizar.

37

Page 38: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los sectores del disco se agrupan para formar Clusters que son las unidades mínimas para

grabar un archivo.

• FAT12/FAT16/FAT32

Cada partición formateada en este sistema de archivos tendrá la siguiente estructura:

◦ BOOT (Sector de Arranque): Al formatear un volumen, se crea siempre en el

primero sector del volumen el sector de arranque. En él se encuentra información

acerca del tamaño, de la estructura del volumen y sobre todo del

BOOTSTRAP-LOADER, mediante la cuál se pode arrancar el PC desde lo SO.

◦ FAT (File Allocation Table - Tabla de Asignación de Ficheros): Cada entrada de la

tabla corresponde la un cluster, en cada entrada se indica si el cluster está vacío;

si el cluster está defectuoso; cuál es el cluster siguiente

que tiene parte del archivo; si es o último cluster que tiene información del archivo.

El tamaño de la FAT depende del sistema de archivos empleado:

▪ FAT12 implica que ha direccionado 212 clusters

▪ FAT16 implica que ha la direccionado 216 clusters

▪ FAT32 implica que ha la direccionad 228 clusters

En realidad, FAT32 es un término "erróneo", ya que sólo se utilizan los 28 bits de menor orden de

las direcciones de disco. Así, en la siguiente tabla vemos los tamaños máximos de las particións

dependiendo del tamaño del cluster (no se admiten cluster mayores de 32Kb):

38

Page 39: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

◦ Una o mas copias de la FAT: Normalmente se hacen dos copias idénticas de la

FAT. Si lo SO encuentra un error en la FAT primaria, copia la secundaria para evitar

la pérdida de datos.

◦ El directorio Raíz: La cantidad máxima de entradas en el directorio raíz se limita

ponerlo su tamaño, que se fija en el sector de arranque (32 bytes). El directorio raíz

representa una estructura de datos estática, es decir, que no crece aunque se

vayan guardando madres y archivos o subdirectorios.

◦ Zona de Datos: Es la parte del disco duro en la que se almacenan los datos de un

archivo. Esta zona depende en casi su totalidad de las interrelaciones entre las

estructuras de datos que forman el sistema de archivos del SO, y del camino que

se lleva desde la FAT cara los diferentes sectores de un archivo. Los clusters se

enumeran para poder ser accedidos polo SO.

• HPFS

HPFS acrónimo de High Performance File System (Sistema de Archivos de Altas

Prestaciones), fue creado por Microsoft específicamente para el sistema operativo OS/2 para

mejorar las limitaciones del sistema de archivos FAT. Se caracterizaba por permitir nombres

largos, metadatos e informaciónd de seguridad.

• NTFS

Actualmente está en la versión 6. El sistema Windows Server tiene un sistema más avanzado que

el NTFS pero que lo veremos cuando lleguemos a él.

Las características principales del sistema NTFS son:

39

Page 40: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

◦ 64 bits para direccionar bloques, por lo que el tamaño máximo de la unidad será

de 16 HexaBytes. No se recomienda utilizar NTFS en un volumen de menos de uno

400 MB, debido a la sobrecarga de espacio que

implica NTFS. Esta sobrecarga de espacio se refiere a los archivos de sistema de

NTFS que normalmente utilizan por lo menos 4 MB de espacio de unidad en una

partición de 100 MB.

◦ Operaciones de busca (B-Tree): Log(N) x Tiempo Base (siendo N el número de

archivos existentes). Muy Eficiente.

◦ ACLs: Listas de Control de Acceso a archivos y directorios.

◦ Journaling: Registro de transacciones

◦ Nombres de archivos: 256 caracteres

◦ Compresión individual: compact.exe

◦ Cifrado de archivos (EFS): cipher.exe puede ser Simétricos o Clave Personal o

Asimétricos o Clave Pública

◦ Cuotas de disco a partir de la v5.0

◦ Descriptores de Archivos (Los i-nodos de Linux) de 4 KB.

◦ Se puede hacer la conversión, desde lo Windows y sin pérdida de información,

desde una partición en FAT/FAT32 a NTFS, se emplea el comando: convert Unidad:

/FS:NTFS, pero puede dar lugar a errores

La estructura es la siguiente.

◦ Boot: Sector de arranque.

◦ Superbloque: Describe la estructura del sistema de archivos

◦ Mapas de bits o vectores de bits: Representa el espacio existente en un sistema de

archivos. Incluyen un bit por descriptor de archivo existente; si el recurso está libre, el

valor 0 y si el valor del bit asociado es 1, si está ocupado

◦ Descriptores físicos de archivos: Cada uno ocupa 4 KB. Cuando se crea el sistema

de archivos lo SO habilita un número de descriptores físicos proporcional al tamaño de

la partición. Este tamaño es mucho mayor que los homólogos en UNIX (los i-nodos) lo

que hace que ya en ellos se almacenen datos del archivo,esto optimiza el acceso a los

archivos pequeños al evitar accesos a disco para obtener el descriptor y luego los

datos. Para archivos grandes, el servidor de archivos mantiene una estructura

40

Page 41: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

jerárquica en árbol, donde en cada bloque se almacenan datos y apuntadores al resto

de bloques.

◦ Bloques de datos (Cluster): Estos bloques son asignados a los archivos polo servidor

de archivos a través de los descritores de archivos. El tamaño de este bloque es la

mínima unidad de transferencia que maneja lo SO (cluster).

• exFAT

exFAT (Extended File Allocation Table) es un sistema de archivos especialmente

adaptado para memorias flash. Teóricamente es capaz de gestionar 64 Exabytes.

• LINUX/UNIX. I-nodos

Características:

◦ Características similares a NTFS.

◦ i-nodos: Son los equivalentes de los "descritores físicos de archivos" de NTFS; son

pequeños, 128 bytes por KB el área de Datos y Directorios, no guardan nada del

contenido del archivo, guardan sólo información sobre él.

◦ Cada puntero i-nodo almacena información del archivo (ruta o path, tamaño,

ubicación física). En cuanto a la ubicación es una referencia a un sector del disco

donde están todos y cada una de las referencias a los bloques del archivo

fragmentado. Estos bloques son de un tamaño que se especificó en el momento de la

creación del sistema de archivos, con un tamaño va desde los 512 bytes incluso los 4

kB, lo que asegura un bueno aprovechamiento del espacio libre con archivos de

pequeño tamaño.

41

Page 42: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• ext4

ext4 es un sistema de archivos con journaling. Es, sin duda, el de más éxito entre las

distribuciones Linux.

◦ ext4 emprega un árbol binario balanceado que optimiza las búsquedas de ficheros.

◦ los tamaños máximos de los archivos y particiones dependen del tamaño del bloque

según la tabla adjunta:

La versión ext4 tiene mejoras de eficiencia en las búsquedas y menor consumo de la CPU y

maneja particiones 1 EXB y archivos de 1 TB

42

Page 43: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• ReiserFS

ReiserFS, también usado en Linux ofrece funcionalidades como:

◦ Journaling.

◦ Reparticionamiento con el sistema ficheros montado y desmontado. Podemos

aumentar el tamaño del sistema de ficheros mientras lo tenemos montado. Disminuirlo

solo desmontado

◦ Tail packing, un esquema para reducir la fragmentación interna.

◦ Tamaño máximo del sistema de ficheros es de 16 TB

◦ Tiene mejoras frente a ext3 en lo que respecta a recuperación frente a pérdidas de

información.

• UFS

Sistema de ficheros utilizado en equipos UNIX y derivados de BSD (FreeBSD, Solaris...9

• XFS

XFS es un sistema de archivos de 64 bits con journaling de alto rendimiento creado por SGI

(Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. Puede ser usado también

por Linux. Ç

• JFS

Journaling File System (JFS) es un sistema de arquivos de 64-bit con respaldo de transaccións

creado por IBM.

43

Page 44: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• ISO 9660

Es el estándar más común utilizados en los CDROM. Un CDROM está constituido por una única

espiral de bits que se dividen en bloques lógicos de 2352 bytes siendo 2048 bytes los que

contienen información.

Cada CDROM comienza con 16 bloques no definidos por el fabricante que puede ser utilizado

para establecer en ellos el autoarrancable. Luego 1 bloque que es un descriptor y que contiene

la información general del CD (identificador del sistema, del cdrom, número de bloques de CD,

claves... y finalmente un directorio raíz que contiene las entradas de los directorios.

Para finalizar comentaremos la gestión del disco duro por parte del SO de forma muy resumida sin

entrar en detalles hardware. Se conoce como tiempo de búsqueda el tiempo que tarda el cabezal

en situarse en la pista adecuada y tiempo de retardo o latencia el tiempo que tarda en situarse

en el primer sector a leer. Evidentemente el primero es mayor que el segundo. El total es el

tiempo de acceso.

Hay varios métodos de planificación de disco de los cuales depende los movimientos de los

cabezales:

• FCFS: Servir los pedidos como vayan llegando.

• SSTF (sort seek time firs): se elige el que genere el menor tiempo de búsqueda

• SCAN: el brazo se mueve de afuera adentro sirviendo los pedidos y luego hace el camino

inverso

• C-SCAN.: igual que el anterior pero cuando llega al final vuelve al principio sin resolver

ningún pedido en el camino inverso. Este y el anterior son los mejores para disco con gran

carga de trabajo.

• C-LOOK.: parecido al anterior pero no va hasta el final sino hasta donde haya pedidos y

luego vuelve al principio

• LOOK: es igual al SCAN pero sin llegar al final.

D. Gestión de la E/S

El gestor de E/S debe controlar el funcionamiento de todos los dispositivos de E/S para

conseguir los siguientes objetivos:

• Facilitar el manejo de los dispositivos periféricos. Para esto debe ofrecer una interface

sencilla, uniforme y fácil de emplear entre los dispositivos, y gestionar los errores que se

pueden producir en el acceso a los mismos.

• Ofrecer mecanismos de protección que impidan a los usuarios acceder sin control a los

dispositivos periféricos.

44

Page 45: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Gestionar la compartición multiproceso de los dispositivos en sistemas multitarea: La

organización que se establezca depende del tipo de periférico.

• Sincronización de las demandas de recursos: Los procesos solicitan recursos y se han

de bloquear hasta recibir el recurso pedido. Por otro lado, los periféricos van atendiendo a

diversos procesos, siendo el sistema operativo el encargado de dirigir todo el proceso.

Principios del hardware de E/S

• Dispositivos de E/S: Los dispositivos de E/S se pueden dividir básicamente en dos

categorías:

◦ Dispositivos de bloque: Los dispositivos de bloque almacenan información en

bloques de tamaño fijo, cada uno con su propia dirección. Los tamaños de bloque

comunes varían desde 0,5 KB bytes hasta 32 KB bytes. Todas las transferencias se

realizan en unidades de un o mas bloques completos (consecutivos).

La propiedad esencial de un dispositivo de bloque es que es posible leer o escribir

cada bloque de manera independiente de los demás. Los discos duros, CD-ROM´s y

memorias USB´s son dispositivos de bloque

comunes. Las cintas también se consideran dispositivos de bloque, pero no de acceso

aleatorio.

◦ Dispositivos de carácter: Un dispositivo de carácter envía o acepta flujo de

caracteres, sin importar la estructura del bloque. No es direccionable y no tiene

ninguna operación de busca. Las impresoras, interfaces de red, los ratones y la

mayoría de los demás dispositivos que no son parecidos a los discos se pueden

considerar cómo dispositivos de carácter.

• Controladores de dispositivos. Por lo general, las unidades de E/S consisten en un

componente mecánico y un componente electrónico. El componente electrónico de un

dispositivo se llama controlador del dispositivo o adaptador. En los Pcs, comúnmente

tienen la forma de un chip en la tarjeta principal o una tarjeta de circuito integrado.

• E/S por asignación de memoria. Cada controlador tiene unos cuantos registros de

control y nos buffers de datos que se utiliza para comunicarse con la CPU. Al escribir

en ellos, los SO puede hacer que el dispositivo envíe o acepte datos, se encienda o se

apague, o realice cualquiera otra acción. De todo esto surge la cuestión acerca de cómo

se comunica a CPU que los registros de control y los búferes de datos de los dispositivos.

Existen dos alternativas:

◦ El primero método, a cada registro de control se le asigna un número de puerto de

E/S, un entero de 8 o 16 bits. El conjunto de todos los puertos de E/S forma el espacio

de puertos de E/S y está protegido de manera que los programas de usuario comunes

45

Page 46: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

no puedan utilizarlos (sólo lo SO).

◦ El segundo método es asignarle todos los registros de control un espacio de

memoria. Este sistema se conoce cómo E/S con asignación de memoria (mapped-

memory). Por lo general, las direcciones asignadas se encuentran en la parte superior

del espacio de direcciones.

◦ Acceso directo la memoria (DMA). Que una CPU tenga o no E/S por asignación de

memoria, necesita direccionar los controladores de dispositivos para intercambiar datos

con ellos. La CPU puede solicitar datos de un controlador de E/S un bit a la vez, pero al

hacerlo se desperdicia el tiempo de la CPU, por lo que a menudo se utiliza un

esquema distinto, conocido

como DMA (Acceso Directo la Memoria). El SO sólo puede utilizar DMA se el

hardware tiene un controlador DMA.

◦ Interrupciones

Cuando un dispositivo de E/S remató un trabajo que se le asignó, produce una

interrupción. Para eso, impone una señal en una línea de bus que se le había

asignado. Esta señal es detectada por el chip controlador de interrupciones en la

tarjeta principal, que después decide el que debe hacer. La señal de interrupción hace

que la CPU deje el que está haciendo y empiece atender la interrupción. El número

en las líneas de dirección se utiliza cómo índice en una tabla llamada vector de

interrupciones para obtener un nuevo contador del programa, que apunta al inicio

del procedimiento de servicio de interrupciones correspondiente.

◦ Procesadores E/S: existen una serie de dispositivos, por ejemplo las tarjetas a

gráficas actuales que prácticamente trabajan de forma independiente de la CPU. Una

tarjeta gráfica tiene su propio procesador, su memoria... en resumen es un “ordenador”

en si mismo y solo solicita de la CPU determinadas señales de control.

• Fundamentos del software de E/S. Desde el punto de vista del SO se puede realizar la

E/S de las siguientes formas:

▪ Objetivos del software de E/S. Un concepto clave en el diseño del software de

E/S es la independencia de dispositivos. El que significa es que debe ser posible

escribir programas que puedan acceder la cualquier dispositivo de E/S sin tener

que especificar el dispositivo por adelantado. Un objetivo muy relacionado con

la independencia de los dispositivos es la denominación uniforme. El nombre del

archivo o dispositivo simplemente debe ser una cadena o un entero sin depender

del dispositivo de ninguna forma.

46

Page 47: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

▪ Otra cuestión clave es la de las transferencias síncronas (de bloqueo) contra las

asíncronas (controladas por interrupciones). La mayoría de las operaciones

de E/S son asíncronas: la CPU inicia la transferencia y se va a hacer otra cosa

hasta que llega la interrupción. Los programas de usuario son mucho mas

fáciles de escribir si las operaciones de E/S son de bloqueo: después de una

llamada al sistema read, el programa se suspende de manera automática hasta

que existan datos disponibles en el buffer. Hay tres maneras fundamentalmente

distintas en las que se pueden llevar a cabo la E/S:

• E/S programada. En este caso, todo el trabajo lo hace la CPU.

• E/S controlada por interrupciones. La manera de permitir que la CPU haga

algo mientras espera la que un dispositivo esté listo desde que se le mandó

hacer algo, es utilizando interrupciones. Así y todo se, como por ejemplo,

hablamos de un dispositivo de caracteres, el paso de cada carácter produce

una interrupción.

• E/S mediante lo uso de DMA. Un gran problema en la E/S controlada por

interrupciones es que ocurre una interrupción en cada carácter. Una solución es

utilizare DMA. Aquí la idea es permitiere que el controlador de DMA se

encargue de enviar todos los caracteres y luego avise a la CPU de que la

transferencia fue realizada.

6. Tipos de Sistemas Operativos

POR EL NÚMERO DE USUARIOS:

• Monousuario: son aquellos solo pueden atender a un solo usuario. Son muy simples,

porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta

utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de

inmediato. Ejemplo: MS-DOS, Windows 95

• Multiusuario: son los sistemas que cumplen simultáneamente las necesidades de dos o

más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean

especialmente en redes. Se basan en el fraccionamiento del tiempo (timesharing).

Ejemplos: UNIX, WINDOWS, MAC-OS, etc.

POR EL NÚMERO DE TAREÁS:

• Monotarea:Los sistemas operativos monotarea son más primitivos y sólo pueden manejar

un proceso en cada momento o que solo pueden ejecutar las tareas de una en una. Por

ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro

47

Page 48: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

proceso ni responder a nuevas instrucciones hasta que se termine la impresión.

Ejemplo:MS-DOS

• Multitarea:Es una característica de los sistemas operativos modernos. Permite que varios

procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores.

Ejemplo: Windows XP-7, LINUX, etc., Mac OS Leopard, etc.

POR EL NÚMERO DE PROCESADORES:

• Monoproceso: aquél que es capaz de manejar solamente un procesador de la

computadora. Ejemplo: MS-DOS y McOS.

• Multiproceso: gestiona más de un procesador, y es capaz de usarlos todos para

distribuir su carga de trabajo. Trabajan de dos formas:

◦ Asimétrico:El sistema operativo selecciona a uno de los procesadores el cual jugará el

papel de procesador maestro y servirá como pivote para distribuir la carga a los demás

procesadores, que reciben el nombre de esclavos.

◦ SIMÉTRICA:Los procesos o partes de ellos (threads) son enviados indistintamente a

cualesquiera de los procesadores disponibles, teniendo, teóricamente, una mejor

distribución y equilibrio en la carga de trabajo bajo este esquema. Ejemplo: UNIX

SOLARIS.

POR TIEMPO:

• Tiempo real: los procesos que se ejecutan en el seno de un sistema operativo de tiempo

real (RTS, Real Time System) requieren tiempos de respuesta muy exigentes (muy bajos).

Dicho de forma más cruda: o los resultados se dan dentro de los márgenes de tiempo

prestablecidos, o las consecuencias son muy trágicas para las personas, para los datos,

etc. Ejemplo: Windows 7

• Tiempo compartido: son sistemas multiusuario pensados desde sus orígenes (Unix) para

ser explotados en modo interactivo o conversacional. En un sistema de tiempo compartido

típico la columna vertebral de la planificación de procesos es el algoritmo RR. Ejemplo:

UNIX.

POR LA FORMA DE OFRECER SUS SERVICIOS:

• De red: sistemas que mantienen a dos o más computadoras unidas a través de algún

medio de comunicación (fisico o no), con el objetivo de poder compartir los diferentes

recursos y la información del sistema. Ejemplo: Windows 98, Linux.

• Distribuidos: permiten distribuir trabajos, tareas o procesos, entre varios procesadores.

48

Page 49: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Puede ser que los procesadores esté en un equipo o en diferentes, en este caso es

trasparente para el usuario. Ejemplo: Windows Server.

7. Licencias y tipos de Licencias Software

Una licencia de software es una forma de contrato mediante la que el titular de los derechos de

autor establece las condiciones y términos bajo los que el usuario puede utilizar un determinado

programa informático.

Aunque inicialmente las licencias de software se desarrollaron para limitar el uso de los

programas, pueden utilizarse también para garantizar los derechos relativos al software libre. Para

que un determinado programa pueda considerarse software libre, es necesario distribuirlo junto a

una licencia que garantice que se mantienen ciertas libertades.

49

Page 50: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• De software propietario o privativo: Su licencia reserva la mayoría de los derechos de

modificación, duplicación y redistribución para el titular de los derechos de propiedad

intelectual (el programador o, en ocasiones, el distribuidor).

• De software libre: es aquel que garantiza las cuatro libertades del software (según

Richard Stallman, fundador de la Free Software Foundation):

1. Libertad de usar el programa con cualquier propósito.

2. Libertad para distribuir copias del programa con las que ayudar a otros usuarios.

3. Libertad de estudiar como funciona y modificarlo para adaptarlo a las necesidades

del usuario.

4. Libertad de mejorar el programa y hacer públicas esas mejoras para beneficio de

otros usuarios.

Las libertades 3 y 4 requieren el acceso al código fuente por lo que en ese caso el software libre

debe ser también software de código abierto (open source). La idea que late detrás del open

source es que cuando los usuarios tienen la capacidad necesaria para ello, pueden leer, modificar

y redistribuir el código fuente de un programa, de manera que éste evoluciona, se desarrolla y

mejora.

Entre las distintas licencias de software libre, la más conocida es la GNU GPL (General Public

License o licencia pública general). Un aspecto esencial de los programas GPL es la obligación de

redistribuir bajo la misma licencia cualquier versión modificada de los mismos, a fin de garantizar

que todas las mejoras realizadas reviertan de nuevo a la comunidad libre. También se utiliza el

término "cubierto por copyleft" (en oposición a copyright) como equivalente a "distribuido bajo

GPL".

Según las libertades hay dos tipos de licencias: gratuitas y no gratuitas, que no significan lo

mismo que libres y propietarias (referidas al código y derechos más que a precio).

Existen ciertas matizaciones:

• Adware: es software gratuito cuya financiación se consigue a través de la publicidad que

contienen.

• GPL / GNU / Open Source: son tipos de licencias muy conocidos en el entorno Linux que

consisten básicamente en programas libres de descargar, usar, distribuir e incluso

modificar puesto que se distribuye su código fuente.

• Creative Commons: Es una licencia con base copyright, pero que permite autorizar la

mayoría de derechos que este limita por defecto. Muy uitlizada en Internet por proveer una

base legal sencilla para la divulgación de contenidos.

• Demo: es una demostración del software que permite conocer algunas de sus

características. Muy usada en la industria del videojuego para promoción.

50

Page 51: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Shareware: es una versión recortada de un programa comercial que permite comprobar si

cumple con las expectativas. Las limitaciones pueden ser muy diversas. Las principales

licencias comerciales son:

◦ OEM: Las siglas proceden del Original Equipment Manufacturer y generalmente la

venta del software con este tipo de licencia implica que se venda con un equipo

nuevo.

◦ Retail: son las versiones de software destinadas a su venta directa al usuario final.

Podemos instalarla en cualquier equipo sin más limitación que una por equipo.

◦ Licencias por volumen: Tipo de licencia destinada a empresas con un número

determinado de usuarios, en similares condiciones que las OEM pero sin la restricción

de ser para equipos nuevos, Un determinado número de equipos puede utilizar el

mismo código de licencia.

8. Consideraciones previas a la instalación de SO libres e propietarios.

Antes de nada comentar que trataremos exclusivamente de SO en red, es decir, Windows

2010/2012 Server y distribuciones Linux, en las cuales esa característica ya es inherente.

• Windows 2010/2012 Server

◦ Nucleo: NT6.1. Administrador de servidor renovado. Tiene una función de

administración de direcciones IP (IPAM) para la búsqueda, monitoreo, auditoría y

administración del espacio de direcciones IP usados en una red corporativa

◦ Sistemas de archivos: ReFS (Resilient File System) es un nuevo sistema de archivos

en Windows Server 2012 inicialmente previsto para servidores de archivos que mejora

en NTFS. El sistema presenta limitaciones frente a su predecesor, como se detalla más

adelante, pero también novedades en varios campos. Utiliza árboles B+ lo que mejora

la fiabilidad y acceso a los archivos. Permite tamaños de archivos de 16 ExB. Algunas

características de NTFS no son compatibles por ReFS, como los flujos de datos

alternativos, identificadores de objetos, nombres cortos, compresión de archivos,

cifrado a nivel de archivos, transacciones de datos de usuario, archivos dispersos,

enlaces duros, atributos extendidos y cuotas de discos.

◦ Particiones: al menos una primaria y activa donde almacenar el sistema aunque

puede gestionar otras primarias y/o extendidas a las que asigna una letra de

identificación (C:, D:...) y una vez instalado el sistema tiene una herramienta de

administración de discos. Como consejos a seguir, evitar instalar el sistema en una

partición comprimida y sobre todo, instalar el sistema en una partición exclusiva

para él.

51

Page 52: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Linux

◦ Particiones. Linux necesita al menos dos particiones: para el sistema y para la

memoria de intercambio o swap. Con respecto a esta última se aconseja que sea entre

el mismo y el doble de tamaño de la memoria RAM del equipo. Con respecto a un

sistema servidor además se aconseja al menos tres particiones: la del sistema, la de

los usuarios /home y la última la del directorio /var.

◦ Gestor de arranque: hay dos LILO y Grub. En la actualidad la última es la más

utilizada. Suele ubicarse en el MBR del disco.

◦ Administrador: root. En Ubuntu está deshabilitado y para ejercer los derechos de

root o del administrador se ejecuta el comando sudo por parte del usuario que se da

de alta durante la instalación.

Fuente: Wikipedia

9. Instalación de sistemas operativos: requisitos, versións e licenzas.

• Windows 2012 Server.

La familia de servidores 2012 dispone de solo tiene cuatro ediciones: Foundation, Essentials,

Standard y Datacenter.

La familia de servidores 2012 dispone de cuatro versiones para la arquitectura x86 e Itanium y

versiones HyperV. Hyper-V es un programa de virtualización basado en un hipervisor para los

sistemas de 64-bits con los procesadores AMD-V o Tecnología de virtualización Intel (el

instrumental de gestión también se puede instalar en sistemas x86).

52

Page 53: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

La configuración del SO dependerá de los roles o funciones (servidor de archivos, servidor web,

servidor DNS, servidor DHCP, servidor de impresión, AD...) a los que se dedicará y ofrecerá a los

usuarios y a las características o prestaciones soportadas (servidor WLAN, de

almacenamiento extraíble...

Para ello existe una instalación básica o Core que es una opción que permite solo la inclusión

de los servicios mínimos del sistema para luego poder configurar a este según su funcionalidad

futura sin que interfieran otros servicios optimizando así los recursos y minimizando su

mantenimiento.

53

Page 54: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los modos de licencia durante la instalación son por servidor se refiere a las conexiones

concurrentes al software del servidor, mientras por dispositivo o usuario se aplica al dispositivo

o usuario sin importar a qué servidor se acceda.

• Linux

Linux es un SO multiplataforma, multiproceso, multitarea y multusuario. Es de libre distribución,

GPL, es decir, cualquiera puede copiarlo, cambiarlo y distribuirlo sin restringir lo anteror, GNU. En

realidad Linux solo hacía referencia al núcleo o kernel, es decir, la parte que gestionaba el

hardware que añadiéndole los proyectos GNU (compiladores, shells, escritorios y aplicaciones en

general) hablamos del SO GNU/Linux.

Generalmente la fase inestable o en desarrollo suele denominarse con númer impar 1.1, 1.3.,... y

las fases estable con número par 1.2., 1.4.,...

Linux respeta las especificaciones POSIX (Portable Operating System Inteface) que es un API

para sistemas UNIX que permite que el código fuente del SO sea fácil de llevar de una plataforma

a otra. Citar también otras implementaciones libres de UNIX como FreeBSD, OpenBSD y NetBSD.

Otro aspecto son las distribuciones que no son más que una recopilación de programas y

ficheros incluyendo la última versión estable del núcleo. La mayoría se consiguen en Internet.

Actualmente existen alrededor de 300. Citaremos algunas:

• Red Hat- Fedora. Utiliza el formato de software empaquetado RPM. La compañia ha

dejado el proyecto Fedora centrándose en el Red Hat Enterprise. De esta derivó una

muy influyente hoy en día Centos.

• Debian es la única no-comercial que no depende de ninguna empresa. El formato de

software empaquetado es DEB. A partir de está surgieron gran número de

distribuciones.

• SUSE de origen alemán con enfoque más comercial y con un instalador muy intuititvo.

Actualmente pertenece a NOVELL lo que originó su orientación hacia el campo

54

Page 55: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

empresarial. Se basa en el formato RPM

• Ubuntu es la distribución de más influencia en la actualidad con varias versiones entre

las que destacan Ubuntu Desktop Edition hacia el campo doméstico y Ubuntu Server

hacia el campo empresarial. Se basa en Debian.

Citar un proyecto gallego Trisquel GNU/Linux desarrollado por la Uvigo..

Los entornos gráficos de Linux más importantes son KDE y GNOME. Ambos se apoyan sobre un

software de gestión de ventanas llamadas X Window, que funciona basándose en un sistema

cliente-servidor. Primero se carga el gestor y luego el entorno gráfico. Gnome es el entorno de

escritorio oficial del proyecto GNU y se basa en la biblioteca de entorno gráficos GPL con licencia

libre, el gestor de archivos se denomina Nautilus. KDE está basado en entorno gráfico de las

plataformas UNIX utiliza la biblioteca de controles gráficos Qt. El gestor de archivos se llama

Konqueror.

Pero el sistema más simple y potente de gestión de Linux es mediante la shell o línea de

comandos, preferentemente bash, aunque hay otros c-shell, korn-sell o sh.

Finalmente tomaremos Ubuntu con entorno gráfico como referencia para establecer los requisitos

mínimos y recomendados:

– Procesador: 700 Mhz (mínimo) y 1,5 Ghz (recomendada)

– Memoria RAM 512 MB (mínimo) y 1024 MB (recomendada)

– Tarjeta gráfica 1024x768 (mínimo) y gráfica 3D compatible OpenGL

– Disco duro 8 GB (mínimo), tarjeta de red y de sonido.

Figura. Alguna de las distribuciones Linux

55

Page 56: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

10. Instalaciones desatendidas

Podemos considerar instalaciones desatendidas como aquellas en las cuales el usuario no

introduce ningún datos durante la instalación del sistema. Este tipo son muy útiles para el

administrador de sistemas que tiene que instalar SO en un número relativamente grande equipos

clientes.

No solo permite instalaciones de SO sino de cualquier tipo de software en equipos remotos de

forma transparente para el usuario final, de manera que pueda seguir trabajando de forma

normal mientras nosotros estamos instalando una nueva aplicación de gestión o una actualización

del lector de documentos PDF, por ejemplo. De esta manera tendremos los equipos de nuestra

red correctamente actualizados sin necesidad de tener que realizar desplazamientos

innecesarios o en el caso de equipos que no respondan y tengamos que instalar desde cero,

evitar en envío de los equipos a las oficinas centrales.

Generalmente las instalaciones en dichos equipos se realizan a través de la red. Para ello los

equipos deben ser PXE que es una opción firmware que permite bootear o arrancar a los equipos

desde la red.. Este método de carga puede ser usado por enrutadores, estaciones de trabajo

sin disco y computadoes manejados centralmente (clientes ligeros de empresas, aulas,

bibliotecas...

El software inicial se carga desde un servidor en la red; para las redes del TCP/IP esto es

generalmente hecho usando TFTP. El servidor del cual se carga el software inicial es

generalmente encontrado por broadcasting o multicasting o una solicitud DHCP.

En nuestro primeras instalaciones desatendidas utilizaremos la creación de ISO para realizar las

primeras, en Windows tenemos la herramientas Windows LITE y en Linux tenemos la web

installinux.com escoges la distro de linux que quieres (hay 7) luego te da varias opciones y

después bajas el archivo ISO.

11. Implementación del fichero de respuestas

Antes de llevar a cabo las instalaciones desatendidas tenemos que mencionar un elemento

importante: el fichero de respuestas. Este fichero contiene aquellos datos o información que en

una situación habitual suele ser el usuario el que los introduzca durante la instalación de forma

manual vía teclado o vía ratón eligiendo determinadas opciones.

Hay varias formas de construirlos. La forma más cómoda es utilizar software de creación

instalaciones desatendidas. También pueden crearse manualmente en un archivo. En Windows

se denomina unattend.txt.

El problema del fichero de respuestas es que introduciría los mismos datos en todos los

equipos. Eso puede mejorar utilizando la herramientas sysprep.exe

56

Page 57: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

12. Interpretación, análise e elaboración de manuais de instalación de SO.

Este apartado se estudiará a través de las indicaciones de las prácticas propuestas.

13. Actualización de sistemas operativos

Las empresas de software, en concreto Microsoft y las distribucion de Linux, comerciales o no,

aconsejan la actualización periódica desde sus sitios Web para corregir errores o bugs

descubiertos (Microsoft los denomina con el eufemismo actualizaciones de seguridad) o también

añadir nuevas funcionalidades. De todas formas los errores o bugs son inherentes al desarrollo

del software ya que este es codificado por humanos y estos evidentemente se equivocan.

• En Windows Server 2012:

Panel de Control → Actualizaciones automáticas se verá la pantalla siguiente en la que se

aprecian:

– notificar antes de descargar

– descargar automáticamente y notificar

– descargar automáticamente en una determinada fecha y hora.

Si no quieres realizarlas automáticamente puede en el panel de inicio hacerlo de forma manual

Windows Update

• En Windows Server 2008:

Administrar Servidor → Panel de Control → Windows Update → Cambiar Configur. se verá

la pantalla siguiente que es autodescriptiva

57

Page 58: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

En Linux2 hay dos formas de hacerlo:

– línea de comandos con las órdenes como root (administrador)

localhost@servidorprueba# apt-get update && apt-get upgrade -y (o podemos usar aptitude)

Para automatizar podemos incluir estos comandos en un fichero bash y luego incluimos el mismo

en el crontab.

– entorno gráfico en Ubuntu por ejemplo

Sistema → Gestor de Actualizaciones

2 Usaremos Distribuciones Derivadas de Debian como Ubuntu o la propia Debian

58

Page 59: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

14. Ficheros de inicio de sistemas operativos.

Arranque arquitectura NT (Server). En las siguientes imágenes veremos como el sistema

Windows basado en la arquitectura NT inicia y carga el sistema

59

Page 60: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

60

Page 61: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

En el caso de GNULinux y a modo de resumen hay 6 etapas del proceso de arranque

61

Page 62: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

1. BIOS (Sistema Básico de Entrada y Salida)

• Realiza algunas revisiones de integridad al sistema, busca y carga el boot loader bien

floppy, cdromo o disco duro en este caso en la MBR.

2. MBR o Master Boot Recor

• Está localizado en el primer sector de un disco arrancable. Casi siempre /dev/hda, o

/dev/sda.

• El tamaño en bytes del MBR ronda los 512 o menos. Tiene 3 componentes: 1) Información

primaria del boot loader en sus primeros 446 bytes, 2) Información de la tabla de partición

en los siguientes 64 bytes, y 3) Revisión de validación del MBR en los últimos 2 bytes.

• Contiene información acerca de GRUB (o LILO en los sistemas antiguos).

3. GRUB ( Grand Unified Bootloader)

• Si tenemos varios kernels instalados en nuestro sistema, podemos seleccionar cuál de

ellos deseamos ejecutar. Si tenemos varios sistemas operativos instalados, casi siempre

GRUB muestra un menú por varios segundos, si no presionamos alguna tecla, este carga

la imagen del kernel establecida por defecto en el fichero de configuración de GRUB.

• El fichero de configuración de GRUB es /boot/grub/grub.conf o /boot/grub/grub.cfg

(/etc/grub.conf es un enlace a este). Contiene el kernel y la imagen initrd los cuales se

carga y ejecutan.

4. Kernel

• El Kernel monta el sistema de archivos raiz como lo especifica "root=" en el fichero de

configuración de GRUB.

• Ejecuta el programa /sbin/init. Como es el primer programa en ser ejecutado por el Kernel,

tiene el identificador de proceso (PID) número 1.

• initrd es utilizado por el kernel como un sistema de archivos raiz temporal hasta que el

kernel es cargado y el sistema de archivos real es montado. Además contiene

controladores necesarios compilados dentro de sí, lo que ayuda a accesar las particiones

de los discos y cualquier otro hardware.

5. Init

• Init consulta al fichero /etc/inittab (Debian, Ubuntu y distros derivadas este fichero no

existe porque utilizan algo llamado upstart) para decidir el runlevel a ejecutar.

• Init identifica el initlevel por defecto desde /etc/inittab y utiliza esto para cargar todos los

programas apropiados.

62

Page 63: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• Podemos cambiar el runlevel por defecto a 0 o 6. Comúnmente el runlevel por defecto es 3

o 5.

6. Runlevel programs

• Cuando el sistema está arrancando, podemos ver los servicios iniciando. Por ejemplo:

"Starting sendmail .... OK". Estos son los programas del runlevel.

• Dependiendo de la configuración de init por defecto, el sistema ejecutará los programas

desde un de los siguientes directorios, según sea el caso:

• Bajo los directorios /etc/rc.d/rc*.d/, podemos ver programas cuyos nombres comienzan con

S y K.

• Los programas que comienzan con S (startup ) son usados durante el arraque.

• Los programas que comienzan con K son utilizados durante el apagado. K de "kill".

• Hay números justo después de las letras S y K en los nombres de los programas. Esos son

la secuencia numérica en la que son iniciados o terminados.

15. Registros del sistema

Nos centraremos en el registro de Windows. En la figura observamos las claves, que son

semejantes a directorios ya que contienen otras claves o carpetas y son las siguientes:

63

Page 64: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• HKEY_CLASSES_ROOT: contiene configuraciones que afectan a todo el sistema. Si hay

múltiples usuarios registrados en el sistema, cualquier cambio en ésta Clave afectaría a

cada usuario. Sus configuraciones incluyen información acerca de los tipos de archivos y

la extensión de sus archivos. También contiene información acerca de OLE (Object

Linking and Embedding). Esto permite crear un objeto en un programa, como una gráfica

en Microsoft Excel y colocarla en otro programa como Microsoft Word.

• HKEY_CURRENT_USER: es más bien un icono que una Clave, tiene que ver con la

carpeta de la Clave USERS de quien esté usando la computadora. Contiene información

más detallada de la configuración del usuario actual.

• HKEY_LOCAL_MACHINE: mantiene un registro e información de todo lo que se haya

instalado en la computadora. Es una base de datos maestra con la información de cómo

usar cada programa o dispositivo y la configuración de cada componente. Contiene

la configuración completa de todo el sistema.

• HKEY_USERS: tiene la información acerca de cómo Windows y cada programa

individual del sistema está personalizado para cada usuario. Mantiene un registro de

absolutamente todo, desde el fondo de pantalla preferido hasta la página de inicio del

Explorador de Internet. La mayoría de la computadoras tienen un solo usuario para lo cual

sus configuraciones estarán en la carpeta default. Si por otra parte, hay varios usuarios

registrados en la computadora, cada uno de ellos tendrá su propia carpeta conteniendo

sus preferencias de configuración.

• HKEY_CURRENT_CONFIG: ésta Clave tiene que ver con la información de la Clave

MACHINE, en lo que tiene que ver con la configuración de pantalla (resolución, color, etc.),

también cuál de las impresoras instaladas es la impresora de inicio. Mantiene el registro

de la configuración actual.

Los tipos de datos son:

• REG_DWORD: es una doble palabra. Es un valor sencillo representado por una cadena de

1 a 8 dígitos visualizados en formato hexadecimal

• REG_SZ: cadenas de texto de longitud fija

• REG_EXPAND_SZ: como REG_SZ, excepto que contiene una o más variables que han

sido resueltas por un servicio del sistema operativo o por una aplicación (Un ejemplo de un

valor de este tipo es %SystemRoot%\system32, donde %SystemRoot% es el directorio de

instalación de Windows)

• REG_BINARY: cadena de dígitos binarios

• REG_MULTI_SZ: entrada de datos que está compuesta por cadenas de texto múltiple. Las

cadenas están separadas por comas o espacios

64

Page 65: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

• REG_FULL_RESOURCE_DESCRIPTOR: guarda información sobre los componentes HW

y sus controladores

16. Actualización y mantenimiento de controladores de dispositivos.

Un controlador es un programa el cual controla un dispositivo, así como una impresora, tarjeta

de video, tarjeta de sonido, etc. El teclado y el ratón por ejemplo son instalados automáticamente

porque estos controladores ya existen en Windows. Otros dispositivos como un modem o una

tarjeta de red y sobre todo tarjetas gráficas pueden requerir un controlador o un programa

específico del fabricante para poder controlar el dispositivo.

Es difícil encontrar un controlador cuando no sabes el nombre o modelo del dispositivo.

Teniendo uno de los dos, te facilita la búsqueda. Por ejemplo, si digitas SM56 en una página de

búsqueda así como Google, sale la compañía Motorola, cual ha fabricado este modem. Si no

tienes el modelo o nombre de la compañía, puedes fijarte en el dispositivo físicamente para ver si

encuentras información sobre el dispositivo.

Con esta información, podemos buscar en el Internet, o ir directamente a la página del fabricante

para descargar el controlador. Algunos dispositivos son integrados en la placa base y a veces no

es posible no ver un modelo. Puedes buscar información sobre la tarjeta madre y visitar la página

del fabricante. Finalmente también puedes instalar el dispositivo en una versión superior de SO o

bien en Linux para obtener información sobre el dispositivo.

En el Administrador de Dispositivos se pueden ver las propiedades del dispositivo, puedes ir a la

pestaña detalles y ver el Id. de instancia de dispositivo o Identificadores de hardware. Una

vez obtenida esa información vamos a buscar el fabricante de ese dispositivo en Internet.

65

Page 66: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Los controladores pueden ser desde 1 solo archivo hasta cientos. Algunos traen su propio

instalador, cual se encarga de instalar el controlador y aplicaciones para controlar el dispositivo.

Los archivos de controladores son distribuidos con extensión .inf cuales contienen

información sobre el dispositivo y su uso. Cuando Windows da la opción de buscar el controlador

actualizado del dispositivo, lo primero que hace es buscar el archivo de información. Despues se

copiarán más archivos con extensiones .VXD, .SYS, .CAT y muchas extensiones más.

Para finalizar los controladores pueden ser actualizados si los fabricantes codifican versiones que

mejoran el rendimiento y funcionalidades del dispositivo. Suelen descargarse de Internet de la web

del fabricante.

66

Page 67: UD1. Instalación do software base dun sistema …dawdamasir.com/wp-content/uploads/2016/06/UD1.-ISO.pdf · – “hardware ” o elementos ... Tal como hicimos en binario realizamos

Juan Carlos Pérez González

Referencias

• Wikipedia

• Apuntes Sistemas Operativos IES San Clemente

• Estructura y Tecnología de Computadores. Apuntes UNED

• Fundamentos y Arquitectura de Computadores Apuntes UPM

67