Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

sistemas operativos

707 views

Published on

sistemas operativos y sus componentes

Published in: Education
  • Be the first to comment

  • Be the first to like this

sistemas operativos

  1. 1. 1 ESTE DOCUMENTO CONTIENE LA SEMANA 1 Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni utilizar los contenidos para fines comerciales de ninguna clase. FUNDAMENTOS DE SISTEMAS OPERATIVOS SEMANA 1 Componentes de un sistema operativo
  2. 2. 2 ESTE DOCUMENTO CONTIENE LA SEMANA 1
  3. 3. 3 ESTE DOCUMENTO CONTIENE LA SEMANA 1 ÍNDICE COMPONENTES DE UN SISTEMA OPERATIVO..................................................................................... 4 OBJETIVOSESPECÍFICOS ........................................................................................................................... 4 INTRODUCCIÓN...................................................................................................................................... 4 1. ¿QUÉESUNSISTEMAOPERATIVO?.................................................................................................... 5 2. SISTEMASOPERATIVOS.................................................................................................................... 7 2.1. HISTORIA DE LOS SISTEMAS OPERATIVOS .......................................................................... 7 2.2. TIPOS DE SISTEMAS OPERATIVOS ....................................................................................... 8 2.3. EL SISTEMA OPERATIVO: UN GRAN GESTOR DE RECURSOS ............................................... 9 3. SISTEMASOPERATIVOSCOMOMÁQUINASVIRTUALES....................................................................... 10 4. CONCEPTOSFUNDAMENTALES....................................................................................................... 11 5. ESTRUCTURADELOSSISTEMASOPERATIVOS.................................................................................... 12 5.1. SISTEMAS OPERATIVOS CON ESTRUCTURA MONOLÍTICA................................................ 12 5.2. SISTEMAS OPERATIVOS BASADOS EN EL KERNEL ............................................................. 12 5.3. SISTEMAS OPERATIVOS BASADOS EN MICROKERNEL ...................................................... 13 5.4. ARQUITECTURA DE UNIX................................................................................................... 14 5.5. ARQUITECTURA DE WINDOWS ......................................................................................... 15 COMENTARIO FINAL.......................................................................................................................... 16 REFERENCIAS........................................................................................................................................ 17
  4. 4. 4 ESTE DOCUMENTO CONTIENE LA SEMANA 1 COMPONENTES DE UN SISTEMA OPERATIVO OBJETIVOSESPECÍFICOS  Reconocer las principales características de un sistema operativo.  Determinar la importancia de un sistema operativo. INTRODUCCIÓN Un computador tal y como se le conoce hoy se conecta internamente a diversos dispositivos, lo que lo transforma en una máquina compleja. Si para lograr conectar estos dispositivos cada uno de los fabricantes tuviera que escribir sus códigos de conexión para los distintos computadores, sería un trabajo imposible de sostener, por lo que la mejor forma de estandarizar el mecanismo es que todos los computadores usen un sistema común y así los fabricantes solo programan sus códigos para dicho sistema. Este sistema es el llamado sistema operativo. Esta semana se revisará un poco de la historia de los sistemas operativos, reconociendo los inicios del software y su evolución hasta el día de hoy. Además, se abordarán los distintos tipos de sistemas operativos y sus características. Se estudiará, además, cómo trabajar con sistemas operativos como máquinas virtuales, identificando sus características y fortalezas a la hora de utilizarlos. Por último, se repasarán las distintas estructuras y arquitecturas informáticas existentes.
  5. 5. 5 ESTE DOCUMENTO CONTIENE LA SEMANA 1 1. ¿QUÉESUNSISTEMAOPERATIVO? De acuerdo a lo expresado por Dhamdhere (2008), un sistema operativo posee distintos significados de acuerdo a los distintos usuarios que lo utilice, y cada una de esas visiones recibe el nombre de “visión abstracta”, debido a que enfatiza las características más importantes para cada usuario, sin importar todos los otros aspectos o funcionalidades disponibles. Por ejemplo:  Para un estudiante universitario o de colegio, un sistema operativo es el software que le permite tener acceso al conocimiento disponible en internet.  Para un colaborador de una empresa que utiliza un paquete de aplicaciones, un sistema operativo es el software que hace posible que use cada uno de los paquetes de aplicaciones que le permiten cumplir con sus labores diarias. En relación a los ejemplos anteriores, cada usuario percibe al sistema operativo como el medio que le ayuda a lograr utilizar las aplicaciones necesarias para cumplir con sus necesidades. En la siguiente tabla se describen los usos de un sistema operativo, según las visiones abstractas (Dhamdhere, 2008, p. 3): USO DESCRIPCIÓN Recopilación de los requerimientos del sistema La visión abstracta del usuario indica los servicios importantes que un sistema debe suministrar. Puede usarse un conjunto de visiones abstractas para integrar una especificación de los requerimientos del sistema. Diseño del sistema El uso de las visiones abstractas permite que un diseñador se centre en una parte específica del sistema. Los detalles, a pesar de estar disponibles, se encuentran “ocultos”, para facilitar la visión. Este enfoque ayuda a controlar la complejidad del proceso de diseño. Implementación del sistema La parte cuyos detalles están ocultos en una visión de diseño se convierten en un módulo, que puede invocarse desde otros módulos. Este hecho conduce a una implementación modular.
  6. 6. 6 ESTE DOCUMENTO CONTIENE LA SEMANA 1 Según Dhamdhere (2008), desde el punto de vista abstracto, la estructura de un sistema operativo tiene tres partes principales: 1) El núcleo (kernel) que es el corazón del sistema operativo, llamado así porque controla las operaciones del computador y proporciona las funciones y los servicios que permiten utilizar la CPU y los recursos del equipo. 2) Los programas que no pertenecen al kernel. Estos programas no interactúan con el hardware del equipo, sino que utilizan los recursos provistos por los programas de kernel. 3) Los programas de interfaz de usuario, proporcionan una interfaz de línea de comandos o interfaz gráfica que le permite al usuario interactuar con el sistema para solicitar el uso de recursos y servicios. Ubicación del sistema operativo Fuente: Tanenbaum (2009, p. 2). El programa de interfaz de usuario (shell) es el nivel más bajo del software en modo usuario y permite la ejecución de otros programas como el navegador web, correo electrónico, procesadores de texto, etc. De acuerdo a la figura anterior, el sistema operativo se ejecuta sobre el hardware y proporciona la base para el funcionamiento de las demás aplicaciones del software.
  7. 7. 7 ESTE DOCUMENTO CONTIENE LA SEMANA 1 2. SISTEMASOPERATIVOS 2.1. HISTORIADELOSSISTEMASOPERATIVOS A continuación se describirán algunos de los hitos más importantes en la historia de los sistemas operativos (Tanenbaum, 2009, p. 7):  1974: La empresa Intel (mayor fabricante de circuitos integrados en el mundo) presentó el microprocesador 8080 (la primera CPU de 8 bits). Para poder probar su rendimiento, Intel solicitó a Gary Kildall, uno de sus consultores, construir un sistema operativo para este propósito. Kildall y un amigo construyeron primero un dispositivo controlador para discos flexibles de 8 pulgadas (que recién había sido lanzado al mercado) y con eso conectaron el disco flexible con el 8080, con lo cual produjeron el primer computador con un disco. Posteriormente, Kildall desarrolló un sistema operativo basado en un disco conocido como CP/M (Control Program for Microcomputers). En 1977, Digital Research (primera empresa dedicada al desarrollo de softwares para microcomputadores) rediseñó el CP/M para adaptarlo de manera que se pudiera ejecutar en todos los computadores que utilizaban los chips 8080. Con el tiempo, se desarrollaron muchos programas de aplicación para ser ejecutados en CP/M, lo que le permitió dominar el mercado por 5 años.  1980: IBM diseñó la IBM PC y buscó un software para ser ejecutado en ella. Se pusieron en contacto con Bill Gates para obtener una licencia de su intérprete de BASIC. Por ese entonces Gates se había enterado de un fabricante de computadores que tenía un sistema operativo llamado DOS (Disk Operating System) y se ofreció a comprarlo, a lo que ellos accedieron. Con esto Gates vendió a IBM un paquete con DOS/BASIC. Para dicho sistema, IBM solicitó modificaciones, para lo que Gates contrató a Tim Paterson (desarrollador de DOS) como miembro de Microsoft para hacer las modificaciones. El sistema rediseñado cambió su nombre a MS-DOS (Microsoft Disk Operanting System). La versión inicial de MS-DOS fue muy primitiva, pero en sus siguientes versiones fue incorporando características más avanzadas, muchas de ellas tomadas de UNIX. Los primeros sistemas operativos se basaban en que los usuarios escribieran los comandos con el teclado, pero con el tiempo esto cambió tras la invención de la GUI (Graphical User Interface o Interfaz Gráfica de Usuario) creada por Doug Engelbart. Por ese entonces, Steve Jobs (coinventor de Apple) vio el potencial de GUI y emprendió el proyecto de construir un sistema operativo Apple con una GUI. Este proyecto finalmente fracasó por sus costos. Luego de un segundo intento, Jobs creó la Apple Macintosh mucho más económica, dispositivo que fue un éxito no solo por su costo, sino porque era amigable para el usuario.
  8. 8. 8 ESTE DOCUMENTO CONTIENE LA SEMANA 1 Cuando Microsoft decidió crear un sucesor para MS-DOS estaba influenciado por el éxito de Macintosh y creó un sistema basado en una GUI llamado Windows, el que hasta 1995 se ejecutaba bajo MS-DOS. Otro importante miembro de los sistemas operativos es UNIX (y sus variantes), software muy potente en el ámbito de los servidores de redes como empresariales, pero que también está cada vez más presente en los computadores de escritorio. Por ejemplo, todos los Macintosh utilizan una versión modificada de FreeBSD, sistema operativo derivado de UNIX. Muchos de los programadores experimentados prefieren una interfaz de línea de comando que una GUI, pero casi todos los sistemas UNIX presentan un sistema de ventanas llamado X11 (X Windows System) producido por el (Massachusetts Institute of Technology) que permite crear, eliminar, desplazar y cambiar el tamaño de las ventanas mediante el uso de un mouse. Con frecuencia está disponible una GUI como Gnome o KDE, lo que proporciona a UNIX una apariencia parecida a la Macintosh o Microsoft Windows, para aquellos usuarios de UNIX que lo deseen. 2.2. TIPOSDESISTEMASOPERATIVOS Desde el inicio de los sistemas operativos se han desarrollado una gran variedad, sin embargo no todos fueron popularmente conocidos o comercializados. A continuación se describen algunos de los más importantes (Tanenbaum, 2009):  Sistemas operativos mainframe: estos sistemas operativos están orientados hacia el procesamiento de muchos trabajos a la vez, por lo tanto se requieren muchas operaciones de Entrada/Salida. Por lo general, ofrecen tres tipos de servicios: procesamiento por lotes, procesamiento de transacciones y tiempo compartido. Un ejemplo de sistema operativo de mainframe es el OS/390, descendiente del OS/360.  Sistemas operativos de servidores: se ejecutan en servidores, que son computadores personales, pero con mayor capacidad, dan servicio a varios usuarios a la vez a través de una red y les permiten compartir recursos de hardware y software. Ejemplos de estos sistemas operativos son Linux Red Hat y Windows Server.  Sistemas operativos de multiprocesadores: son variaciones de los sistemas operativos de servidores con características especiales para la comunicación, conectividad y consistencia. Son utilizados en sistemas en los cuales se conectan varios computadores conocidos como multicomputadores o multiprocesadores. Muchos de los sistemas operativos que existen trabajan con multiprocesadores, por ejemplo Windows y Linux.  Sistemas operativos de computadores personales: su propósito es proporcionar soporte a un solo usuario y se utilizan principalmente para el procesamiento de texto y acceso a Internet.
  9. 9. 9 ESTE DOCUMENTO CONTIENE LA SEMANA 1 Algunos ejemplos de sistemas operativos de escritorio son Linux Ubuntu, Windows 8 y OS X Mavericks.  Sistemas operativos de computadoras de bolsillo: estos sistemas operan en dispositivos que generalmente tienen la habilidad de proporcionar telefonía, fotografía digital, captura de video y acceso a Internet. Algunos de estos sistemas operativos son: Android, Windows Mobile e iOS.  Sistemas operativos integrados (embedded): operan en dispositivos que no son considerados como computadores, ya que no aceptan softwares instalados por el usuario. Por ejemplo: hornos de microondas. 2.3. ELSISTEMAOPERATIVO:UNGRANGESTORDERECURSOS Una de las funciones principales de un sistema operativo es administrar todas las piezas de un sistema complejo, ordenando y controlando los procesadores, memorias y dispositivos de E/S, entre los diversos programas que compiten por estos recursos. Algunos de los sistemas operativos permiten la ejecución simultánea de varios programas, por lo que debe imponer el orden de ejecución para cada uno, evitando que se mezclen sus procesos y lograr el correcto funcionamiento de ellos. En una red, es necesario administrar y proteger la memoria de los dispositivos de E/S para que los procesos no se interfieran entre sí. Su principal objetivo es compartir recursos de software y hardware, es decir, para este contexto, un sistema operativo requiere llevar un registro que indique cuál software está utilizando qué tipo de recursos para otorgar los permisos de acuerdo a las peticiones. La administración de recursos incluye multiplexaje (compartir) de recursos en dos formas: tiempo y espacio. Cuando un recurso se multiplexa, los distintos softwares y usuarios toman turno para utilizarlo. La tarea de determinar cómo se multiplexa el recurso en el tiempo, es responsabilidad del sistema operativo. Por otro lado, está el multiplexaje en el espacio, donde en vez de que los clientes tomen turnos, cada uno obtiene una parte del recurso.
  10. 10. 10 ESTE DOCUMENTO CONTIENE LA SEMANA 1 3. SISTEMASOPERATIVOSCOMOMÁQUINASVIRTUALES Una organización que desee gestionar distintos servicios (por ejemplo servidor de correo electrónico, servidor web o servidor FTP) deberá considerar múltiples computadores (o servidores) para sostener el funcionamiento de sus sistemas, esto con la finalidad de optimizar el manejo de carga, como también considerar una red de multicomputadores para estar conectados entre sí. Gestionar estos servicios en equipos distintos es una medida de seguridad que garantiza la continuidad del negocio, es decir, si uno de ellos falla, no necesariamente se involucran el resto de los servidores. Para la necesidad antes descrita, existe una solución para facilitar la administración y mantención de los servicios, las llamadas máquinas virtuales (virtualización). Esta tecnología permite que un solo computador contenga varias máquinas virtuales independientes entre sí, que incluso pueden tener distintos sistemas operativos. Al consolidar todos los servidores de esta forma, existe el riesgo de que si falla el servidor que está ejecutando las máquinas virtuales, fallan todas ellas. Sin embargo, la razón por la que la virtualización es confiable es que la mayoría de las fallas no se deben a problemas de hardware defectuoso, sino al software, especialmente a los sistemas operativos. Con la tecnología de máquinas virtuales, el único software que se ejecuta en el kernel es el hipervisor, el cual tiene 100 veces menos líneas de código que un sistema operativo y, con eso, 100 veces menos probabilidad de errores y vulnerabilidades. Las máquinas virtuales también son útiles para los usuarios finales, ya que permite instalar nuevas aplicaciones para pruebas sin que se interfieran entre sí. Por ejemplo: un desarrollador de software puede construir en su equipo una red de multicomputadores para simular un entorno específico, además puede respaldar dichos entornos para posteriormente mostrar o entregar a sus clientes. Las licencias de la mayoría de los softwares son por cada CPU, es decir cuando se compra la licencia de un software, se tiene derecho a ejecutarlo solamente en una CPU. Por esto, algunos de los distribuidores de software han colocado una cláusula en el contrato que declara la no autorización de uso de dicha licencia en una máquina virtual no autorizada.
  11. 11. 11 ESTE DOCUMENTO CONTIENE LA SEMANA 1 4. CONCEPTOSFUNDAMENTALES Fuente: Dhamdhere (2008, p. 28). De acuerdo al libro Sistemas operativos modernos de Andrew S. Tanenbaum (2009), los conceptos básicos de los sistemas operativos son los siguientes:  Procesos: son programas de ejecución, que tienen asociado un espacio de direcciones y una lista de ubicaciones de memoria, desde un valor mínimo hasta cierto valor máximo. El espacio de direcciones contiene el programa ejecutable, sus datos y su pila. Además, a cada proceso se le asocia un conjunto de recursos que comúnmente incluyen registros. En resumen, un proceso es un recipiente que guarda toda la información necesaria para ejecutar un programa.  Espacios de direcciones: cada computador utiliza cierta memoria para mantener los programas en ejecución. En un sistema operativo simple solamente se ejecuta un programa a la vez, por lo cual para ejecutar un segundo programa es necesario cerrar el primero. Los sistemas operativos que permiten ejecutar más de un programa en memoria a la vez, necesitan evitar que se interfieran entre sí por lo que necesitan implementar un mecanismo de protección que debe estar ubicado en el hardware y controlado por el sistema operativo.  Archivos: una de las principales características de los sistemas operativos es el manejo de archivos (crearlos, eliminarlos, leerlos y escribir en ellos). El sistema operativo provee un lugar donde almacenar los archivos, el cual se denomina directorios, que cumple con la función de agrupar los archivos según la necesidad. Para especificar cada archivo dentro de un directorio, el sistema proporciona su nombre de ruta, dichos nombres de ruta absolutos marcan la lista de directorios que deben recorrese para llegar al archivo.  Entrada/Salida: todos los computadores tienen dispositivos físicos que le permiten adquirir entradas y producir salidas. Existen muchos tipos de dispositivos de entrada y salida por ejemplo: teclado, monitor, impresora, etc. Es responsabilidad del sistema operativo administrar estos dispositivos.
  12. 12. 12 ESTE DOCUMENTO CONTIENE LA SEMANA 1  Protección: los computadores almacenan gran cantidad de información que, en general, suele ser de vital importancia para su dueño. Esta información puede ser de correos electrónicos, archivos de texto, fotografías, etc. Por esto, es necesario que el sistema operativo administre la seguridad y confidencialidad de estos.  Shell: el sistema operativo es el código que lleva a cabo las llamadas del sistema. Los editores, compiladores, ensambladores, enlazadores e intérpretes de comandos no forman parte del sistema operativo, aun cuando son importantes y útiles. Por ejemplo, el intérprete de comandos de UNIX conocido como shell (sh), aunque no forma parte del sistema operativo, utiliza características del mismo y es la interfaz principal entre el usuario y el sistema operativo. 5. ESTRUCTURADELOSSISTEMASOPERATIVOS 5.1. SISTEMASOPERATIVOSCONESTRUCTURAMONOLÍTICA Los primeros sistemas operativos tenían una estructura monolítica, es decir que el código del sistema operativo no consistía en un conjunto de módulos con interfaces, sino que estaba compuesto solamente por un módulo (Dhamdhere, 2008). Sistema operativo monolítico Fuente: Dhamdhere (2008, p. 603). 5.2. SISTEMASOPERATIVOSBASADOSENELKERNEL El kernel proporciona un conjunto de funciones y servicios para apoyar las funcionalidades del sistema operativo. El resto del sistema está organizado como un conjunto de programas que implementan operaciones en procesos y recursos para los usuarios. La operación del kernel es
  13. 13. 13 ESTE DOCUMENTO CONTIENE LA SEMANA 1 invocada por interrupciones, es decir, que obtiene control cuando una interrupción señaliza la ocurrencia de un evento que requiere la atención del sistema operativo (Dhamdhere, 2008). Visión abstracta de un sistema operativo basado en kernel Fuente: Dhamdhere (2008, p. 610). 5.3. SISTEMASOPERATIVOSBASADOSENMICROKERNEL De acuerdo a Dhamdhere (2008) la estrategia de colocar el código dependiente de la arquitectura del kernel, proporciona una buena portabilidad, sin embargo, el kernel también incluye código independiente de la arquitectura. Esta característica tiene como desventaja que requiere un kernel de gran tamaño lo que elimina la ventaja de portabilidad. El microkernel fue desarrollado en los 90 con la finalidad de superar las desventajas de portabilidad, extensibilidad y confiabilidad. Un microkernel es una parte central del código del sistema operativo, por lo cual, contiene un subconjunto de mecanismos que normalmente están incluidos en un kernel y admite solamente un pequeño número de llamadas al sistema. Esta característica es la que aumenta la portabilidad y confiabilidad del microkernel.
  14. 14. 14 ESTE DOCUMENTO CONTIENE LA SEMANA 1 Estructura de sistemas operativos basados en microkernel Fuente: Dhamdhere (2008, p. 613). 5.4. ARQUITECTURADEUNIX UNIX es un sistema operativo basado en kernel que consiste en dos componentes: la administración de procesos y la administración de archivos. Estos componentes son activados mediante interrupciones declaradas en el hardware y llamadas al sistema hechas por programas no kernel del sistema operativo (Dhamdhere, 2008). Kernel del sistema operativo UNIX Fuente: Dhamdhere (2008, p. 616).
  15. 15. 15 ESTE DOCUMENTO CONTIENE LA SEMANA 1 5.5. ARQUITECTURADEWINDOWS La capa de abstracción de hardware (HAL) se comunica con el hardware y proporciona abstracciones de las interfaces de E/S, controladores de interrupciones y mecanismos de comunicación entre procesadores en un sistema multiprocesador. El kernel usa las abstracciones proporcionadas por HAL para ofrecer servicios básicos, como el procesamiento de interrupciones y la sincronización de multiprocesadores. Con esto, el kernel queda protegido de las arquitecturas específicas, lo que le da una gran ventaja de portabilidad. Arquitectura de Windows Fuente: Dhamdhere (2008, p. 618).
  16. 16. 16 ESTE DOCUMENTO CONTIENE LA SEMANA 1 COMENTARIOFINAL Saber identificar los distintos sistemas operativos, reconociendo sus componentes, partes y arquitectura es fundamental para un profesional de la informática. Además como cultura general es bueno saber el comienzo de los sistemas operativos y como ha sido su avance durante los años. También es necesario que un profesional de la TI entienda y sepa exponer, en caso de ser necesario, la arquitectura de UNIX y Windows. Estos sistemas operativos están hoy en día disponibles en la mayoría de las empresas o fábricas.
  17. 17. 17 ESTE DOCUMENTO CONTIENE LA SEMANA 1 REFERENCIAS Dhamdhere, D. (2008). Sistemas operativos. México: McGraw-Hill. Matthews, M. (2009). Windows Server 2008. Guía para el administrador. México: McGraw-Hill. Petersen, R. (2009). Manual de referencia Linux. México: McGraw-Hill. Ruest, D. y Ruest, N. (2009). Manual de referencia Microsoft Windows Server 2008. España: McGraw-Hill. Tanenbaum, A. (2009). Sistemas operativos modernos. México: Pearson. PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE: IACC (2014). Componentes de un sistema operativo. Fundamentos de Sistemas Operativos. Semana 1.
  18. 18. 18 ESTE DOCUMENTO CONTIENE LA SEMANA 1

×