Este documento describe los sistemas operativos y su importancia. Los sistemas operativos son software esencial que administra los recursos de hardware y permite la interacción entre usuarios, aplicaciones y dispositivos. Un curso sobre sistemas operativos es fundamental en cualquier carrera de informática debido a la ubicuidad de las computadoras y la necesidad de entender cómo funcionan.
2. Los sistemas operativos son una parte
esencial de cualquier sistema informático.
Del mismo modo, un curso sobre sistemas
operativos es una parte esencial de
cualquier carrera de Informática o
Electrónica. Este campo está cambiando
muy rápidamente, ya que ahora las
computadoras se encuentran
prácticamente en cualquier aplicación,
desde juegos para niños hasta
herramientas de planificación
extremadamente sofisticadas para los
gobiernos y las grandes multinacionales.
3. Un sistema operativo es el software encargado de ejercer el control y
coordinar el uso del hardware entre diferentes programas de aplicación
y los diferentes usuarios. Es una administrador de los recursos de
hardware del sistema.
Es un conjunto de programas que por medio de abstracciones ponen
al hardware del ordenador de modo seguro, a disposición de un usuario.
H. Deitel: Un sistema operativo es un programa que actúa como
interfaz entre el usuario y el ordenador.
Madnik y Donovan: conjunto de programas que gestionan los recursos
del sistema operativo.
4. Punto de vista del Usuario
• La visión del usuario de la computadora varía de
acuerdo con la interfaz que utilice. El objetivo es
maximizar el trabajo (o el juego) que el usuario realice.
• El sistema operativo se diseña principalmente para que
sea de fácil uso, prestando cierta atención al
rendimiento y ninguna a la utilización de recursos.
Punto de vista del SO
• Desde el punto de vista de la computadora, el sistema
operativo es el programa más íntimamente
relacionado con el hardware. En este contexto,
podemos ver un sistema operativo como un asignador
de recursos.
5. Combinan aspectos referentes a distintas áreas relacionadas con los
computadores: Lenguajes, hardware, estructura de datos, algoritmos , etc.
Se convierten en sistemas software grandes complejos , por lo tanto es
necesario abordarlos de una manera estructurada.
•Ser Interfaz sistema - usuario
•Compartir los recursos de hardware entre los
usuarios.
•Permitir a los usuarios compartir datos entre ellos.
•Prevenir que las actividades de un usuario no
interfieran en las de los demás.
•Calendarizar los recursos de los usuarios.
•Facilitar el acceso a los dispositivos de E/S
•Recuperarse de fallas o errores.
•Llevar el control sobre los recursos.
6. NIVEL FUNCIÓN
Lenguajes de alto nivel Expresan los algoritmos de una
manera adecuada a la
capacidad cognitiva humana, en
lugar de a la capacidad ejecutora
de las máquinas.
Aplicación Tipo de programa informático
diseñado como herramienta
para permitir a un usuario
realizar uno o diversos tipos de
trabajo.
7.
8. Dependiendo de las funciones incluidas tendremos diferentes Sistemas
Operativos, como:
•MS –DOS ¿Cuál es la diferencia entre ellos?
•Windows 3.1
•Windows 95
•Windows NT
•Interfaz con el usario
•Solaris •Capacidad de administrar
•Ubuntu Información (32 y 64 bits)
•Kubuntu •Seguridad en la Red
•Fedora •Tipo de Source (Fuente)
•Unix •Estabilidad
•Linux •Movilidad y adaptación con
•Android
otras Arquitecturas.
9.
10. Administración del •Administra la distribución del procesador entre los distintos
procesador: programas por medio de un algoritmo de programación.
Gestión de la •Gestiona el espacio de memoria asignado para cada aplicación
memoria de y para cada usuario, si resulta pertinente. Cuando la memoria física
es insuficiente, el sistema operativo puede crear una zona de
acceso aleatorio: memoria en el disco duro, denominada "memoria virtual".
Gestión de •Permite unificar y controlar el acceso de los programas a los
recursos materiales a través de los drivers (también conocidos
entradas/salidas como administradores periféricos o de entrada/salida).
Gestión de •Se encarga de que las aplicaciones se ejecuten sin problemas
ejecución de asignándoles los recursos que éstas necesitan para funcionar. Esto
significa que si una aplicación no responde correctamente puede
aplicaciones "sucumbir".
11. Administración •Se encarga de la seguridad en relación con la
ejecución de programas garantizando que los
de recursos sean utilizados sólo por programas y usuarios
autorizaciones que posean las autorizaciones correspondientes.
Gestión de •Gestiona la lectura y escritura en el sistema de
archivos, y las autorizaciones de acceso a archivos
archivos de aplicaciones y usuarios.
Gestión de la •Proporciona cierta cantidad de indicadores que
pueden utilizarse para diagnosticar el
información funcionamiento correcto del equipo
12.
13. Núcleo
Interprete de
Comandos
Sistema de
Archivos
Componentes
del SO
Llamadas al
Sistema
Programas del
Sistema
Programas de
Aplicación
14. Es el principal responsable de facilitar a los distintos programas acceso
seguro al hardware de la computadora o en forma más básica, es el
encargado de gestionar recursos, a través de servicios de llamada al
sistema. Como hay muchos programas y el acceso al hardware es
limitado, también se encarga de decidir qué programa podrá hacer
uso de un dispositivo de hardware y durante cuánto tiempo, lo que se
conoce como multiplexado
En el caso de MS-DOS está formado por dos archivos, que son:
el MSDOS.SYS y el IO.SYS.
El primero Realiza todas las opciones básicas de
administración de los elementos hardware del sistema
(comunicación entre el micro, la memoria, y los buses). El
segundo es un DRIVER (manejador) elemental, que rige y
organiza las Entradas y Salidas básicas del sistema ( I / O ),
como la comunicación con consola (teclado y monitor), las
unidades de disco e impresora.
15. Voltaje al
procesador
programa
principal del memoria ROM
SFW
Controlador de Rutina q
Interrupciones inicializa el HW
16. • Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de procesos.
• Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos.
• Apoyo para el mecanismo de llamada y retorno de un
procedimiento.
• Apoyo para ciertas funciones de contabilidad del sistema.
17. Es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el
sistema operativo entiende. Permite al usuario controlar los periféricos sin conocer las características del
hardware utilizado, la gestión de las direcciones físicas, etcétera.
18. Los shells de los sistemas operativos generalmente caen en dos
categorías según su interfaz:
* Línea de comandos (CLI)
* gráficos (GUI)
CLI (COMMAND LINE INTERFACE)
Tipo de interfaz para manipular un programa o sistema
operativo con instrucciones escritas.
Cada instrucción es escrita en una línea de texto y suelen
ejecutarse al presionar ENTER. También se suele permitir archivos
scripts para la ejecución automática de varias líneas de
comandos que cumplen alguna función.
19. Comandos internos
CD o CHDIR - Cambia el directorio actual.
› CD nombre_directorio Cambia al directorio jerárquicamente inferior.
CLS - Limpia todos los comandos y toda la información que hay en pantalla,
excepto el incitador de comandos (prompt) usualmente la letra y ruta de la
unidad usada (Por ejemplo C:>)
COPY - Copiar un archivo de un directorio a otro
COPY CON Copia a un archivo los caracteres introducidos en pantalla (CONsola)
DIR - Lista los directorios y archivos de la unidad o directorio actual.
PROMPT- Cambia la línea de visualización de la orden.
MD - Crea un nuevo directorio.
RD o RMDIR- Elimina un directorio.
REM - Permite insertar comentarios en archivos de proceso por lotes.
REN o RENAME - Renombra archivos y directorios.
TIME - Visualiza o cambia la hora del reloj interno.
TYPE - Muestra el contenido de un fichero. Se utiliza, principalmente, para ver
contenidos de ficheros en formato texto.
VER - Muestra la versión del Sistema Operativo.
VOL - Muestra la etiqueta del disco duro y su volumen (si lo tiene).
MEM - Muestra la cantidad de memoria RAM, la cantidad ocupada y la libre.
20. Comandos externos
ATTRIB - Sin parámetros, visualiza los atributos de los directorios y archivos. Con
parámetros, cambia los atributos de directorios y archivos.
Los atributos de los directorios, y los ficheros son: de lectura (r), de escritura (w), de
archivo (a), oculto (h), de sistema (s). Parámetros: signos (más o menos) y letras r, w, a, y
h "v". Ejemplo: Attrib +r *.* (atributo de sólo lectura, para todos los ficheros de ese
directorio)
APPEND - Sirve para especificar trayectorias para ficheros de datos.
BACKUP - Ejecuta una copia de seguridad de uno o más archivos de un disco duro a
un disquete.
CHKDSK - Verifica si hay errores en el disco duro. (También se puede utilizar para
corregirlos con el parámetro "/F")
DELTREE - Borra un directorio sin importar que contenga subdirectorios con todos sus
contenidos.
DISKCOPY - Permite hacer una copia idéntica de un disquete a otro, pertenece al
grupo de las órdenes externas.
DOSKEY - Permite mantener residentes en memoria RAM las órdenes que han sido
ejecutadas en el punto indicativo.
FC - Compara ficheros.
FORMAT - Permite crear la estructura lógica, en una unidad física de almacenamiento
(discos duros, disquetes y unidades de almacenamiento masivo).
PRINT - Permite imprimir ficheros.
21. Parámetros combinados:
KEYB - Establece el idioma del teclado según el
parámetro adicionado (Ejemplo: KEYB SP para el
teclado español).
LABEL - Muestra o cambia la etiqueta de la unidad
de disco duro.
MEM - Muestra la memoria RAM, el espacio ocupado
y el espacio libre.
MOVE - Mueve o cambia de posición un directorio
y/o ficheros. También renombra subdirectorios.
SUBST - Crea una unidad lógica virtual a partir de un
directorio.
TREE - muestra los directorios en forma de ARBOL
23. Conjunto de formas y métodos que posibilitan
la interacción de un sistema con los
usuarios utilizando formas gráficas e
imágenes. Con formas gráficas se refiere a
botones, íconos, ventanas, fuentes, etc. los
cuales representan funciones, acciones e
información.
El sistema operativo Windows utiliza el Explorer
como su propio shell.
El Explorer provee el entorno de escritorio
típico de Windows con la barra de Inicio, la
barra de tareas, etc.
24. El sistema de archivos se basa en la administración de
clústers, la unidad de disco más chica que el sistema
operativo puede administrar, permite que los archivos se
registren en una estructura arbórea.
25. Es el mecanismo usado por una
aplicación para solicitar un servicio al
sistema operativo.
Dado que el hardware es
compartido por múltiples procesos,
el acceso a los recursos debe ser
administrado para garantizar su
correcto uso y evitar problemas de
seguridad (si procesos
malintencionados desean acceder
a recursos asignados a otros
procesos). Por estas razones, en
los sistemas duales, el acceso al
ambiente físico es manejado
exclusivamente por el Sistema
Operativo.
26. llamada al
sistema
se retorna al ejecución del
proceso programa es
original. interrumpida
Instrucciones
tarea finaliza de código de
alto nivel.
27. Compiladores
Ensambladores
programas del
Editores
sistema
Utilerías
Bibliotecas
28. COMPILADORES: Son programas que traducen
Programas Fuente en programas Objeto, Un
compilador es un programa informático que
traduce un programa escrito en un lenguaje
de programación a otro lenguaje de
programación, generando un programa
equivalente que la máquina será capaz de
interpretar.
ENSAMBLADORES: se refiere a un tipo de
programa informático que se encarga de
traducir un fichero fuente escrito en un
lenguaje ensamblador, a un fichero objeto
que contiene código máquina
29. UTILERIAS:
En informática, una
utilidad es una
herramienta que sirve
de soporte
para la construcción y
ejecución de
programas, en donde
se incluyen las
bibliotecas de sistema,
middleware,
herramientas de
desarrollo, etc.
30.
31. A) UTILERÍAS DEL SISTEMA
Se ejecutan bajo el control del sistema operativo y
se utilizan para preparar algunos recursos usados
por el sistema. Son de uso interno.
B) UTILERÍAS PARA ARCHIVOS
Manejan información de los archivos tales como
imprimir, clasificar, copiar, etc.
C) UTILERÍAS INDEPENDIENTES
Realizar funciones que se relacionan con la
iniciación de dispositivos de Entrada/Salida, carga
del sistema operativo, etc.
32. Es un conjunto de subprogramas
utilizados para desarrollar software. Las
bibliotecas contienen código y datos,
que proporcionan servicios a programas
independientes, es decir, pasan a
formar parte de éstos. Esto permite que
el código y los datos se compartan y
puedan modificarse de forma modular.
33. Un programa de aplicación es un tipo de software
diseñado para facilitar al usuario la concreción de un
cierto trabajo.
Los procesadores de texto, las hojas de cálculo y las
bases de datos son programas de aplicación, estas
demuestran que las aplicaciones informáticas
posibilitan la automatización de tareas.
34. El procedimiento de inicialización de una
computadora mediante la carga del kernel se
conoce como arranque del sistema. En la mayoría de
los sistemas informáticos, una pequeña parte del
código, conocida como programa de arranque o
cargador de arranque, se encarga de localizar el
kernel, lo carga en la memoria principal e inicia su
ejecución.
35. Programa de Post (Power on
Encendido
Arranque self - test)
Carga del
Sector de Chequeo de la
Sistema
Arranque Configuración
Operativo
Carga Boot
Manager y
Carga del S. O.
36. ARRANQUE DEL SISTEMA
¿Cuál es la primera cosa que sucede
cuando usted enciende la computadora?
El encendido de la computadora, es la
primera etapa en el proceso de arranque y
consiste en dar energía eléctrica a todos
los circuitos de la computadora, lo primero
que sucede en esta etapa es que el fan
(abanico) del power suplí comienza a girar
y el power light (indicador de encendido,
en nuestro caso un led) en el case o CPU se
enciende.
37. ARRANQUE DEL SISTEMA
Cuando usted energiza la computadora, el
microprocesador comienza a ejecutar el "Programa de
arranque que esta almacenado en la memoria ROM.
BIOS (Basic Input-Output System )
Sistema de entrada/salida básico que contiene un código
de software que localiza y reconoce todos los dispositivos
necesarios para arrancar el Sistema Operativo y de cargar
toda la memoria RAM, suele tratarse de uno o varios chips
de memoria ROM (habitualmente EPROMs) que contienen
las rutinas básicas de entrada y salida, los primeros pasos
que debe dar un ordenador al encenderse, la
configuración básica del sistema, etc.
Este es la interface entre el Hardware y el Sistema operativo.
Sin el chip de memoria ROM, los módulos de la RAM estarán
mal funcionando, el microprocesador estará deshabilitado
para correr el programa de arranque y la computadora
38. ARRANQUE DEL SISTEMA
La próxima etapa en el proceso de arranque es la auto prueba de encendido
en la cual se diagnostican problemas en la computadora.
UNIDADES
Microproces Tarjeta de
RAM TECLADO DE DISCO
ador Video
(DRIVERS)
39. ARRANQUE DEL SISTEMA
¿Cómo la computadora encuentra el Sistema Operativo para
cargarlo en la RAM?
La computadora primero chequea el driver A: si hay un CD aquí
convierte al driver A: en el driver por defecto (driver o unidad de
arranque). Si no encuentra un disco en el driver A, el driver C:
será el driver por defecto, luego la computadora busca los
archivos del Sistema Operativo.
Lo primero que hace es buscar dos archivos del Sistema
Operativo: Io.sys y Msdos.sys. si esos archivos no existen o no
están en el disco duro.
Sino hay problema el microprocesador procede a cargar otro
archivo del Sistema Operativo llamado: Command.com, si existe
problemas con este archivo se muestra un mensaje de error en
la pantalla: "Bad o missing command interprete".
40. ARRANQUE DEL SISTEMA
Chequea datos de la CMOS
Determina cantidad de memoria en
RAM
Determina tipos de unidades de CD y
Disco Duro
Busca el directorio raíz del disco para
ver la configuración de archivos,
autoexec.bat
41. ARRANQUE DEL SISTEMA
Superadas todas las pruebas, el programa
de arranque de la BIOS chequea las
unidades de almacenamiento disponibles y
configuradas en el SETUP, para determinar
la unidad la unidad de inicio, en la que
encontrará el sector de arranque (MBR –
MASTER BOOT RECORD) con el programa
de puesta en marcha del sistema
operativo, ubicada en la partición primaria
del Disco Duro.
42. ARRANQUE DEL SISTEMA
Una vez encontrado el archivo de inicialización del S.O. se
cargará en memoria y se ejecutará para poder cederle el
control del ordenador.
El proceso de arranque esta finalizado cuando su
computadora esta lista para aceptar comando y datos.
Usualmente la computadora muestra un prompt o la
pantalla principal de su sistema operativo, si se usa
Windows será el escritorio de Windows si esta usando el
DOS será el promt*
43. ARRANQUE DEL SISTEMA
Algunos sistemas, como los teléfonos móviles, los PDA (Asistente Digital
Personal) y las consolas de juegos, almacenan todo el sistema operativo
en ROM. El almacenamiento del sistema operativo en ROM resulta
adecuado para sistemas operativos pequeños, hardware auxiliar
sencillo y dispositivos que operen en entornos agresivos. Un problema
con este método es que cambiar el código de arranque requiere
cambiar los chips de la ROM. Algunos sistemas resuelven este problema
usando una EPROM (erasable programmable read-only memory), que
es una memoria de sólo lectura excepto cuando se le proporciona
explícitamente un comando para hacer que se pueda escribir en ella.
Todas las for-mas de ROM se conocen también como firmware, dado
que tiene características intermedias entre las del hardware y las del
software.
44. ARRANQUE DEL SISTEMA
Cuando una CPU recibe un suceso de
reinicialización (por ejemplo, cuando se
enciende o reinicia), el registro de instrucción
se carga con una posición de memoria
predefinida y la ejecución se inicia allí. En
dicha posición se encuentra el programa
inicial de arranque. Este programa se
encuentra en memoria de sólo lectura (ROM,
read-only memory), dado que la RAM se
encuentra en un estado desconocido cuando
se produce el arranque del sistema. La ROM sí
resulta adecuada, ya que no necesita
inicialización y no puede verse infectada por
un virus informático.
45. ARRANQUE DEL SISTEMA
1. BIOS
Busca, carga y ejecuta el programa de arranque (boot loader).
Echa una mirada buscando el boot loader en floppy, cd-rom, o disco
duro, el BIOS carga y ejecuta el boot loader que se encuentra en el
2. MBR (Master Boot Record)
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 bytes o menos.
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.
3) Revisión de validación del MBR en los últimos 2 bytes.
MBR carga y ejecuta el GRUB boot loader.
46. ARRANQUE DEL SISTEMA
3. GRUB
Este carga la imagen del kernel establecida por defecto en el fichero de
configuración de GRUB.
GRUB tiene conocimiento acerca del sistema de archivos, el fichero de
configuración de GRUB es /boot/grub/grub.conf o /boot/grub/grub.cfg
Entonces, en pocas palabras, GRUB carga y
ejecuta el kernel y la imagen initrd.
Ejemplo del fichero GRUB de CENTOS:
#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.x
pm.gz hiddenmenutitle CentOS (2.6.18-194.el5PAE) root (hd0, 0) kernel
/boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-
194.el5PAE.img
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.
initrd significa Initial RAM Disk, initrd es utilizado por el kernel como un sistema de
archivos raíz 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
47. ARRANQUE DEL SISTEMA
Init da una mirada al fichero /etc/inittab para decidir el runlevel a ejecutar.
Reboot Init identifica el initlevel por defecto desde /etc/inittab y utiliza esto
para cargar todos los programas apropiados.
Con el comando 'grep initdefault /etc/inittab' podemos ver cuál es el
runlevel por defecto de nuestro sistema.
Cuando el sistema está arrancando, podemos ver los servicios iniciando.
Por ejemplo: "Starting sendmail .... OK". Estos son los programas del
runlevel, ejecutados desde el directorio correspondiente como fue
definido en el runlevel.
Dependiendo de la configuración de init por defecto, el sistema
ejecutará los programas desde uno de los directorios, según sea el caso.
49. El BIOS es un sistema básico de entrada/salida que
normalmente pasa inadvertido para el usuario final
de computadoras. Se encarga de encontrar el
sistema operativo y cargarlo en la memoria RAM.
Posee un componente de hardware y otro de
software; este último brinda una interfaz
generalmente de texto que permite configurar
varias opciones del hardware instalado en el PC,
como por ejemplo el reloj, o desde qué dispositivos
de almacenamiento iniciará el sistema operativo
(Microsoft Windows, GNU/Linux, Mac OS X, etc.).
El BIOS gestiona al menos el teclado de la
computadora, proporcionando incluso una
salida bastante básica en forma de sonidos por
el altavoz incorporado en la placa base cuando
hay algún error, como por ejemplo un dispositivo
que falla o debería ser conectado.
El BIOS reside en una memoria EPROM. Es un
programa tipo firmware. El BIOS es una parte
esencial del hardware que es totalmente
configurable y es donde se controlan los procesos
del flujo de información en el bus del ordenador,
entre el sistema operativo y los demás periféricos
50. BIOS CONCEPTOS
INICIALIZACIÓN
Muchos de estos
elementos precisan de la
inicialización de registros,
carga de parámetros y
determinadas señales
para ponerlos en orden de
funcionamiento.
51. BIOS CONCEPTOS
Tabla de vectores de
interrupción
La inicialización incluye cargar En los PCs estándar se pueden
en la memoria RAM ciertas tablas manejar un total de 256
y programas muy básicos, interrupciones distintas, y cada
imprescindibles para el manejo una requiere un programa de
de muy bajo nivel del hardware, control especial. Este programa
ejemplo: la carga en memoria se sitúa en memoria RAM o en la
baja de los vectores de ROM-BIOS, pero en cualquier
interrupción, de forma que caso, en los primeros 1024
cuando ocurra una interrupción octetos (1 KB) de la memoria
se sepa donde encontrar la RAM (direcciones 000-400h) se
rutina adecuada. carga una tabla de 256 punteros
de 4 bytes, denominada de
vectores de interrupción.
52. BIOS CONCEPTOS
Memoria de la BIOS
Puesto que los programas Esta área de memoria es
contenidos en la BIOS requieren conocida como memoria de
cierta área de trabajo donde datos de la ROM-BIOS, y en ella se
almacenar variables y datos, se maneja información muy
asignaron para este propósito 256 diversa. Por ejemplo, las últimas
Bytes en la zona de memoria pulsaciones de teclas; capacidad
situada inmediatamente por de memoria encontrada; los
encima de la tabla de vectores ciclos de reloj pasados desde
de interrupción; en las media noche (hora del sistema);
direcciones 400-4FFh (estas el número de líneas y columnas
direcciones son frecuentemente que caben en la pantalla, o la
señaladas como 0040:0000 - lista de los dispositivos que han
0040:00FF). sido detectados en el sistema
durante la fase de inventario del
hardware.
53. BIOS CONCEPTOS
Carga del Sistema
Una vez terminadas las
verificaciones previas, la BIOS En los sistemas primitivos, la
inicia un recorrido en busca un secuencia de carga era
dispositivo donde encontrar un fija, empezando en el disquete
programa que se denomina (A:) y siguiendo en la primera
secuencia de carga ("Boot unidad de disco (C:). Esta sigue
sequence") y su orden puede siendo aún la secuencia normal,
ser establecido mediante un pero las BIOS actuales pueden
programa auxiliar ( set-up de la alterar este orden e incluso
BIOS). Una vez fijada, la dispositivos alternativos como CD-
secuencia de carga es ROM o LAN, como puntos de inicio
almacenada en la memoria de para la carga del Sistema.
datos de la BIOS , de forma que
puede ser recordada y utilizada
la próxima vez que se reinicia el
sistema.
54. BIOS CONCEPTOS
Nombre del Tipo de
Mensajes de la BIOS
fabricante y la Microprocesador y
de la tarjeta gráfica
Versión su velocidad.
Mensaje indicando
Mensajes de otros Revisión de la
como acceder a l
dispositivos Disco memoria Ram y su
BIOS,("Press Del to
duro por ejemplo. tamaño.
enter CMOS Setup“)
55. BIOS CONCEPTOS
Generalmente se hará mediante la pulsación de ciertas teclas al
arrancar, mientras salen esos mensajes. Uno de los métodos más
comunes es pulsar "Del", aunque en otras se usa el "F1", el "Esc" u otra
combinación de teclas (Alt-Esc, Alt-F1...). Existen decenas de métodos, se
tiene que estar atento a la pantalla o buscar en el manual de su placa o
en el sitio web del fabricante de la BIOS.
Por cierto, es bastante raro que un fabricante de placas base sea su
propio suministrador de BIOS, en general todas provienen de apenas un
puñado de fabricantes: Award, AMI, Phoenix y pocos más.
57. BIOS CONCEPTOS
Standard CMOS Setup
Dentro de este apartado podremos
establecer la fecha y la hora del sistema,
configurar los discos duros y establecer la
disquetera si se tiene.
Si no esta seguro de qué disco duro tiene y
dónde está conectado, es recomendable
dejar todos los valores del campo TYPE en
“Auto” para que sea la BIOS la que
configure estos dispositivos
automáticamente.
58. BIOS CONCEPTOS
Manejo básico de la BIOS
BIOS Features Setup
Quick Power On
CPU Internal Cache External Cache:
Self Test
• Es altamente • Esta opción • Activando esta
recomendable también debe opción se acelera
que esta opción estar activada el POST y gana
este activa (la para poder hacer unos segundos en
marquemos como uso de la caché el arranque del
“Enabled”) esta externa o caché sistema.
opción, ya que en L2. Generalmente, no
caso contrario existe ningún
estaremos problema por
deshabilitando la tenerla activada.
caché interna del
procesador.
59. BIOS CONCEPTOS
Manejo básico de la BIOS
BIOS Features Setup
Boot Sequence Swap Floppy Drive: Security Option:
• Se establece el • Si activamos esta • Esta opción nos
orden en el que el opción y tenemos permitirá indicarle a
ordenador dos disqueteras, las la BIOS si queremos
intentará cargar un letras de cada una establecer una
sistema operativo de ellas se contraseña cada
desde las distintas cambiarán, es vez que se
unidades. En decir, B: pasará a encienda el equipo
algunas ocasiones, ser A: y viceversa. (opción System), al
esta opción viene entrar en la BIOS
desglosada en tres (opción Setup o
opciones diferentes: BIOS) o nunca
First Boot Device, (opción Disabled).
Second Boot
Device y Third Boot
Device.
60. BIOS CONCEPTOS
Manejo básico de la BIOS
Chipset Features
Setup
Esta parte de la BIOS es recomendable no modificarla demasiado, puesto
que afecta a partes críticas del sistema como el procesador, la RAM, los
buses AGP, PCI, etc.
Entre sus opciones, permiten a los puertos USB, habilitar el soporte para
teclado USB, el tipo de bus AGP, etc. Estos elementos no deben
modificarse, ya que normalmente vienen configurado por defecto para un
funcionamiento correcto.
Sin embargo, las últimas placas bases permiten ajustar la frecuencia del
procesador mediante la BIOS en vez de usando los típicos jumpers.
Normalmente dicha configuración se encuentra en este apartado de la
BIOS, por lo que a muchos overclockers (personas que intentan hacer que
su procesador vaya más rápido que lo establecido de fábrica) les
interesarán las opciones que éste apartado puede ofrecer. Entre ellas
destacan la posibilidad de cambiar el FSB de la placa base o el
multiplicador del procesador.
61. BIOS CONCEPTOS
Manejo básico de la BIOS
Power Management Setup
En este apartado se configuran las opciones de ahorro de energía
del ordenador.
Power PM control by Video Off
PM Timers
Management APM Method
En este apartado Establece el
activaremos o Esta opción modo en el que el Se establece el
desactivaremos la deberá estar sistema de vídeo tiempo que
función de ahorro activada para ahorrará energía. tardará nuestro
de energía. que Windows y La opción más sistema en apagar
Además, todos los sistemas recomendable es los distintos
podremos operativos DPMS, pero no componentes.
habilitar distintas compatibles con todos los
configuraciones la gestión de monitores y
predeterminadas energía APM tarjetas gráficas
para un ahorro (Advanced Power son compatibles
máximo, mínimo. Management) con esta función.
sean capaces de
apagar o
suspender el
equipo.
62. BIOS CONCEPTOS
Manejo básico de la BIOS
Power Management Setup
CPU Fan Off in MODEM/LAN
PM Events
Suspend Wake Up
Aquí se Determina si un
establece los Determina si el modem o una
eventos que se ventilador del tarjeta de red
han de controlar procesador se puede hacer
para el apagado apaga en caso que se encienda
del equipo. del que el el ordenador.
sistema entre en
estado de ahorro
de energía.
63. BIOS CONCEPTOS
Manejo básico de la BIOS
PCI/PNP Configuration Setup
En este apartado no hay prácticamente nada que modificar, puesto
que los sistemas operativos actuales controlan ellos mismos las
interrupciones y el sistema PnP (Plug and Play, enchufar y usar) y no
basan sus rutinas en la BIOS.
Integrated Peripherals
Desde aquí podremos modificar varias opciones de los distintos
dispositivos que integra la placaba base: tarjetas de sonido,
controladoras IDE, puertos COM, etc.
La opción más destacable de este apartado es la que hace mención al
tipo de puerto LPT (paralelo) que se usara. Según el dispositivo que le
vayamos a conectar, tendremos que utilizar las funciones ECP o EPP. Para
saber cuál debemos utilizar, tendremos que leer el manual del dispositivo
que vayamos a conectar.
64. BIOS CONCEPTOS
Manejo básico de la BIOS
PC Health Status
En este apartado no suele haber ninguna opción que configurar, sin
embargo si podremos monitorizar la temperatura del procesador, la
velocidad de los ventiladores, el voltaje de la placa base.
Actualización de la BIOS
La BIOS se encuentra en un chip Flash-ROM, los fabricantes pueden
sacar nuevas versiones de la BIOS para incorporar nuevas funciones,
corregir fallos u optimizar funciones.
Hay que ir a la página del fabricante de la placa base, buscar el
modelo y descargar la última versión de la BIOS disponible. Realizar
este proceso sólo es recomendable en caso de que necesitemos
alguna nueva funcionalidad que incorporen la nueva BIOS. Si todo
funciona correctamente, no hay motivo por el que actualizar la BIOS.
65. DISEÑO DE UN SISTEMA OPERATIVO
DISEÑO E IMPLEMENTACIÓN DEL SISTEMA OPERATIVO
Objetivos del diseño
El primer problema al diseñar un sistema es el de definir los objetivos y
especificaciones.
En el nivel más alto, el diseño del sistema se verá afectado por la
elección del hardware y el tipo de sistema: de procesamiento por lotes,
de tiempo compartido, monousuario, multiusuario, distribuido, en tiempo
real o de propósito general.
Más allá de este nivel superior de diseño, puede ser complicado
especificar los requisitos. Sin embargo, éstos se pueden dividir en dos
grupos básicos: objetivos del usuario y objetivos del sistema
66. DISEÑO DE UN SISTEMA OPERATIVO
MECANISMOS Y POLÍTICAS
Los mecanismos determinan cómo hacer algo; las políticas determinan qué
hacer.
La separación de políticas y mecanismos es importante por cuestiones de
flexibilidad.
Los sistemas operativos basados en microkernel, llevan al extremo la
separación de mecanismos y políticas, implementando un conjunto básico
de bloques componentes primitivos. Estos bloques son prácticamente
independientes de las políticas concretas, permitiendo que se añadan
políticas y mecanismos más avanzados a través de módulos del keniel
creados por el usuario o a través de los propios programas de usuario.
Las decisiones sobre políticas son importantes para la asignación de recursos.
Cuando es necesario decidir si un recurso se asigna o no, se debe tomar una
decisión política. Cuando la pregunta es cómo en lugar de qué, es un
mecanismo lo que hay que determinar.
67. DISEÑO DE UN SISTEMA OPERATIVO
IMPLEMENTACIÓN
Tradicionalmente, los sis-temas operativos tenían que escribirse en lenguaje
ensamblador. Sin embargo, ahora se escriben en lenguajes de alto nivel
como C o C++.
Los sistemas opera-tivos Linux y Windows XP están escritos en su mayor parte
en C, aunque hay algunas pequeñas secciones de código ensamblador
para controladores de dispositivos y para guardar y restaurar el estado de
registros.
Las ventajas de usar un lenguaje de alto nivel:
1. El código puede escribirse más rápido, es más compacto y más fácil de
entender y depurar.
2. La tecnología de compiladores permitirá mejorar el código generado
para el sistema operativo completo, mediante una simple recompilación.
3. Es más fácil de portar (trasladar a algún otro hard-ware) si está escrito en
un lenguaje de alto nivel
68. DISEÑO DE UN SISTEMA OPERATIVO
IMPLEMENTACIÓN
Las posibles desventajas de implementar un sistema operativo en un
lenguaje de alto nivel se reducen a los requisitos de velocidad y de
espacio de almacenamiento.
Aunque los sistemas operativos tienen un gran tamaño, sólo una pequeña
parte del código resulta crítica para conseguir un alto rendimiento; el gestor
de memoria y el planificador de la CPU son probablemente las rutinas más
críticas. Después de escribir el sistema y de que éste esté funcionando
correctamente, pueden identificarse las rutinas que constituyan un cuello de
botella y reemplazarse por equivalentes en lenguaje ensamblador.
Para identificar los cuellos de botella,
debemos poder monitorizar el
rendimiento del sistema. Debe
añadirse código para calcular y
visualizar medidas del comportamiento
del sistema. Hay diversas plataformas
en las que el sistema operativo realiza
esta tarea, generando trazas que
proporcionan información sobre el
comportamiento del sistema.
69. DISEÑO DE UN SISTEMA OPERATIVO
PRUEBAS DE RENDIMIENTO
Pruebas de carga
Este es el tipo más sencillo de pruebas de rendimiento. Una prueba de carga
se realiza generalmente para observar el comportamiento de una aplicación
bajo una cantidad de peticiones esperada. Esta carga puede ser el número
esperado de usuarios concurrentes utilizando la aplicación y que realizan un
número específico de transacciones durante el tiempo que dura la carga.
Esta prueba puede mostrar los tiempos de respuesta de todas las
transacciones importantes de la aplicación. Si la base de datos, el servidor de
aplicaciones, etc también se monitorizan, entonces esta prueba puede
mostrar el cuello de botella en la aplicación.
70. DISEÑO DE UN SISTEMA OPERATIVO
PRUEBAS DE RENDIMIENTO
Prueba de estrés
Esta prueba se utiliza normalmente para romper la aplicación. Se va
doblando el número de usuarios que se agregan a la aplicación y se
ejecuta una prueba de carga hasta que se rompe. Este tipo de prueba
se realiza para determinar la solidez de la aplicación en los momentos
de carga extrema y ayuda a los administradores para determinar si la
aplicación rendirá lo suficiente en caso de que la carga real supere a la
carga esperada.
Prueba de estabilidad (soak testing)
Esta prueba normalmente se hace para determinar si la aplicación
puede aguantar una carga esperada continuada. Generalmente esta
prueba se realiza para determinar si hay alguna fuga de memoria en la
aplicación.
Pruebas de picos (spike testing)
La prueba de picos, como el nombre sugiere, trata de observar el
comportamiento del sistema variando el número de usuarios, tanto
cuando bajan, como cuando tiene cambios drásticos en su carga. Esta
prueba se recomienda que sea realizada con un software
automatizado que permita realizar cambios en el número de usuarios
mientras que los administradores llevan un registro de los valores a ser
monitoreados.
71. DISEÑO DE UN SISTEMA OPERATIVO
ESTRUCTURA DEL SISTEMA OPERATIVO
Estructura simple
Muchos sistemas comerciales no tienen una estructura bien definida.
Frecuentemente, tales sistemas operativos comienzan siendo sistemas
pequeños, simples y limitados y luego crecen más allá de su ámbito original;
MS-DOS es un ejemplo de un sistema así. Originalmente, fue diseñado e
implementado por unas pocas personas que no tenían ni idea de que iba a
terminar siendo tan popular. Fue escrito para proporcionar la máxima
funcionalidad en el menor espacio posible, por lo que no fue dividido en
módulos de forma cuidadosa.
72. DISEÑO DE UN SISTEMA OPERATIVO
ESTRUCTURA DEL SISTEMA OPERATIVO
Estructura en niveles
Con el soporte hardware apropiado, los sistemas operativos puede
dividirse en partes más peque-ñas y más adecuadas que lo que permitían
los sistemas originales MS-DOS o UNIX. El sistema ope-rativo puede
entonces mantener un control mucho mayor sobre la computadora y
sobre las aplicaciones que hacen uso de dicha computadora. Los
implementadores tienen más libertad para cambiar el funcionamiento
interno del sistema y crear sistemas operativos modulares. Con el método
de diseño arriba-abajo, se determinan las características y la
funcionalidad globales y se separan en componentes.
73. DISEÑO DE UN SISTEMA OPERATIVO
ESTRUCTURA DEL SISTEMA OPERATIVO
(los usuarios)
shells y comandos
compiladores e intérpretes
bibliotecas del sistema
interfaz de llamadas al sistema con el kernel
señales, gestión de sistema de archivos, planificación de CPU,
terminales, sistema de intercambio, sistema de sustitución de páginas
E/S de caracteres, E/S de bloqueo, paginación bajo demanda
controladores controladores de memoria virtual
de terminal disco y cinta
interfaz del kernel con el hardware
controladores controladores de controladores
de terminales, dispositivos, de memoria,
terminales discos y cintas memoria física
Estructura del sistema UNIX.
74. DISEÑO DE UN SISTEMA OPERATIVO
ESTRUCTURA DEL SISTEMA OPERATIVO
Un sistema puede hacerse modular de muchas formas
Estructura en niveles
El sistema operativo se divide en una serie de capas (niveles). El nivel
inferior (nivel 0) es el hardware; el nivel superior (nivel N) es la interfaz de
usuario. Un nivel de un sistema operativo es una imple- mentación de un
objeto abstracto formado por una serie de datos y por las operaciones
que per-miten manipular dichos datos.
75. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL
Este método estructura el sistema operativo eliminando todos los
componentes no esenciales del kernel e implementándolos como programas
del sistema y de nivel de usuario; el resultado es un kernel más pequeño,
normalmente los microkernels proporcionan una gestión de la memoria y de
los procesos mínima, además de un mecanismo de comunicaciones.
La función principal del microkernel es proporcionar un mecanismo de
comunicaciones entre el programa cliente y los distintos servicios que se
ejecutan también en el espacio de usuario, estos nunca interactúan
directamente, sino que se comunican de forma indirecta intercambiando
mensajes con el microkernel.
76. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL
El sistema operativo resultante es más fácil de portar de un diseño hardware a
otro. El microkernel también proporciona más seguridad y fiabilidad, dado
que la mayor parte de los servicios se ejecutan como procesos de usuario, en
lugar de como procesos del kernel. Si un servicio falla, el resto del sistema
operativo no se ve afectado.
Módulos
Quizá la mejor metodología actual para diseñar sistemas operativos es la que
usa las técnicas de programación orientada a objetos para crear un kernel
modular. En este caso, el kernel dispone de un conjunto de componentes
fundamentales y enlaza dinámicamente los servicios adicionales, bien durante
el arranque o en tiempo de ejecución.
Tal estrategia utiliza módulos que se cargan dinámicamente y resulta habitual
en las implementaciones modernas de UNIX, como Solaris, Linux y Mac OS X.
Por ejemplo, la estructura del sistema operativo Solaris compuesto de:
1. Clases de planificación
2. Sistemas de archivos
3. Llamadas al sistema cargables
4. Formatos ejecutables
5. Módulos STREAMS
6. Módulos misceláneos
77. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL – NÚCLEO SOLARIS
Clases de
Planificación
Controladores de bus y
dispositivos. Sistemas de
Archivos
Núcleo
central
Módulos de Solaris Llamadas al sistema
Miceláneos cargables
Módulos STREAMS Formatos ejecutables
78. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL
El patrón Microkernel define cinco tipos de componentes:
•Servidores internos
•Servidores externos
•Clientes
•Adaptadores
•Microkernel
Servidores internos
También conocidos como subsistemas, extienden la funcionalidad
proporcionada por el microkernel. Representa un componente
separado que ofrece funcionalidad adicional.
Por ejemplo, controladores de dispositivos que soporten tarjetas gráficas
específicas son buenos candidatos para servidores internos.
Servidor Externo
Los servidores externos exponen su funcionalidad exportando interfaces
en la misma manera que el kernel lo hace. Cada uno de estos
servidores externos corre en un proceso separado. La implementación
de los servicios confía en los mecanismos del microkernel luego
acceden a sus interfaces de programación.
79. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL
Adaptadores
La introducción de interfaces entre clientes y sus servidores externos protege a
los clientes de dependencias directas. Los adaptadores, también conocidos
como emuladores, representan
estas interfaces y permiten a los clientes acceder a los servicios de su servidor
externo de forma portable. Son parte del espacio de direcciones del cliente.
Cliente
Un cliente es una aplicación que está asociada con exactamente un servidor
externo, solamente accede a la interfaz de programación proporcionada por
este.
Cada comunicación con un servidor externo debe ser codificada en el
código cliente lo que trae varias desventajas:
–El sistema no soporta modificabilidad muy bien.
–Si los servidores externos emulan plataformas de aplicación
existentes sus aplicaciones no correrán sin modificación.
80. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL - FUNCIONALIDAD
CLASE COLABORADORES CLASE COLABORADORES
Servicios Internos Microkernel Servicios Externos Microkernel
RESPONSABLE RESPONSABLE
• Implementa servicios • Provee interfaces de
adicionales. aplicación para clientes.
• Encapsula algunas
aplicaciones del sistema.
CLASE COLABORADORES
Adaptador Microkernel
Servicios Externos
CLASE COLABORADORES
Cliente Adaptador
RESPONSABLE
• Depende de una
comunicación que facilite
RESPONSABLE la interacción con el
• Representa una cliente.
aplicación. • Invoca los métodos de
servidores externos en
nombre de los clientes
81. DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL - FUNCIONALIDAD
EJERCICIO:
El decano de la FIE requiere de un documento donde se especifique la
lista de los estudiantes de la Escuela de Ingeniería en Control y Redes
Industriales, que se encuentren aptos para presentar su anteproyecto
de tesis, se necesita declarar las clases que intervienen en este proceso,
utilizando el siguiente esquema:
Vicedecano
Estudiantes Secretarias
DECANO
Directores de
Conserjes Escuela
82. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO
Estos sistemas tienen un núcleo grande y complejo, que engloba todos los
servicios del sistema. Está programado de forma no modular, y tiene un
rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a
realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio
del sistema para aplicar los nuevos cambios.
Hay diversas ramificaciones de este diseño, que se han ido amoldando a
nuevas necesidades. Podemos citar el sistema de módulos ejecutables en
tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas
de las ventajas de un micronúcleo. Dichos módulos pueden ser compilados,
modificados, cargados y descargados en tiempo de ejecución, de manera
similar a los servicios de un micronúcleo, pero con la diferencia de que se
ejecutan en el espacio de memoria del núcleo mismo (anillo 0).
83. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO - FUNCIONALIDAD
Un sistema operativo con núcleo monolítico concentra todas las
funcionalidades posibles (planificación, sistema de archivos, redes,
controladores de dispositivos, gestión de memoria, etc) dentro de un gran
programa. El mismo puede tener un tamaño considerable, y deberá ser
recompilado por completo al añadir una nueva funcionalidad. Todos los
componentes funcionales del núcleo tienen acceso a todas sus
estructuras de datos internas y a sus rutinas. Un error en una rutina puede
propagarse a todo el núcleo.
84. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO - FUNCIONALIDAD
MS-DOS y Windows derivados (Windows 3.1, 95, 98, ME): núcleo
monolítico.
Linux: núcleo monolítico*.
85. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO - FUNCIONALIDAD
EJERCICIO:
En una institución bancaria, se requiere realizar varias transacciones
por parte de los usuarios depósitos, retiros, pagos etc., ¿Cómo se
definiría un sistema monolítico utilizando esta estructura?
BANCO S.O.
Clientes
Cajeros/as
Transacción
NÚCLEO DEL SISTEMA
Sistema
Respuesta
86. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO HÍBRIDO - FUNCIONALIDAD
Los núcleos híbridos fundamentalmente son micronúcleos que tienen
algo de código «no esencial», en espacio de núcleo para que éste se
ejecute más rápido de lo que lo haría si estuviera en espacio de
usuario.
El núcleo híbrido implica que el núcleo en cuestión usa conceptos de
arquitectura o mecanismos tanto del diseño monolítico como del
micronúcleo, específicamente el paso de mensajes y la migración de
código no esencial hacia el espacio de usuario, pero manteniendo
cierto código no esencial en el propio núcleo por razones de
rendimiento.
Windows a partir de NT (NT, 2000,
XP, Vista y 7): núcleo híbrido.
87. DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO HÍBRIDO - EJEMPLO
En un supermercado se tiene varios mostradores con productos de
primera necesidad, existen otros productos que se encuentran en vitrinas
y solo se pueden acceder a ellos a través de vendedores, ¿Cómo se
estructura un sistema híbrido usando esta estructura?
Cliente
Mostradores
Modo
Productos de
Usuario
primera necesidad
Vendedores
Núcleo
Productos en
vitrinas