Tema 1: Introducción a los Sistemas Operativos

¿Qué es la Informática?

La informática es el conjunto de conocimientos y/o técnicas que permiten el tratamiento automático de la información.

¿Qué es un ordenador?

Un ordenador es una máquina electrónica dotada de gran capacidad para tratar la información.

Componentes de un sistema informático:

  1. Hardware
  2. Software
  3. Humano

Clasificación por uso:

  • Uso General: Se usan varias aplicaciones o tipos de aplicaciones, un ejemplo sería todos los programas que tenemos en nuestro ordenador de casa.
  • Uso específico: Son los que suelen usar uno o un número escaso de programas, como las videoconsolas.


Clasificación por prestaciones

  • Supercomputadoras: Son equipos con gran capacidad de cálculo. Se utilizan en el
    entorno técnico-científico y en la realización de simulaciones.

Tianhe-2, Centro de Supercomputación Nacional de China, la supercomputadora más potente del mundo (Fuente: www.fullaprendizaje.com)


    • Mainframes: Son equipos utilizados para dar soporte a grandes redes de comunicaciones con cientos e incluso miles de usuarios.
    Mainframe de IBM (Fuente: www.investors.com)

    • Miniordenadores: 
    • Son equipos con capacidad para soportar cientos 
    • de usuarios con un coste y unas prestaciones inferiores a los grandes sistemas.
    • Raspberry Pi (Fuente::www.raspberrypi.org)

    • Estaciones de trabajo: Son equipos monousuarios muy potentes y especializados, 
    • algunos con tecnología RISC, que permiten conseguir un aumento de prestaciones (por ejemplo, para diseño y CAD).  Como resultado, el mercadode las estaciones de trabajo se está volviendo cada vez más especializado, ya que muchas operaciones complejas que antes requerían sistemas de alto rendimiento pueden ser ahora realizadas por computadores de propósito general. Sin embargo, el hardware de las estaciones de trabajo está optimizado para situaciones que requieren un alto rendimiento y fiabilidad, en donde un microordenador podría dejar de responder.
    Estación de trabajo o Workstation (Fuente: www.i.pinimg.com)

    • Microordenadores: Son equipos monousuarios menos potentes que se pueden clasificar de varias maneras. Entre ellas se encuentran: ordenadores profesionales y personales, ordenadores de oficia y domésticos, y ordenadores de escritorio y portátiles.
    Ejemplo de ordenador personal personalizado (Modding) (Fuente: Jesse Palacio aka ⤏ JPModified)



    ¿Qué es el sistema operativo?

    Es un programa o conjunto de programas que actúa como intermediario entre el usuario y el hardware.


    Funciones del sistema operativo

    • Control de la ejecución de los programas: Para ello, acepta los trabajos, administra la manera en que se realizan, les asigna los recursos y los conserva hasta su finalización.
    • Administración de periféricos: Coordinando y manipulando los dispositivos conectados al ordenador.
    • Gestión de permisos y de usuarios: Adjudica los permisos de acceso a los usuarios y evita que las acciones de uno afecten el trabajo que está realizando otro.
    • Control de concurrencia: Establece prioridades cuando diferentes procesos solicitan el mismo recurso.
    • Control de errores: Gestiona los errores de hardware y la pérdida de datos.
    • Administración de memoria: Asigna memoria a los procesos y gestiona su uso.
    • Control de seguridad: Debe proporcionar seguridad tanto para los usuarios como para el software y la información almacenada en los sistemas.

    Niveles

    • Nivel 1.Gestión del procesador: En este nivel se encuentra el Kernel o núcleo que es laparte del sistema operativo encargada de la gestión de la CPU.
    • Nivel 2.Gestión de memoria: Este nivel es el encargado de repartir la memoria disponible entre los procesos. Se realizan funciones de asignación y liberación de memoria, y el control de violación de acceso a zonas de memoria no permitidas.
    • Nivel 3.Gestión de procesos: Este nivel es el encargado de la creación y destrucción de los procesos, intercambio de mensajes y detección y arranque de los mismos.
    • Nivel 4.Gestión de dispositivos: En este nivel se realiza la gestión de las entradas/salidas (E/S) en función de los dispositivos existentes. Entre otras, se encarga de las funciones de creación de procesos de E/S, asignación y liberación de dispositivos E/S, y planificación de la E/S.
    • Nivel 5.Gestión de la información: El objetivo de este nivel es el de gestionar el espacio de nombres lógicos, utilizados para simplificar el acceso a los recursos, ya que mediante éstos se sustituyen rutas de acceso que pueden ser muy largas y difíciles de recordar por un solo nombre, encargándose el sistema operativo, de forma totalmente transparente para el usuario, de realizar esa búsqueda de ruta. Otro de sus cometidos es la protección de la información realizando funciones de creación y destrucción de ficheros y directorios, apertura y cierre de ficheros, lectura y escritura de ficheros, y protección de acceso.


        Kernell: Es es núcleo del sistema.
        Shell: Es el intérprete de comandos. El usuario da las órdenes al Sistema Operativo a través de comandos.
        Shell de Windows (Fuente: wikipedia)

        Shell de Linux (Fuente: Wikipedia)

          Interfaz de usuario

          Interfaz Gráfica Linux Ubuntu (Fuente: DebugPoint.com)



          Programas y procesos

          • Programa: Son desarrollos de software mediante un lenguaje de programación.
          • Proceso: Entidad dinámica que existe cuando se mantiene un programa en ejecución. Estados:
            • Nuevo
            • En ejecución
            • Terminado
            • Bloqueado


          Algoritmos

          • FIFO (First In First Out): El primero que entra es el primero que sale.
          • SJF (Shortest Job First): El trabajo más corto es el que entra primero.
          • SRTN (Shortest Remaining Time Next): El proceso con menor tiempo se selecciona, si llena un proceso con menor tiempo de ejecución que el actual, se expulsa a el actual para meter a el proceso con el menor tiempo.
          • RR (Round Robin): Cada proceso se le asigna un tiempo (quántum).
          • Prioridad: Cada proceso tiene una prioridad, el proceso con la prioridad mas alta se ejecuta.


          Sincronización de procesos

          Es la coordinación de los procesos para asegurar la división de los recursos.



          Bloqueos

          Es el bloqueo permanente de un conjunto de procesos.

          Condiciones de bloqueo:

          • Exclusión mutua
          • Retención y espera
          • No expropiación
          • Espera circular


          Gestión de la memoria

          Son circuitos que permiten almacenar y recuperar la información

          Tiene una jerarquía de capas (orden de mas rápido a mas lento):

          • Registros: Registros internos de la CPU, tiene los mismos bits que su CPU (32/64/128...).
          • Caché: Memoria de alta velocidad ubicada en la CPU, tiene muy poco tamaño de memoria (unos pocos MegaBytes), puden haber hasta 3 niveles (L1,L2,L3).
          • Memoria principal o de sistema: Es la memoria RAM, funciones:
            • Control de las partes de la memoria usadas o libres.
            • Asignar memoria a procesos y limpiar dicha memoria al terminar los procesos.
            • Administrar intercambio entre la memoria y el disco duro cuando la memoria esta llena o casi llena (memoria virtual).

          Herramientas básicas de la gestión de la memoria:

          • Paginación: El espacio de la memoria se divide en secciones físicas del mismo tamaño.
          • Segmentación: Estructura de manejo del cual el programa refleja su división lógica.


            Dispositivos Entrada/Salida

            • Dispositivos de entrada: Teclado, ratón, tableta USB...
              • Software de teclado: Los teclados tienen menos de 128 teclas, por lo que sólo se necesitan 7 bits para representar el número de tecla.
              • Software de ratón: La mayoría de las PCs tienen un ratón, o algunas veces un trackball, que sencillamente es un ratón boca arriba.
                • Tipos de ratón:
                  • Tradicionales (de bola): Los ratones tradicionales tienen una bola de goma en su interior que se asoma por un hoyo en la parte inferior y gira, a medida que el ratón se desplaza por una superficie dura, frotándose contra unos rodillos posicionados en ejes ortogonales. El movimiento en la dirección este-oeste hace que gire el eje paralelo al eje y; el movimiento en la dirección norte-sur hace que gire el eje paralelo al eje x.
                  • Actuales (óptico): Está equipado con uno o más diodos emisores de luz y fotodetectores en su parte inferior. Los primeros tenían que operar sobre un tapete especial grabado con una rejilla rectangular, de manera que el ratón pudiera contar las líneas que cruzaba. Los ratones ópticos modernos tienen un chip de procesamiento de imágenes en ellos y sacan fotos continuas de baja resolución de la superficie debajo de ellos, buscando cambios de imagen en imagen. Cada vez que un ratón se ha desplazado cierta distancia mínima en cualquier dirección, o cuando se oprime o suelta un botón, se envía un mensaje a la computadora. La distancia mínima es de aproximadamente 0.1 mm (aunque se puede establecer mediante software). Algunas personas llaman a esta unidad mickey. Los ratones pueden tener uno, dos o tres botones, dependiendo de la estimación de los diseñadores en cuanto a la habilidad intelectual de los usuarios para llevar la cuenta de más de un botón. Algunos ratones tienen ruedas que pueden enviar datos adicionales a la computadora.
                  • Alámbricos (con cable): La información que emite el ratón va a través de un cable hasta el puerto/interfaz (PS/2 ó USB).
                  • Interfaz PS/2 Macho (teclado o ratón).
                    Interfaz PS/2 Hembra (placa base).








                  • Inalámbricos (sin cable):  Los ratones inalámbricos son iguales a los alámbricos, excepto que en vez de devolver sus datos a la computadora a través de un cable, utilizan radios de baja energía, por ejemplo mediante el uso del estándar Bluetooth. El mensaje para la computadora contiene tres elementos: ∆x, ∆y, botones. El primer elemento es el cambio en la posición x desde el último mensaje. Después viene el cambio en la posición y desde el último mensaje.
                    Por último, se incluye el estado de los botones. El formato del mensaje depende del sistema y del número de botones que tenga el ratón. Por lo general, requiere de 3 bytes. La mayoría de los ratones se reportan con la computadora un máximo de 40 veces/seg, por lo que el ratón se puede haber desplazado varios mickeys desde el último reporte. Observe que el ratón indica sólo los cambios en la posición, no la posición absoluta en sí. Si se recoge el ratón y se coloca de nuevo en su posición gentilmente sin hacer que la bola gire, no se enviarán mensajes. Algunas GUIs diferencian un solo clic y un doble clic de un botón del ratón. Si dos clics están lo bastante cerca en el espacio (mickeys) y también en el tiempo (milisegundos), se señala un doble clic. El valor máximo para “lo bastante cerca” depende del software, y por lo general el usuario puede ajustar ambos parámetros.
                                                      PS/2 VS USB (Vídeo en inglés con subtítulos disponibles en español)







            Clasificación de los Sistemas Operativos

            • Por Servicios



            • Por la forma de ofrecer los servicios
              • Sistemas centralizados: Hasta que los computadores personales no tuvieron un precio 
              • accesible y suficiente potencia, la mayoría de los sistemas utilizaban el modelo de proceso 
              • centralizado. Con este tipo de modelo los computadores mainframe se encargaban de todo 
              • el procesamiento y los usuarios manejaban únicamente terminales tontos (es decir, no 
              • disponían de memoria, ni procesador). Actualmente se siguen utilizando los sistemas 
              • centralizados (como los Terminal Services de Microsoft) pero los terminales dejan de ser 
              • tontos y pueden realizar otras muchas tareas por sí mismos.
              • Sistemas distribuidos: Los sistemas operativos distribuidos son sistemas cuasi- independientes que permiten distribuir los trabajos, tareas o procesos entre un conjunto de procesadores. Puede ocurrir que este conjunto de procesadores se encuentren en el mismo equipo o en equipos distintos (siendo, en este último caso, transparente para el usuario). Los sistemas operativos distribuidos más extendidos son los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
            Sistemas operativos en red: Estos sistemas operativos son aquellos que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema. En este entorno, cada computador mantiene su propio sistema operativo y su propio sistema de archivos local. Los sistemas operativos de red usados más ampliamente son: Novell, NetWare, Windows Server, Linux Server, etc.
              • Sistemas operatorios de escritorio: Estos sistemas operativos son los que se utilizan en los equipos de sobremesa, estaciones de trabajo o portátiles. También se les puede denominar como sistemas operativos cliente. Entre ellos se encuentran: Windows XP Professional, Windows Vista, Windows 7 y Linux.
            • Por su disponibilidad
              • Sistemas Operativos propietarios: Son propiedad intelectual de una empresa y por lo tanto necesitan licencias, como por ejemplo Windows.
              • Sistemas Operativos libres: Son aquellos que garantizan las cuatro libertades del software (según Richard M. Stallman).
                1. Libertad de usar el programa con cualquier propósito.
                2. Estudiar como funciona el programa y modificarlo (su código fuente).
                3. Distribuir copias del programa, con lo que se puede ayudar a otros usuarios.
                4. Mejorar el programa y hacer públicas las mejoras a otros usuarios, así toda la comunidad se beneficie de ello.



            Tipos de aplicaciones

            • Gratuitas (freeware) o comerciales: Esta clasificación es interesante en el momento de la planificación, del análisis del entorno y de la adquisición de las aplicaciones, y es fundamental para evaluar los costes. Además tiene fuertes repercusiones en la etapa de mantenimiento del software.
            • Libres o propietarias: Las licencias de software libre se basan en la distribución del código fuente junto con el programa, así como en las cuatro premisas indicadas en el epígrafe anterior.

              ***Hay que dejar claro de nuevo que el que un determinado programa sea libre no implica en ningún
              momento que sea o deba ser gratuito (freeware). Es perfectamente compatible el que se trate de
              un software libre y a su vez sea un programa comercial, en el que se pida un pago por licencia.

              ***Las licencias de software propietario son aquellas en las que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones).
              Otra clasificación a reseñar es la que divide las aplicaciones en opensource (código abierto al
              usuario) o privativas (cuyo código fuente no está disponible o el acceso a él se encuentra
              restringido). También aquí la repercusión en las fases de la implantación es importante, ya que una
              aplicación opensource va a permitir un afinamiento más adaptado, barato y simple que una
              privativa. La consecuencia es una mejora en el ciclo de vida de la implantación a un menor coste.
              Aunque debido a contingencias en la compatibilidad e interconexión deaplicaciones, es necesario
              habitualmente instalar software privativo.



              Tipos de licencia

              • OEM (Original Equipment Manufacurer): No se pueden dar ni vender a terceros salvo en las mismas condiciones en las que se compró (este tipo de licencia está presente en ordenadores premontados de fábrica, es decir, en los equipos que puedes comprar en una tienda).
              • Retail: Libre de dar y vender a terceros.
              • Volumen: este tipo de licencias está centrada más hacia las empresas, es similar a OEM, pero se venden como en paquetes (por ejemplo una venta de 100 licencias para una oficina).



              Gestores de arranque

              • El gestor de arranque (bootloader) es un pequeño programa que se ejecuta una vez completado el inicio normal de la BIOS y que permite seleccionar el sistema operativo que se debe cargar en caso de disponer de arranque múltiple (más de 1 sistema operativo). Entre los gestores de arranque se encuentran los siguientes:
                • NTLDR (NT Loader): es el archivo encargado del arranque de los sistemas operativos: Windows NT, Windows 2000, Windows XP y Windows Server 2003. Se encuentra, normalmente, en el directorio raíz del disco del sistema y utiliza archivos como "boot.ini" (menú de opciones de arranque) y NTDETECT, que proporciona la información de hardware.
                • LILO (Linux Loader): es un gestor de arranque de Linux que permite iniciar este sistema operativo junto con otras plataformas (como Windows) que haya en el mismo ordenador. Funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo.
                • GRUB: Es un gestor de arranque más moderno y flexible que Lilo, ya que permite que el administrador ejecute cualquier comando desde la línea de comando de Grub. Permite tener diferentes sistemas operativos, y diferentes versiones de ellos en el mismo disco duro. Por ejemplo podemos tener Windows y GNU/Linux en la misma computadora, GRUB se cargará antes que cualquiera de éstos permitiéndonos elegir cuál iniciar.

              Entradas populares de este blog

              Tema4: El registro de Windows

              Tema3: Instalación de Linux MAX y de la herramienta "Guest Additions" de VirtualBox en Linux MAX