martes, 30 de octubre de 2012

Concepto de sistema operativo. Elementos y estructura

1. Introducción a los sistemas operativos
El Sistema operativo es el software básico del ordenador. Este software gestiona todos los recursos hardware del sistema informático y proporciona la base para la creación y ejecución del software de aplicación.
Podemos definir el SO como un conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del hardware y del software. Para que el hardware tenga sentido en un ordenador, este tendrá que funcionar. Gracias al SO el hardware se reconoce y identifica al SO y el sistema informático empieza a funcionar. Gracias a los programas y aplicaciones que contiene el SO, nosotros podremos realizar determinadas funciones. Con el software completamos las necesidades del sistema informático.
El SO ofrece al usuario la forma de comunicarse con el ordenador ya sea a través de una interfaz de texto como podría ser el teclado, o mediante una interfaz gráfica como podrían ser la pantalla táctil y el ratón. El SO es lo que utilizamos para realizar las funciones en el ordenador.
El SO es el que hace todo el trabajo dentro del ordenador, nos hace transparente al hardware. Lo usamos y no nos tenemos que preocupar de administrarlo gracias a una interfaz de fácil uso.
Se puede hacer una primera clasificación de los sistemas operativos teniendo en cuenta la gestión que hacen del software y el hardware, y la forma en que los usuarios lo pueden usar:
- Sistemas operativos monousuarios (SOMO)
- Sistemas operativos multiusuarios (SOMU)
- Sistemas operativos en red
En los SOMO, los recursos hardware y software están a disponibles para un solo usuario.
En los SOMU, varios usuarios pueden utilizar los recursos de software y hardware de un mismo ordenador.
Actualmente los SOMU han dado paso a los nuevos Sistemas operativos en red (SORED) en los que un ordenador puede compartir con otro que este conectado en la misma red.
En los SOMO, la ejecución de un programa no implica demasiadas dificultades. El programa se mete por el teclado o se carga desde una unidad de almacenamiento externo. Este programa se mete en memoria ( Lo realiza el UCP).  Una vez esta aquí Primero actúa la Unidad de control y si hace falta la Unidad aritmético-lógica.
En los SOMU existe una sola UCP, La del ordenador principal. A este ordenador estan conectados teclados y monitores a forma de terminales, es decir,  no tienen un ordenador propiamente dicho, sino que tienen un teclado y un monitor para realizar el trabajo.
En estos, la única UCP existente realiza todos los trabajos. Existe, pues, un solo procesador o varios, un solo conjunto de Memorias RAM, uno o varios discos duros dentro del mismo equipo. En este tipo de SO el SO trabaja mucho mas ya que tiene que obtener muchas respuestas no una sola. La respuesta que se obtiene para la ejecución de las instrucciones del programa que ha lanzado sera superior a la que obtendría si estuviera en un SOMO.
De esta forma, todo se procesa en el ordenador principal. Primero se ejecutan unas instrucciones que manda el primer programa. Después queda detenido para que dar tiempo a la UCP al proceso que lanza otro usuario. La UCP no ejecuta dos instrucciones a la vez. El intervalo de tiempo de la ejecución es tan corto, que los usuarios no lo notan. Cuantos mas procesos mas lento y mas se aprecia su lentitud.
En los SORED, cada usuario tiene su propio ordenador, normalmente monousuario. Cada ordenador establecerá conexión con el ordenador principal del SORED, en este caso la ejecución de los programas es distinta puesto que se dispone de mas bloques, mas procesadores... ( Tantos como tenga cada ordenador).
Cuando los usuarios indican al ordenador principal, que es el que tiene el SORED, que van a ejecutar un programa, el ordenador principal puede actuar de varias formas: cargar todo el peso del programa en el ordenador del usuario que ha abierto el programa. De esta manera el ordenador principal solo hace de servidor de aplicaciones, pero ni su memoria, ni su procesador actúan  Si solicitan la ejecución de un programa a su ordenador cliente, y todo el proceso correrá a cargo del SO de cada usuario, su procesador y su memoria. En la mayoría de los casos estarán físicamente puestos en el servidor y no en los clientes.
Entre los diversos tipos de sistemas operativos también están los que cargan con casi todo el peso de las aplicaciones. Así  cuando un usuario pide la ejecución de un programa, el ordenador principal sera el que se encargue de ejecutarlo completamente. El cliente solo necesita un pequeño sistema operativo llamado SO cliente para poder trabajar con la aplicación o programa deseado. Cuando son distintos usuarios el servidor trabaja duramente para poner los programas en posiciones de memoria distintas.
El SO es el que controla todo y hace de intermediario entre hardware y software
2. Evolución histórica de los sistemas operativos
Los primeros SO se denominan monolíticos. La característica fundamental es que su software básico era prácticamente imposible de modificar una vez instalado en el sistema informático.
El hardware y el software evolucionan a la vez, nunca separados
La primera computadora fue diseñada por Charles Babbage. Este matemático ya tenia claro que para tratar automáticamente la información era: ENTRADA-PROCESO-SALIDA.
Posteriormente, George Boole elaboro la teoría de la lógica matemática y el álgebra de Boole. Gracias a este se empezó a pensar en la elaboración de procesos o programas.
- Primera generación ( 1945-1955) Se utilizaban las Válvulas de vació. Estas computadoras eran maquinas programadas en lenguaje de maquina puro. Eran muy grandes, consumían mucha energía y muy lentas. Las operaciones eran meramente cálculos matemáticos
Imagen de válvula de vació:











- Segunda generación (1955-1965): Aparición de los transistores. Las computadoras se hacen mas pequeñas, baratas, consumen menos y despiden menos calor. En esta generación aparece lo que se define por procesamiento por lotes, proceso que implica 3 fases:
_ Introducción de datos a procesar en un componente hardware.
_ Llevar físicamente el soporte, cargado con los datos.
_ El soporte en el que se encuentran los resultados se llevan a otro dispositivo físico.
Ejemplo gráfico:









- Tercera generación (1965-1980): Aparecen los circuitos integrados. Se vuelve a reducir el tamaño y su consumo de energía, son mas baratos y mas rápidos y generan menos calor. Destaca el IBM 360 que era capaz de hacer cualquier operación ya fuera aritmética o lógica  Ya se diseña otro tipo de hardware y software que permite la ejecución de varios procesos a la vez.
- Cuarta generación (1980 hasta hoy): Aparecen los ordenadores personales  Su montaje se hace mas complicado debido a técnicas de integración y miniaturizacion de sus componentes hardware. Aparecen las memorias semiconductoras, dispositivos de almacenamiento externos reducidos...
3. Recursos. Funciones del sistema operativo
El fin del SO es coordinar la utilización que se hace del hardware que depende de los programas o aplicaciones que se están utilizando. Los programas habitualmente los elegimos los usuarios, pero en ocasiones es el propio SO.
La comunicación entre distintos niveles las hace posible las interfaces. Para hacer esto el SO necesita los servicios.
Servicios: Son aplicaciones que generalmente se ejecutan en un 2º plano. Estos incluyen ciertas funciones para poder utilizar los recursos del SO. Las aplicaciones son tipo: cliente-servidor; servidores web; servidores de base de datos y aplicaciones basadas en servidores a forma local o a través de una red.
Estos servicios se utilizan para:
_ Crear programas
_ Ejecutar esos programas
_ Acceder a los dispositivos de entrada y salida
_ Gestión de archivos
_ Acceso a la información
_ Supervisión y solución de problemas
_ Suministrar información estadística
La mayoría de estos servicios van instalados en el SO.
Estos son imprescindibles para el funcionamiento del SO y sus aplicaciones.
A estos servicios se les llama proceso en 2º plano o procesos en back-ground, en linux se les llama demonios.
4.1 Memoria
La parte del SO que se encarga de la memoria es el Administrador de memoria. Su función es clara: llevar en un registro las partes de memoria que se utilizan y las que no y libera el espacio de los procesos finalizados. También gestiona el intercambio de datos entre memoria y disco, solo si son muy grandes y no entran solo en una. La gestión de memoria es muy importante en los SO multitarea, ya que se trabaja con varios procesos a la vez.
La gestión de memoria en los SO monoproceso es sencilla, pero en los SO multitarea se complica ya que tiene que tener varios procesos simultáneamente en memoria.
La primera opción es dividir la memoria en particiones fijas. Para ello el SO dispone de una cola de procesos que solicitan entrar en memoria.
Vinculado con la multitarea esta el concepto de intercambio. Los procesos que están en espera pueden llevarse al disco y dejar libre el espacio para programas en ejecución.
La mayor dificultad en las particiones fijas esta en la correcta selección de tamaño de estas.
Con un conjunto de procesos dinámicos no es posible encontrar bien las particiones por eso se dispone de particiones variable. El problema que se plantea ahora es llevar un registro de las particiones libres y ocupadas que sea eficiente, tanto en tiempo como en aprovechamiento
4.2 Proceso y procesador
Un proceso, o tarea, se puede definir como programa en ejecución  Los procesos en un SO tienen las siguientes características:
_ Un proceso para empezar a ejecutarse tiene que estar en la memoria y tener los recursos que necesite
_ Cada proceso esta protegido del resto de procesos
_ Los procesos pueden ser del usuario y estarían en modo usuario o al SO que se ejecutarían en modo kernel o modo privilegio
_ Cada proceso tendrá una estructura de datos llamada bloque de control de procesos (BCP)
_ Los procesos pueden comunicarse entre si, sincronizarse y participar entre ellos.
A cada proceso se le asigna un espacio de direcciones lógicas en memoria. Este es igual al máximo que nuestro SO sea capaz de gestionar y aquí es donde entra la memoria virtual
Los procesos se dividen en trozos de tamaño igualatorio llamados frames.
Cuando se ejecuta el proceso, si la UCP quiere atender una parte que no esta en memoria interna o real ira a buscarlo a la memoria virtual.
Los procesos se pueden detener, parar, bloquear entre otras cosas.
Un programa no es un proceso se convierte en proceso cuando entra en ejecución.
Los procesos se ''pelean'' por los recursos hardware y aveces por los de software.
El reparto de los recursos del sistema entre los distintos procesos y su ejecución concurrente se conoce como multiprogramacion.
Cuantas mas instrucciones sea capaz de procesar un procesador, mayor velocidad del sistema, ya que tardan menos que la UCP.
4.3 Gestión de entrada/salida
Una de las tareas mas importantes del ordenador, y en particular de la unidad central de proceso, es relacionar y comunicar los periféricos.
Esta comunicación se produce en la placa base en el gestor de entrada/salida. Este componente, integrado en los circuitos de la placa base, se denomina chipset.
Cuando conectamos los periféricos a la placa base y les suministramos corriente, se produce la comunicación.
Un ordenador es dirigido y coordinado. En los ordenadores, esto se hace en la UCP mediante un sistema de buses de comunicación que la conecta con todos los elementos del ordenador.
Las interfaces comunican software y hardware pueden ser:
Interfaz tipo texto: Si el SO es de tipo texto, todo lo que nosotros introduzcamos o las respuestas que nos de el SO se verán mediante cadenas de caracteres.
- Interfaz tipo gráfica: La mayoría de los SO utilizan medios de comunicación entre ordenador y maquina tipo gráfico. En este tipo de interfaz se necesita un ratón o pantalla táctil.
- Interfaz mixta: A día de hoy la gran mayoría de ordenadores utilizan esta para poder comunicar al ordenador con nosotros.
5. Arquitectura y componentes
Si dejamos al margen los antiguos sistemas operativos monolítico, actualmente los SO se organizan en capas.
Un SO esta estructurado en varios niveles o capas, cada uno de los cuales se comunica con otro da igual que sea inferior o superior, para que estén coordinados y cumplan con el objetivo del SO.
Estos SO pueden funcionar en varias arquitecturas.
Los nuevos SO se pueden montar en plataformas Intel, AMD, MIPS, Alpha..., Sin que los que los manejan noten cambios, excepto en ocasiones.
Una maquina virtual es: Un archivo o conjunto de archivos. Son copias exactas del hardware real que gestiona el propio SO.
Una vez que el usuario termina de ejecutar el programa es cuando se produce la interacción real con el hardware.
6. Modos de explotación del sistema
Las formas de explotación de un SO responden a la forma en la que el usuario emplea los recursos hardware y software que componen el sistema informático. Explotar un SO es utilizarlo.
Si hablamos de SOMO, como solamente se esta ejecutando un programa, la cuestión no tiene mas importancia. Pero si estamos con un SOMU puede haber varios programas a la vez.
Para poder hablar de como se explota un SO habrá que tener en cuenta también las necesidades de los usuarios que los van a utilizar, y por supuesto, todo esta relacionado con el hardware en el que esta montado el SO.
A. Proceso en lotes.
Este sistema de explotación se empezó a utilizar en la 2ª generación
B. Proceso en tiempo real
Este tipo de explotación del ordenador es parecida a la anterior. La diferencia es que nosotros introducimos los datos y lanzamos el programa para el procesamiento de datos introducidos y el que obtiene la información procesada, todo esto en un mismo sistema informático, en muy poco tiempo.
C. Según el numero de usuarios
- Monousuario: Cuando solo un usuario trabaja en el ordenador
- Multiusuario: Varios usuarios pueden usar los recursos del sistema a la vez.
Este tipo de sistemas operativos son caracterizados porque varios usuarios podrán o no tener acceso a algunas cosas que otros si y viceversa.
D. Según el numero de procesos
Esta clasificación se hace atendiendo al numero de programas que puede ejecutar simultaneamente el ordenador o sistema informático.
Clasificación general de los SO según los programas o procesos que ejecutan a la vez:
- Monoprogramacion o monotarea: En este caso, el sistema solamente puede ejecutar un programa o proceso a la vez. Así los recursos del sistema serán dedicados al programa hasta que acabe su ejecución.
El que un SO sea monotarea no implica que pueda ser multiusuario, varios usuarios pueden intentar ejecutar sus programas en el mismo ordenador, pero de forma sucesiva.
- Multiprogramacion o multitarea: Este tipo de SO puede correr varios programas o procesos simultáneamente.
De esta forma, todos los procesos necesitaran individualmente mas tiempo para ejecutarse. Son SO multitarea.
E. Según el numero de procesadores del sistema informático
Esta clasificacion depende de los procesadores que el ordenador sea capaz de gestionar
- Monoprocesador: Consta de 1 solo procesador. Todos los trabajos que realizados pasaran por el.
- Multiprocesador: El ordenador cuenta con 2 o mas procesadores. Así  determinados SO pueden aprovechar las ventajas de este hardware.
Hay 2 formas de utilizar los diferentes procesadores por parte del SO:
a. Multiproceso simetrico (SMP): El SO utilizara la potencia de los procesadores de igual forma.
b. Multiproceso asimetrico (AMP): El SO reparte las tareas que esta haciendo a cada proceso con los que cuenta el SO.
Con estas 2 técnicas lo que se consigue, en cualquier casi, es que el tiempo de respuesta de la ejecución de varios programas en un mismo ordenador sea similar para todos ellos.
También se conoce el pseudomultitarea: Solamente afecta al SO de 2 windows (95 y 98) y Me, porque están capacitados para tener en su memoria cargados mas de un proceso y estar ejecutando aparentemente mas de 1.
El usuario cree que esta trabajando con mas de un programa a la vez, pasa algo parecido. Pero el procesador esta ejecutando secuencialmente y poco a poco cada uno de los procesos lanzados a la ejecución.
7. Sistemas operativos mas usuales.
La mayoría de los SO, a partir de los 32 bits, son abiertos y segmentados. Esto permite que sean fáciles de modificar, ya que los programas que lo componen están separados en bloques.
Los SO actuales se articulan en una estructura determinada por niveles. Cada nivel o parte del SO se encarga de una función. Así si se modifica solo afecta a parte del programa no a todo el SO.
Los SO por niveles, también llamados por capas, se encargan de control y ejecución de programas, gestión y control de usuarios, periféricos, memoria etc...
La ultima generación de sistemas operativos, a partir de los 32 bits, son aquellos que se denominan sistemas operativos de maquina virtual. A diferencia de los anteriores, estos tienen un núcleo que les permite emular el hardware.
Ya existen SO de 64 bits lo que permite que puedan manejar mas memoria RAM que los 4 GB que solo pueden usar los de 32 bits. Los procesos se ejecutan en estos últimos SO también se ejecutan en zonas independientes de memoria, lo que les da mucha estabilidad.

viernes, 12 de octubre de 2012

Resumen del tema 1 De sistemas operativos monopuestos

1. El sistema informático: Software y hardware

Se dice de ordenador a la máquina compuesta de elementos físicos (Hardware), que es capaz de realizar una gran variedad de trabajos a gran velocidad y con gran precisión.
Formado por una cantidad de componentes electrónicos que no son capaces de realizar muchas funciones. Necesitan de otros componentes no físicos que los pongan en funcionamiento; Nos referimos a los programas (Software). Servirán para procesar la información.
Instrucciones, ordenadas y adecuadas componen a un programa. Varios programas crean una aplicación informática .
Un programa no funciona por si solo, faltaria el SO (Sistema Operativo).
El SO es un componente software de un sistema informático capaz de hacer que los programas procesen la información sobre los componentes electrónicos de un ordenador o sistema informático (Hardware)


 EJ:

Cuando un programa esta compuesto por varios programas se le denomina aplicacion informática, pero una aplicacion informática también puede estar formada por un programa, en este caso se le llamaría programa.
Cada programa que forma una aplicacion informática tiene una finalidad concreta.
Una aplicacion es un macroprograma que consta de varios programas independientes aunque interrelacionados; queremos decir, programas que funcionan de forma autónoma, pero que pueden necesitar información procesada por otros programas dentro del macroprograma.
Instrucciones, programas y aplicaciones informáticas, en general, quedan definidos como software.
Un sistema informático es el conjunto de elementos físicos que son necesarios para la explotacion de las aplicaciones informáticas o software

Firmware: es la parte intangible (software) de componentes del hardware. Que están programadas en las memorias ROM. No es facilmente modificable. Una vez que se introduce o se graba en un componente hardware, queda practicamente invariable durante el tiempo que dure el ordenador
EJ:

2. Componentes software: sistema operativo y aplicaciones

El software se compone de dos partes:
- Software básico
- Software de aplicaciones
Se define como software básico a la parte del software sin la cual el ordenador no puede funcionar. También se le llama sistema operativo.
El software de aplicaciones es la parte del software que sirve para procesar la información de forma personalizad. Lo contienen programas y datos. Los programas dejan editar textos entre otras cosas.
Otra clasificación del software es:
- El estándar
- Software a medida
Estándar: Es el que podemos encontrar en el mercado, queremos decir es el tipo que viene prediseñado.
Software a medida: Es aquel que personalizan para las necesidades de un usuario algo mas entendido

3. Componentes físicos: el hardware

1- Unidad central de proceso (UCP). Constituido por:
    * Unidad aritmético-lógica (UAL)
    * Unidad de control (UC)
2- Memoria central (MC) o RAM 
3- Controladores
4- Unidad de Entrada/ Salida (E/S)
5- Buses 
6- Unidades periféricas o periféricos de Entrada/ Salida

3.1 Unidad central de proceso. Funciones, componentes, tipos y características
 La UCP también llamada procesador, se encarga del control y ejecutamiento de las operaciones que se ejecutan dentro del ordenador con el fin del tratamiento automático de la información.
Esta compuesto por la UC y la UAL, y su propia memoria que no es la RAM. El procesador es como el cerebro del ordenador y controla todo.
El procesador consta de 2 partes: 
- Unidad de control (UC) 
- Unidad aritmetico-logica (UAL)
El procesador gestiona lo que hay en la memoria desde o hacia los perifericos debido a la unidad de entrada salida, buses y controladores del sistema
 A. Unidad de Control
La unidad de control o UC es la parte pensante del ordenador; se encarga del gobierno y funcionamiento de los aparatos que la componen. Su tarea fundamental es recibir informacion para interpretarla y procesarla.
Se encarga de traer la memoria (RAM) las instrucciones necesarias para la ejecucion de los programas y el procesamiento de los datos. Estas instrucciones y datos se quitan de los soportes de almacenamiento externo. La UC interpreta y ejecuta las instrucciones en orden para que se procesen en el momento justo y bien. La UC dispone de algunos aliados, pequeños espacios de almacenamiento que son su esencia y se denominan registros.



1- Registro de instruccion: se encarga de guardar la instruccion que se esta ejecutando
2- Registro contador de programas: tiene la direccion de memoria de la siguiente instruccion a ejecutar
3- Controlador y decodificador: se encarga de interpretar la instruccion para su posterior proceso. Extrae el codigo de operacion de la instruccion en uso
4- Secuenciador: genera microordenes para ejecutar la instruccion
5- Reloj: da una sucesion de impulsos electricos a intervalos constantes

  B. Unidad Aritmetico-logica (UAL)
La unidad aritmetico-logica o UAL es la parte de la UCP encargada de realizar operaciones aritmeticas y logicas sobre la informacion.
Los elementos mas importantes son: 

1- Operacional o Circuito operacional: Realiza las operaciones con los datos de los registros de entrada
2- Registros de entrada: Contiene los operandos de la operacion
3- Acumulador: Almacena los resultados de las operaciones
4- Registro de estado: Registra las condiciones de la operacion anterior

 3.2. La memoria. Funciones, tipos y caracteristicas
Memorias de almacenamiento externo: Son soportes que sirven para almacenar informacion, por ejemplo un disco duro. Se encuentran dentro de la carcasa del ordenador pero se llaman externas para poder diferenciarlas de la Memoria RAM.
Estas memorias son mas lentas que la principal, no son volatiles (La informacion sigue dentro de ellas hasta cuando se quita la corriente electrica).
- Memoria interna: Dentro del ordenador existen memorias que no son consideradas externas son:
*RAM (Random Access Memory): Em ella es posible almacenar y modificar informacion, y es lo que se conoce como memoria principal.
*ROM (Read Only Memory): Es una memoria de solo lectura, cuya informacion no puede ser modificada y sirve para iniciar el sistema informatico.
La memoria interna, principal o central (MC) se encuentra dentro de la carcasa del ordenador.
  
A. Memoria RAM 
Es un componente necesario para que se pueda procesar la informacion. Casi todo se procesa dentro del ordenador pero tarde o temprano pasa por la memoria central



1- Registro de direcciones: Contiene la posicion de memoria a la que se va a acceder
2- Registro de intercambios: Recibe los datos en operaciones de lectura y almacena los datos en operaciones de escritura
3- Selector de memoria: Se activa cada vez que hay que leer o escribir conectando la celda de memoria con el registro de intercambio
4- Señales de control: Indica si una operacion es de lectura o escritura
 La memoria central esta compuesta por componentes biestables capaces de almacenar informacion en sistema binario (0 y 1) recibe el nombre de bit.
En la RAM tienen que estar fisicamente ubicados los programas y los datos que se tienen que procesar.
La Memoria cache no son RAM propiamente dichas, son otro tipo de memorias internas que almacenan la informacion que se usa con mas frecuencia. La memoria interna almacena la informacion temporalmente, mientras que los soportes de almacenamiento externo la acumulan permanentemente.
Los componentes electronicos que forman la MC son las denomidas celdillas o biestables.
Para almacenar la informacion en la memoria esta se suele referenciar por bloques. Los bloques suelen ser de 8 celdillas, es decir 8 bits y se denominan Byte. 
Estos condensadores, transcurrido cierto tiempo, se van descargando. Para no perder la informacion guardada en la memoria, el propio sistema los recarga. El proceso se conoce como refresco de memoria.
*DRAM (Dynamic RAM): Tipo de memoria RAM. Cuando esta cargada se dice que almacena un BIT a uno. Si esta descargado, el valor del BIT es cero. El refresco de una memoria RAM consiste en recargar nuevamente con energia los condensadores que tienen almacenando un uno para evitar que la informacion se pierda. La memoria DRAM es mas lenta que la memoria SRAM pero es mas barata de fabricar.
*SRAM (Static RAM): Es un tipo de memoria RAM alternativa a la DRAM que no necesita refrescarse: SRAM y DRAM son memorias volátiles. La SRAM suele usarse como Memoria cache
*SDRAM (Synchronous Dynamic RAM): Es una memoria que incorpora la capacidad de la DRAM y la velocidad de la SRAM. Esta memoria es la que incorporan la mayoria de los ordenadores personales.
*DDRAM (Double Data Rate): Memoria de doble recarga o memoria de doble tasa de transferencia. Compuesta por las memorias SDRAM, refresca 2 veces por impulso de reloj. Es una memoria de funcionamiento muy complejo, pero es el doble de rápida que las anteriores.
Una de las características fundamentales de las memorias RAM es la velocidad con la que la información puede almacenarse en ellas. Esta velocidad es mayor cuanto menos se tarde en acceder a la posición de memoria requerida en cada instante. La velocidad se mide en nanosegundos.

B. Memoria ROM
 La memoria ROM o memoria de solo lectura contiene programas especiales que sirven para cargar e iniciar el inicio del ordenador. En ella se encuentra almacenada toda la información referente a los componentes de hardware de los que consta nuestro equipo.
Posteriormente, sera labor del sistema operativo realizar el resto de operaciones para poder empezar a utilizar el ordenador.
El software que integra la ROM forma el BIOS (Basic Input Output System).
El BIOS se encuentra físicamente en varias partes del ordenador. El componente principal esta en la placa base.
Posteriormente, el BIOS se monto en memorias de tipo PROM (Programmable Read Only Memory).
El BIOS es un código que localiza y carga el sistema operativo en la RAM; Es un software elemental instalado en una pequeña ROM de la placa base que permite que este empiece a funcionar.
En la actualidad se utilizan memorias de tipo EPROM ( Erasable Programmable Read Only Memory) que permiten cambiar la configuracion asignada.
Estas memorias no son volatiles, la información no se borra, además viene preinstalada de fabrica.
La CMOS (Complementary Metal Oxide Semiconductor) es una memoria interna que consume muy poca energía eléctrica, lo que la hace perfecta para guardar la información de la BIOS.
La BIOS es la memoria que se utiliza para guardar los datos básicos de hardware y de conflagración y otras informaciones como fecha y hora.
Para que la información que mantiene no se borre, es necesario que la CMOS tenga siempre corriente eléctrica, cuando el ordenador esta apagado coge la energía de una pila o batería que hay en la placa base.
La configuración de la BIOS se puede cambiar si instalamos un disco duro nuevo.
Otro tipo de memoria que no es RAM pero es interna también, es la VRAM que sirve para almacenar las imagenes que se quieren visualizar.
Ahora los ordenadores incorporan la propia tarjeta gráfica llamada SGDRAM ( Super Graphics Dynamic Random Acces Memory) que es una memoria de elevada capacidad aveces demasiado elevada, que tiene gran velocidad y consume poco.
La CDRAM es una clase de memoria que actúa entre el procesador y el periférico correspondiente.
La estructura de la memoria, es siempre igual da igual que sistema operativo la lleve y esta separada en varios niveles.

1- Memoria convencional: De 0 a 640 KB
2- Memoria superior: De 641 KB hasta 1024 KB (1 MB)
3- Memoria extendida: De 1025 KB hasta el limite de la placa base instalada
Han dividido desde un principio la estructura en esas tres partes fundamentales, que cada Sistema Operativo las gestiona de una manera. 
Para acceder a las celdillas de memoria hay que atender a la definicion de Direccion de memoria.
De esta forma, cuando se accede a una direccion de memoria, lo que se hace es acceder a un conjunto de biestables. Cada uno de estos referencia un bit logico.
El direccionamiento es una operacion que se realiza cuando el procesador ejecuta o interpreta una instruccion. Toda instruccion esta compuesta por un codigo de operacion y un operando. El codigo de operacion es la instruccion en si y el operando sera el dato o la informacion que se procesara. Los llamados modos de direccionamiento son las diferentes formas de acceder a los operando en cada instruccion.

1- Direccionamiento inmediato: En la instruccion esta incluido directamente el operando o dato
2- Direccionamiento directo: En la instruccion, el campo del operando contiene la direccion de la memoria donde se encuentra el operando.
3- Direccionamiento indirecto: El campo del operando contiene una direccion de memoria en la que se encuentra la direccion efectiva del operando.
4- Direccionamiento relativo: La direccion del dato que interviene en la instruccion se obtiene sumando a la direccion de la propia instruccion una cantidad fija, que normalmente esta contenida en un registro de tipo especial.

3.3 Unidades de entrada/salida y buses
La unidad de entrada/salida sirve para comunicar el procesador y el resto de componentes internos del ordenador con los perifericos de entrada/salida y las memorias auxiliares.
Al conjunto de UC y UAL se le dnomina procesador. La memoria RAM y la unidad de entrada y salida no forman parte de el.
Otro componente importante del ordenador y relacionado con el procesador es: el bus. Responsable de una correcta interaccion entre los diferentes componentes del ordenador, es el dispositivo de comunicacion principal. En un sentido fisico se puede decir que es un conjunto de lineas que sirve para la transmision de datos entre las partes de un ordenador.
Contiene varias subcategorias:
* Bus de datos: transmite informacion entre la UCP y los perifericos
* Bus de direcciones: Identifica el dispositivo al que va destinada la informacion que se transmite por el bus de datos
* Bus de control o sistema: Organiza y redirige hacia el bus pertinente la informacion que se tiene que transmitir.  
La capacidad operativa del bus depende del propio sistem, de la velocidad de este, y su anchura, manda una cantidad de bits que dependera del procesador del ordenador.
El bus que lleve el equipo establecera si sera mas rapido o mas lento.
1-  Procesador
2- Buses
3- Memoria RAM
Es muy importante la velocidad a la que circulan los bits por el bus. Esto se mide en megahercios y de esto depende el rendimiento total del ordenador. Hay desde los 66 Mhz a mas de 2600Mhz.
La frecuencia del bus queda determinada por los impulsos de reloj. El reloj es, por tanto, el componente que determina la velocidad, ya que a mayor frecuencia en Mhz, mas rapida es la circulacion de bits por las lineas del bus.

3.4 Los perifericos
Los perifericos son dispositivos hardware con los cuales el usuario interactua con el ordenador, almacena o lee datos etc...
Se le dice periferico a los dispositivos que valen para introducir datos y programas del exterior a su memoria central para que los pueda usar y a los que sirven para hacer lo contrario es decir sacar datos o programas de la memoria a central al exterior y los hay que sirven para ambos.
Los perifericos se conectan con el ordenador, mediante puertos,  esta operacion la lleva acabo una parte esencial: la Unidad de entrada/salida. 
3 Tipos de puertos:
- De entrada: Sirven para introducir datos o programas al ordenador
- De salida: sirven para sacar datos o programas del ordenador
- Mixtos: que sirven tanto para introduccir como para extraer 
La informacion se transmite entre perifericos se puede transferir bit a bit o Byte a Byte, siendo estos ultimos los que mas se usan, pueden llegar a transmitir hasta a 1 Gigabit por segundo.
Los hay que transmiten en un sentido (simplex), que transmiten en ambos sentidos pero no a la vez (halfduplex o semiduplex), y los que transmiten en ambos sentidos y a la vez (full duplex o duplex).
Muchos de los perifericos de entrada y salida necesitan una configuracion especial que se hace mediante programas que se instalan en la memoria del ordenador para que el periferico funcione bien a estos programas se les llama drivers o controladores.

4. Componentes logicos: el software
Ya hemos visto el hardware pero para que este funcione necesita del software que sera el que procese la informacion.
La informacion se procesa en un sistema informatico y es de diferentes tipos: Textos...

4.1 Los datos: tipos de datos
Para que el ordenador funcione necesita informacion necesita informacion con la que trabaja. Esta informacion puede ser de varios tipos segun su funcion. El ordenador sirve pata procesar informacion en forma de datos.
El ordenador tambien maneja informacion que servira para procesar esos datos. En este caso concreto nos referimos a programas o aplicaciones informaticas.
Un sistema informatico necesita de un software especial y fundamental. Este software compuesto por porgramas y datos que ponen en funcionamiento las aplicaciones, las cuales procesan sus propios datos. En este caso nos referimos al Sistema Operativo, es el componente software qie sirve para que la informacion sea procesada por las aplicaciones informaticas.
1- Datos de entrada: son los que suministran al ordenador desde los perifericos de entrada
2- Datos intermedios: Son aquellos que se obtienen en la 2ª fase del tratamiento automatico o de la informacion: proceso
3- Datos de salida: Se les denomina resultado, completan el proceso del tratamiento automatico de la informacion.
Hay otra clasificacion segun si varian durante el proceso o no:
*Datos fijos: Son los que permanecen constantes durante todo el proceso del programa
*Datos variables: Son aquellos que si se modifican a lo largo del proceso segun secuencias determinadas condiciones o acciones realizadas por los programas.

4.2 Codificacion alfanumerica
Ya se sabe que los datos, ademas de numericos, pueden ser alfabeticos o alfanumericos. El ordenador trabaja con los 3 tipos de datos.
Los sistemas de codificacion alfanumerica sirven para representar una cantidad determinada de simbolos en binario.
Los sistemas de codificacion alfanumerica mas importantes son:
- ASCII (American Standard Code for Information Interchange): Este sistema utiliza una combinacion de 7 u 8 bits. Es el que mas se utiliza y el que emplea simbolos diferentes.
- EBCDIC (Extended BCD Interchange Code): cada simbolo se representa por una combinacion de 8 bits agrupados en 2 grupos de 4 bits.
- UNICODE: Es un codigo internacional utilizado hoy en dia en la mayoria de los sistemas operativos. Permite que un producto software o pagina web especifica se oriente a multiples plataformas, idiomas o paises sin necesidad de rediseño. Define la codificacion de caracteres.
La mayoria de lideres del mercado , han adoptado la norma UNICODE, permitiendo crear aplicaciones y hardware estandar.

4.3 Medidas de la informacion
El bit es la unidad de informacion mas pequeña. Se representa por 0 o un 1.
El ordenador utiliza siempre el sistema de codificacion binaria para todas sus operaciones.
El Byte se utiliza para representar un caracter alfanumerico.
Actualmente, la capacidad de los discos duros o de las Memorias RAM se miden en MB o GB y la de los discos duros en GB o TB