SlideShare una empresa de Scribd logo
1 de 88
   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.
 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 asignador
  de 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                           ¿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.
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".
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
Núcleo


              Interprete de
               Comandos


               Sistema de
                Archivos
Componentes
  del SO
               Llamadas al
                  Sistema


              Programas del
                 Sistema


              Programas de
                Aplicación
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.
Voltaje al
                procesador



 programa
principal del                 memoria ROM
    SFW




    Controlador de          Rutina q
    Interrupciones      inicializa el HW
• 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 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.
   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 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.
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 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.
llamada al
                           sistema




se retorna al                               ejecución del
  proceso                                   programa es
  original.                                 interrumpida




                                     Instrucciones
       tarea finaliza                de código de
                                       alto nivel.
Compiladores



                Ensambladores


programas del
                   Editores
   sistema


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




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




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

       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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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
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
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).
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.
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*.
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
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.
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
DISEÑO DE UN SISTEMA OPERATIVO


                      Tipos de Núcleos

Más contenido relacionado

La actualidad más candente

Tipos de sistemas operativos y funcionamiento
Tipos de sistemas operativos y funcionamientoTipos de sistemas operativos y funcionamiento
Tipos de sistemas operativos y funcionamientoIan Berzeker Tovar
 
Cuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxCuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxDavidLpz4
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 
Sistemas operativos,características,tipos, clasificación, etc
Sistemas operativos,características,tipos, clasificación, etcSistemas operativos,características,tipos, clasificación, etc
Sistemas operativos,características,tipos, clasificación, etcJuan Pablo Ramírez García
 
Mapa conceptual del sistema operativo
Mapa conceptual del sistema operativoMapa conceptual del sistema operativo
Mapa conceptual del sistema operativoAlecamacho8
 
Presentación máquina virtual
Presentación máquina virtual Presentación máquina virtual
Presentación máquina virtual ledamc97
 
Mapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosMapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosroberto cruz velasquez
 
Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Martin Pacheco Chávez
 
Tabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvilesTabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvileskpwalkin
 
Mapa Conceptual de Clasificacion de software
Mapa Conceptual de Clasificacion de softwareMapa Conceptual de Clasificacion de software
Mapa Conceptual de Clasificacion de softwarePedroQuezada01
 
Sistemas operativos para Dispositivos Moviles
Sistemas operativos para Dispositivos MovilesSistemas operativos para Dispositivos Moviles
Sistemas operativos para Dispositivos MovilesAngie Rodriguez
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema OperativoHeli Lazaro
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia webMeli Vidal
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosDaniel
 

La actualidad más candente (20)

Tipos de sistemas operativos y funcionamiento
Tipos de sistemas operativos y funcionamientoTipos de sistemas operativos y funcionamiento
Tipos de sistemas operativos y funcionamiento
 
Cuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxCuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptx
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Sistemas operativos,características,tipos, clasificación, etc
Sistemas operativos,características,tipos, clasificación, etcSistemas operativos,características,tipos, clasificación, etc
Sistemas operativos,características,tipos, clasificación, etc
 
Mapa conceptual del sistema operativo
Mapa conceptual del sistema operativoMapa conceptual del sistema operativo
Mapa conceptual del sistema operativo
 
Presentación máquina virtual
Presentación máquina virtual Presentación máquina virtual
Presentación máquina virtual
 
Mapa conceptual sistema operativo linux
Mapa conceptual sistema operativo linuxMapa conceptual sistema operativo linux
Mapa conceptual sistema operativo linux
 
Mapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativosMapa conceptual de sistemas operativos
Mapa conceptual de sistemas operativos
 
Sistema operativo windows
Sistema operativo windows Sistema operativo windows
Sistema operativo windows
 
Google chrome OS
Google chrome OS Google chrome OS
Google chrome OS
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.Conclusiones de Unidad 1 - Sistemas Operativos.
Conclusiones de Unidad 1 - Sistemas Operativos.
 
Tabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móvilesTabla comparativa de Sistemas operativos móviles
Tabla comparativa de Sistemas operativos móviles
 
Mapa Conceptual de Clasificacion de software
Mapa Conceptual de Clasificacion de softwareMapa Conceptual de Clasificacion de software
Mapa Conceptual de Clasificacion de software
 
Sistema Operativo ppt
Sistema Operativo pptSistema Operativo ppt
Sistema Operativo ppt
 
Sistemas operativos para Dispositivos Moviles
Sistemas operativos para Dispositivos MovilesSistemas operativos para Dispositivos Moviles
Sistemas operativos para Dispositivos Moviles
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia web
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Linux
LinuxLinux
Linux
 

Similar a Introducción a los Sistemas Operativos

Similar a Introducción a los Sistemas Operativos (20)

Organizacion de los sistemas operativos
Organizacion de los sistemas operativosOrganizacion de los sistemas operativos
Organizacion de los sistemas operativos
 
Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Software y sistema operativo
Software y sistema operativoSoftware y sistema operativo
Software y sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Leidy lozano
Leidy lozanoLeidy lozano
Leidy lozano
 
Tercer unidad de computacion y redes
Tercer unidad de computacion y redesTercer unidad de computacion y redes
Tercer unidad de computacion y redes
 
Guia de aprendizaje : Sistemas Operativos
Guia de aprendizaje : Sistemas OperativosGuia de aprendizaje : Sistemas Operativos
Guia de aprendizaje : Sistemas Operativos
 
Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Curso de tegnologia e informatica
Curso de tegnologia e informaticaCurso de tegnologia e informatica
Curso de tegnologia e informatica
 
Maestra
MaestraMaestra
Maestra
 
Actividad para evaluar el primer parcial
Actividad para evaluar el primer parcialActividad para evaluar el primer parcial
Actividad para evaluar el primer parcial
 
Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO
 
Unidad de competencia 3
Unidad de competencia 3Unidad de competencia 3
Unidad de competencia 3
 
Unidad de competencia 3
Unidad de competencia 3Unidad de competencia 3
Unidad de competencia 3
 
Unidad de competencia 3
Unidad de competencia 3Unidad de competencia 3
Unidad de competencia 3
 

Introducción a los Sistemas Operativos

  • 1.
  • 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
  • 88. DISEÑO DE UN SISTEMA OPERATIVO Tipos de Núcleos