Introducción a los Sistemas Operativos

88

Transcript of Introducción a los Sistemas Operativos

Los sistemas operativos son una parteesencial de cualquier sistema informático.Del mismo modo, un curso sobre sistemasoperativos es una parte esencial decualquier carrera de Informática oElectrónica. Este campo está cambiandomuy rápidamente, ya que ahora lascomputadoras se encuentranprácticamente en cualquier aplicación,desde juegos para niños hastaherramientas de planificaciónextremadamente sofisticadas para losgobiernos y las grandes multinacionales.

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.

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 asignadorde recursos.

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.

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.

Dependiendo de las funciones incluidas tendremos diferentes Sistemas

Operativos, como:

•MS –DOS

•Windows 3.1

•Windows 95

•Windows NT

•Solaris

•Ubuntu

•Kubuntu

•Fedora

•Unix

•Linux

•Android

¿Cuál es la diferencia entre ellos?

•Interfaz con el usario

•Capacidad de administrar

Información (32 y 64 bits)

•Seguridad en la Red

•Tipo de Source (Fuente)

•Estabilidad

•Movilidad y adaptación con

otras Arquitecturas.

•Administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación.

Administración del procesador:

•Gestiona el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual".

Gestión de la memoria de

acceso aleatorio:

•Permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).

Gestión de entradas/salidas

•Se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".

Gestión de ejecución de aplicaciones

•Se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.

Administración de

autorizaciones

•Gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.

Gestión de archivos

•Proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo

Gestión de la información

Componentes del SO

Núcleo

Interprete de Comandos

Sistema de Archivos

Llamadas al Sistema

Programas del Sistema

Programas de Aplicación

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.

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

Voltaje al procesador

memoria ROM

Rutina q inicializa el HW

Controlador de Interrupciones

programa principal del

SFW

• 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.

Es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que elsistema operativo entiende. Permite al usuario controlar los periféricos sin conocer las características delhardware utilizado, la gestión de las direcciones físicas, etcétera.

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.

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.

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.

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

VENTAN

AS

ENTORN

O

GRÁFICO

Conjunto de formas y métodos que posibilitanla interacción de un sistema con losusuarios utilizando formas gráficas eimágenes. Con formas gráficas se refiere abotones, íconos, ventanas, fuentes, etc. loscuales representan funciones, acciones einformación.

El sistema operativo Windows utiliza el Explorercomo su propio shell.

El Explorer provee el entorno de escritoriotípico de Windows con la barra de Inicio, labarra de tareas, etc.

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.

Es el mecanismo usado por unaaplicación para solicitar un servicio alsistema 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.

llamada al sistema

ejecución del programa es interrumpida

Instrucciones de código de

alto nivel.tarea finaliza

se retorna al proceso original.

programas del sistema

Compiladores

Ensambladores

Editores

Utilerías

Bibliotecas

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 objetoque contiene código máquina

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.

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.

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.

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.

El procedimiento de inicialización de unacomputadora mediante la carga del kernel seconoce como arranque del sistema. En la mayoría delos sistemas informáticos, una pequeña parte delcódigo, conocida como programa de arranque ocargador de arranque, se encarga de localizar elkernel, lo carga en la memoria principal e inicia suejecución.

EncendidoPrograma de

ArranquePost (Power on

self - test)

Carga del Sistema

Operativo

Chequeo de la Configuración

Sector de Arranque

Carga BootManager y

Carga del S. O.

¿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.

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ódigode 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 pasosque 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

parara (stop) o se "hangs" (se colgara o frisará).

ARRANQUE DEL SISTEMA

Microprocesador

Tarjeta de Video

RAM TECLADOUNIDADES DE DISCO (DRIVERS)

La próxima etapa en el proceso de arranque es la auto prueba de encendidoen la cual se diagnostican problemas en la computadora.

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".

ARRANQUE DEL SISTEMA

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

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.

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*

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.

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.

ARRANQUE DEL SISTEMA

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.

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

otro hardware.

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.

ARRANQUE DEL SISTEMA

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

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.

BIOS CONCEPTOS

Tabla de vectores de interrupción

La inicialización incluye cargar en la memoria RAM ciertas tablas

y programas muy básicos, imprescindibles para el manejo

de muy bajo nivel del hardware, ejemplo: la carga en memoria

baja de los vectores de interrupción, de forma que

cuando ocurra una interrupción se sepa donde encontrar la

rutina adecuada.

En los PCs estándar se pueden manejar un total de 256

interrupciones distintas, y cada una requiere un programa de

control especial. Este programa se sitúa en memoria RAM o en la

ROM-BIOS, pero en cualquier caso, en los primeros 1024

octetos (1 KB) de la memoria RAM (direcciones 000-400h) se

carga una tabla de 256 punteros de 4 bytes, denominada de

vectores de interrupción.

BIOS CONCEPTOS

Memoria de la BIOS

Puesto que los programas contenidos en la BIOS requieren cierta área de trabajo donde

almacenar variables y datos, se asignaron para este propósito 256

Bytes en la zona de memoria situada inmediatamente por

encima de la tabla de vectores de interrupción; en las

direcciones 400-4FFh (estas direcciones son frecuentemente

señaladas como 0040:0000 -0040:00FF).

Esta área de memoria es conocida como memoria de

datos de la ROM-BIOS, y en ella se maneja información muy

diversa. Por ejemplo, las últimas pulsaciones de teclas; capacidad

de memoria encontrada; los ciclos de reloj pasados desde

media noche (hora del sistema); el número de líneas y columnas que caben en la pantalla, o la lista de los dispositivos que han sido detectados en el sistema

durante la fase de inventario del hardware.

BIOS CONCEPTOS

Carga del Sistema

Una vez terminadas las verificaciones previas, la BIOS

inicia un recorrido en busca un dispositivo donde encontrar un

programa que se denomina secuencia de carga ("Boot

sequence") y su orden puede ser establecido mediante un

programa auxiliar ( set-up de la BIOS). Una vez fijada, la secuencia de carga es

almacenada en la memoria de datos de la BIOS , de forma que puede ser recordada y utilizada la próxima vez que se reinicia el

sistema.

En los sistemas primitivos, la secuencia de carga era

fija, empezando en el disquete (A:) y siguiendo en la primera

unidad de disco (C:). Esta sigue siendo aún la secuencia normal, pero las BIOS actuales pueden

alterar este orden e incluso dispositivos alternativos como CD-ROM o LAN, como puntos de inicio

para la carga del Sistema.

BIOS CONCEPTOS

BIOS CONCEPTOS

Mensajes de la BIOS de la tarjeta gráfica

Nombre del fabricante y la

Versión

Tipo de Microprocesador y

su velocidad.

Revisión de la memoria Ram y su

tamaño.

Mensaje indicando como acceder a l BIOS,("Press Del to

enter CMOS Setup“)

Mensajes de otros dispositivos Disco duro por ejemplo.

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.

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.

BIOS CONCEPTOS

BIOS Features Setup

CPU Internal Cache

•Es altamente recomendable que esta opción este activa (la marquemos como “Enabled”) esta opción, ya que en caso contrario estaremos deshabilitando la caché interna del procesador.

External Cache:

•Esta opción también debe estar activada para poder hacer uso de la caché externa o caché L2.

Quick Power OnSelf Test

•Activando esta opción se acelera el POST y gana unos segundos en el arranque del sistema. Generalmente, no existe ningún problema por tenerla activada.

Manejo básico de la BIOSBIOS CONCEPTOS

Boot Sequence

•Se establece el orden en el que el ordenador intentará cargar un sistema operativo desde las distintas unidades. En algunas ocasiones, esta opción viene desglosada en tres opciones diferentes: First Boot Device, Second BootDevice y Third BootDevice.

Swap Floppy Drive:

•Si activamos esta opción y tenemos dos disqueteras, las letras de cada una de ellas se cambiarán, es decir, B: pasará a ser A: y viceversa.

Security Option:

•Esta opción nos permitirá indicarle a la BIOS si queremos establecer una contraseña cada vez que se encienda el equipo (opción System), al entrar en la BIOS (opción Setup o BIOS) o nunca (opción Disabled).

BIOS Features SetupManejo básico de la BIOS

BIOS CONCEPTOS

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.

Manejo básico de la BIOS

BIOS CONCEPTOS

Manejo básico de la BIOS

BIOS CONCEPTOS

Power Management SetupEn este apartado se configuran las opciones de ahorro de energía

del ordenador.

PowerManagement

En este apartado activaremos o

desactivaremos la función de ahorro

de energía. Además,

podremos habilitar distintas configuraciones

predeterminadas para un ahorro

máximo, mínimo.

PM control byAPM

Esta opción deberá estar

activada para que Windows y

todos los sistemas operativos

compatibles con la gestión de energía APM

(Advanced PowerManagement)

sean capaces de apagar o

suspender el equipo.

Video Off Method

Establece el modo en el que el sistema de vídeo ahorrará energía.

La opción más recomendable es

DPMS, pero no todos los

monitores y tarjetas gráficas son compatibles con esta función.

PM Timers

Se establece el tiempo que

tardará nuestro sistema en apagar

los distintos componentes.

Manejo básico de la BIOS

BIOS CONCEPTOS

PM Events

Aquí se establece los

eventos que se han de controlar para el apagado

del equipo.

CPU Fan Off in Suspend

Determina si el ventilador del procesador se

apaga en caso del que el

sistema entre en estado de ahorro

de energía.

MODEM/LAN Wake Up

Determina si un modem o una tarjeta de red puede hacer

que se encienda el ordenador.

Power Management Setup

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.

Manejo básico de la BIOS

BIOS CONCEPTOS

Manejo básico de la BIOS

BIOS CONCEPTOS

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.

DISEÑO E IMPLEMENTACIÓN DEL SISTEMA OPERATIVO

DISEÑO DE UN 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

MECANISMOS Y POLÍTICAS

DISEÑO DE UN SISTEMA OPERATIVO

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.

IMPLEMENTACIÓN

DISEÑO DE UN SISTEMA OPERATIVO

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

IMPLEMENTACIÓN

DISEÑO DE UN SISTEMA OPERATIVO

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.

PRUEBAS DE RENDIMIENTO

DISEÑO DE UN SISTEMA OPERATIVO

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.

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.

PRUEBAS DE RENDIMIENTO

DISEÑO DE UN SISTEMA OPERATIVO

ESTRUCTURA DEL SISTEMA OPERATIVO

DISEÑO DE UN 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.

ESTRUCTURA DEL SISTEMA OPERATIVO

DISEÑO DE UN 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.

(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 OPERATIVO

DISEÑO DE UN SISTEMA OPERATIVO

Estructura del sistema UNIX.

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.

ESTRUCTURA DEL SISTEMA OPERATIVO

DISEÑO DE UN SISTEMA OPERATIVO

MICROKERNEL

DISEÑO DE UN SISTEMA OPERATIVO

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.

MICROKERNEL

DISEÑO DE UN SISTEMA OPERATIVO

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

7. Controladores de bus y de dispositivos

MICROKERNEL – NÚCLEO SOLARIS

DISEÑO DE UN SISTEMA OPERATIVO

Núcleo central

de Solaris

Clases de Planificación

Sistemas de Archivos

Llamadas al sistema cargables

Formatos ejecutablesMódulos STREAMS

Módulos Miceláneos

Controladores de bus y dispositivos.

MICROKERNEL

DISEÑO DE UN SISTEMA OPERATIVO

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.

El patrón Microkernel define cinco tipos de componentes:

•Servidores internos

•Servidores externos

•Clientes

•Adaptadores

•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.

MICROKERNEL

DISEÑO DE UN SISTEMA OPERATIVO

MICROKERNEL - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

CLASE

Servicios Internos

COLABORADORES

Microkernel

RESPONSABLE

• Implementa servicios

adicionales.

• Encapsula algunas

aplicaciones del sistema.

CLASE

Servicios Externos

COLABORADORES

Microkernel

RESPONSABLE

• Provee interfaces de

aplicación para clientes.

CLASE

Cliente

COLABORADORES

Adaptador

RESPONSABLE

• Representa una

aplicación.

CLASE

Adaptador

COLABORADORES

Microkernel

Servicios Externos

RESPONSABLE

• Depende de una

comunicación que facilite

la interacción con el

cliente.

• Invoca los métodos de

servidores externos en

nombre de los clientes

MICROKERNEL - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

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:

DECANO

Vicedecano

Secretarias

Directores de EscuelaConserjes

Estudiantes

NÚCLEO MONOLÍTICO

DISEÑO DE UN SISTEMA OPERATIVO

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).

NÚCLEO MONOLÍTICO - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

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.

NÚCLEO MONOLÍTICO - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

MS-DOS y Windows derivados (Windows 3.1, 95, 98, ME): núcleo

monolítico.

Linux: núcleo monolítico*.

NÚCLEO MONOLÍTICO - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

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?

Clientes

Cajeros/as

Transacción

Sistema

Respuesta

BANCO S.O.

NÚCLEO DEL SISTEMA

NÚCLEO HÍBRIDO - FUNCIONALIDAD

DISEÑO DE UN SISTEMA OPERATIVO

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.

NÚCLEO HÍBRIDO - EJEMPLO

DISEÑO DE UN SISTEMA OPERATIVO

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

Productos de

primera necesidad

Vendedores

Productos en

vitrinas

Núcleo

Modo

Usuario

Tipos de Núcleos

DISEÑO DE UN SISTEMA OPERATIVO