SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
QUÉ ES UN SISTEMA
OPERATIVO
Maritzol Tenemaza
Ubicación del sistema Operativo
2


                                Lector de                 Reproductor
                   Navegador    Correo                    de música
                   Web          Electrónico



    Modo usuario

                          Programa de Interfaz de Usuario               Software


                                Sistema Operativo
    Modo Kernel
                                                                        Hardware




                                 Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
3


       El sistema operativo es una capa de software , cuyo
        trabajo es proporcionar a los programas de
        usuario, un modelo de computadora mejor, simple y
        pulcra.
       El programa con el que los usuarios interactúan se
        llama shell (no forma parte del SO pero lo usa
        para llevar a cabo su trabajo).



                           Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
4


       Modos de Operación:
           Modo Kernel
           Modo Usuario
       El SO es la pieza fundamental del software y se ejecuta en
        modo kernel o modo supervisor.
           Desde aquí el SO tiene control de todo el software y puede
            ejecutar toda instrucción que toda máquina pueda ejecutar.
       El resto del software se ejecuta en modo usuario.
           Desde aquí solo un conjunto de instrucciones es permitido.
           Las instrucciones de E/S están prohibidas para estos usuarios.



                                  Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
5


       El programa de interfaz de usuario, shell o GUI,
        es el nivel más bajo del software en modo usuario,
        permite la ejecución de otros programas :
          como un navegador web.
         lector de correo electrónico

         o reproductor de música.

       Usa en forma intensiva el SO.



                             Ing Maritzol Tenemaza MSc.
Ubicación del Sistema Operativo
6


       El SO se ejecuta directamente sobre el Hardware y
        proporciona la base para las demás aplicaciones
        de software.
         Una  distinción importante entre el SO y el programa
          que se ejecuta en modo usuario es que si por ejemplo
          su a un usuario no le gusta el manejador de correo
          puede cambiarlo, pero o podrá cambiar el manejador
          de interrupciones de reloj, (está protegido por el
          hardware y el SO).


                            Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
7


       Software que se ejecuta en modo Kernel.
       Sus funciones son:
         Proporcionar  a los programadores de aplicaciones (y
          a los programas) un conjunto abstracto de recursos
          simples (en lugar de los conjuntos complejos de
          hardware).
         Administrar los recursos de hardware.




                            Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
8


       Sistema Operativo como Máquina extendida:
         Él trabajo del sistema operativo es crear buenas
          abstracciones para después implementar y administrar los
          objetos abstractos creados.
         Una de las principales tareas del SO es ocultar el hardware
          y presentar a los programadores abstracciones agradables,
          elegantes simples y consistentes.
         Recordar que los verdaderos clientes del SO son los
          programas de aplicación – en contraste – los usuarios
          finales tienen que lidiar con las abstracciones que
          proporcionan la interfaz de usuario., ya sea un shell de
          líneas de comando o interfaz gráfica.

                               Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
9


       Sistema Operativo como Administrador de recursos.
         Si pensamos en el SO cuya función principal es
          proporcionar abstracciones a los programas de aplicación,
          responde a una perspectiva de arriba hacia abajo.
         La perspectiva alterna de abajo hacia arriba, sostiene que
          el SO está presente para administrar todas las piezas de
          un sistema complejo. Así, proporcionar una asignación
          ordenada y controlada de:
               Procesadores, memorias y dispositivos de E/S, entre los
                programas que compiten por estos recursos.



                                    Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
10


        Sistema Operativo como Administrador de
         recursos.
          Por ejemplo si 3 programas quieren escribir en la
           impresora, para que no se mezclen los contenidos, el
           SO guarda en buffers los contenidos luego envía a la
           impresora, mientras otros siguen guardando los
           contenidos.
          El SO debe llevar un registro de que programas están
           usando qué recursos (especialmente en red), de otorgar
           peticiones de recursos, de contabilizar su uso, y mediar
           las peticiones en conflicto.

                              Ing Maritzol Tenemaza MSc.
Qué es un Sistema Operativo
11


        Sistema Operativo como Administrador de recursos.
            La administración de recursos incluye el multiplexaje,
             (compartir) recursos de dos formas distintas:
              Por tiempo, en este caso los programas toman turnos. (ejemplo
               solo 1 CPU, un solo programa se ejecuta a la vez)
              Por espacio, en vez de que los clientes tomen turnos, cada uno usa
               una parte del recurso, por ejemplo normalmente la memoria se
               divide entre varios programas en ejecución, para que cada uno
               pueda estar residente al mismo tiempo. En este caso el SO debe
               resolver problemas de equidad y protección. Otro recurso
               multiplexado es el disco duro, debe ser administrado por el SO.


                                    Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
12

        Estrecha relación entre SO y Arquitectura de Computadores.
        Primera Generación (1945-1955): tubos de vacío.
            Luego de infructuosos esfuerzos de Babagge en la segunda guerra
             mundial aparecen:
            La primera computadora digital en Iowa State University, 300 tubos de
             vacío bulbos, construida por John Atanasoff y su estudiante Clifford
             Berry.
            Konrad Zuse en Berlin construyó la Z3.
            La Colossus construida por un equipo de trabajo en Bletchley Inglaterra.
            La Mark1 por Howard Aiken en Harvard.
            La ENIAC por Willian Mauchley
            Los sistemas Operativos eran desconocidos, también se desconocían
             los lenguajes de programación, manejo personal y manual.



                                      Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
13


        Segunda Generación (1955-1965): Transistores y
         sistemas de procesamiento por Lotes:
          Los transistores , le dieron confiabilidad a la computadora.
           A estas máquinas se las conocía como mainframes,
           requerían operadores para manejarlas.
          Los programas eran fortran o assembler y se usaban
           tarjetas, se ejecutaba un programa a la vez.
          Luego se pasó al procesamiento por lotes para reducir
           costos. Se enviaban muchos programas a la vez, en tarjetas,
           se pasaban a cinta, y los resultados se escribían en cinta,
           luego esta cinta se sacaba y se imprimía fuera de línea.
          Los sistemas operativos típicos eran FMS(Fortran monitor
           system) e IBSYS de la IBM.

                                Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
14

        Tercera Generación (1965 a 1980): circuitos integrados y
         multiprogramación:
            Existían dos líneas de computadoras: la científica y las
             comerciales, esto era muy costoso y se resolvió cuando la IBM
             creó la serie 360.
            La familia 360 era de circuitos integrados, su sistema operativo
             fue el OS-360, un sistema operativo gigante y lleno de errores.
            El sistema Operativo OS/360 introdujo la multiprogramación, la
             solución fue subir a memoria más de un programa con protección
             desde hardware.
            El OS/360 introdujo el spooling, es decir leer el grupo de
             tarjetas y llevarlas a disco duro.
            Luego se preparó el camino para los tiempos compartidos (time
             sharing)

                                   Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
15


        La cuarta Generación : (1980 a la fecha)
            Con el desarrollo de los circuitos LSI (integración a gran escala),
             miles de transistores en un centímetro cuadrado, nacen las
             computadoras personales.
            Primero aparecieron las microcomputadoras, 8088, con el SO
             CP/M (Control Programa for microcomputers).
            Posteriormente apareció el DOS( sistema operativo en Disco), que
             luego selo unió con un interprete de Bill Gates llamado Basic y
             apareció el DOS/BASIC, mismo que luego Tim Patterson (quien
             fue cotratado por Bill Gates)lo rediseñó y cambió su nombre a
             MS/DOS. 90286, 386,486.
            Posteriormente se incluye la GUI, en 1988 apareció la macintosh
             Lisa, pero muy cara, luego la Apple Macintosh con mucho éxito.

                                    Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
16


        La cuarta Generación : (1980 a la fecha)
          Posteriormente Microsoft inluenciada por la macintosh, creó
           un sistema basado en GUI llamado windows, el cual se
           ejecutaba sobre MS-DOS, es decir era más un shell que un
           sistema operativo.
          A partir de 1995 se liberó la versión windows -95.

          En 1998 se liberó windows 1998, aún contenia mucho
           código en lenguaje ensamblador para máquinas de 16 bits.
          Luego apareció Window –NT (nueva tecnología). Sistema
           de 32 bits, este SO también fracazó, no aniquiló a todos los
           windows ni al MS-DOS.
                                Ing Maritzol Tenemaza MSc.
Historia de los Sistemas Operativos
17

        La cuarta Generación : (1980 a la fecha)
            Windows NT-4 finalmente, empezó a tener éxito, especialmente en redes corporativas.
            Windows NT5 cambió de nombre a windows -2000
            Luego Windows ME (millennium edition).
            En el 2001 aparece Windows –XP.
            En el 2007 Windows .Vista.
            Luego apareció windows -7
            Otro competidor importante es UNIX, enla China y en la India están presentes. Prefiern
             una interfaz basada en comandos y otra basada en GUI, llamada Gnome o KDE.
            Linux es una alternativa popular para estudiantes y empresas.
            (actualmente hablamos de procesadores Intel core 5, core 7…)
            Los SO en red necesitan un dispositivo controlador de interfaz de red y software de
             bajo nivel para controlarlo.
            Un SO distribuido, está compuesto por varios procesadores, permiten que las
             aplicaciones se ejecuten en varios procesadores al mismo tiempo, lo que requiere software
             de planificación para optimizar el paralelismo.



                                            Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
18


        Sistemas operativos de Main Frame.
          Son computadoras muy grandes que aún se encuentran
           en centros de datos muy grandes. Por ejemplo un main
           frame de 1000 discos y millones de gigabytes de
           datos.
          Son servidores web de alto rendimiento, son servidores
           para sitios de comercio electrónico a gran escala, y
           servidores para transacciones de negocio a negocio.
          Los SO de main frames están orientados hacia el
           prcesamiento de muchos trabajos a la vez.

                              Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
19

        Sistemas operativos de Main Frame.
            La mayor parte requieren muchas operaciones de E/S.
            Ofrecen tres tipos de servicios:
                Procesamiento por lotes: procesa trabajos de rutina, sin que hayan
                 usuarios interactivos de por medio. Por ejemplo reporte de ventas de
                 una cadena de tiendas.
                Procesamiento por transacciones: manejan grandes cantidades de
                 pequeñas peticiones. Por ejemplo reservaciones en una aerolínea,
                 transacciones de un banco.
                Tiempo compartido: permiten que miles de usuarios remotos ejecuten
                 trabajos en la computadora al mismo tiempo. Por ejemplo consultar
                 una gran base de datos.
            Ejemplo de sistemas operativos de Main frame: OS/390.
            Actualmente están siendo reeplazados por sistemas operativos
             Linux.

                                       Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
20


        Sistemas operativos de Servidores.
          Se ejecutan en servidores qe sn computadoras personales
           muy grandes, estaciones de trabajo e incluso main frames.
          Dan servicio a varios usuarios a la vez a través de la red, y
           les permiten compartir los recursos de hardware y software.
          Los servidores pueden proporcionar servicios de impresión,
           archivos o web.
          Los proveedores de Internet operan muchos equipos
           servidores para dar soporte a sus clientes y los sitios web.
          Utilizan servidores para almacenar paginas web y hacerse
           cargo de peticiones entrantes.
          Solaris, Linux, Windows server 200x.



                                Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
21

        Sistemas operativos de Multiprocesadores.
            Una manera de dar poder a un sistema de computo es conectar
             varias CPU a un solo sistema.
            Se las conoce como computadores en paralelo multicomputadores
             o multiprocesadores.
            Los SO, son a menudo variaciones de los sistemas operativos de
             servidores con características especiales para comunicación,
             conectividad y consistencia.
            Con la llegada de los chips multinúcleo para las computadoras
             personales, hasta los sistemas operativos de equipos de escritorio
             y portátiles convencionales ya tienen multiprocesadores de
             pequeña escala y cada vez aumenta el número de núcleos.
            Windows y Linux se ejecutan en multiprocesadores.
            Lo difícil es que los programas usen todo ese poder de cómputo.

                                    Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
22


        Sistemas operativos de computadoras personales.
          Todos  los SO modernos soportan la multiprogramación.
          Con frecuencia se inician docenas de programas al
           arrancar el sistema.
          Su trabajo es proporcionar buen soporte para un solo
           usuario.
          Linux, machintosh, windows vista, windows 7.




                              Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
23


        Sistemas operativos de computadoras de bolsillo.
          Computadora   de bolsillo o PDA (Personal Digital
           Assistant)
          Actualmente los PDA y celulares se han fusionado. Casi
           todos ellos se basan en procesadores de 32 bits y 64
           bits, trabajan en modo protegido y ejecutan un
           sofisticado SO.
          Actualmente es posible manejar mucha funciones de
           una computadora normal.
          Symbian OS, Palm OS ….iphone (machintosh), adriode

                              Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
24


        Sistemas operativos Integrados.
          Sistemas  opertivos integrados o (embedded), se
           conocen también como incrustados o embebidos.
          Operan en equipos que o no aceptan software
           instalado por el usuario. Por ejemplo microondas,
           televisores, MP4, etc…. Ejemplo: QNX, VxWorks




                              Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
25


        Sistemas operativos de nodos sensores.
          Son pequeñas computadoras que se comunican entre si, con
           una estación base en forma inalámbrica. Se usan en
           edificios en protección de perímetros de edificios, proteger
           fronteras. Detectar incendios de bosques, medir
           temperatura, precipitaciones, pronostico del tiempo.
          Cada sensor son verdaderas computadoras con memorias,
           procesadores, alimentadas con baterías y enlazadas a una
           red que debe ser robusta para tolerar fallos en los nodos
           individuales.
          Realizan actividades en forma periódica activados por un
           reloj interno.
          TinyOS


                                Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
26


        Sistemas operativos en tiempo real.
          Se caracterizan por tener el tiempo como un parámetro
           clave. Ejemplo Sistemas do control de procesos
           Industriales llamados Sistemas en tiempo real duro, su
           ejecución depende de tiempos exactos.
          Existen los sistemas en tiempo real suave, en los cuales
           se aceptan que puedan fallar el tiempo determinado,
           ejemplo teléfonos digitales.
          Estos Sistemas no aceptan que el usuario inserte ´su
           propio software, lo cual facilita la protección.

                              Ing Maritzol Tenemaza MSc.
Tipos de Sistemas Operativos.
27


        Sistemas operativos de tarjetas inteligentes
          Son  los sistemas operativos más pequeños. Son tarjetas
           del tamaño de una tarjeta de crédito con un chip de
           CPU. Algunas se energizan por contactos con el lector
           del equipo. A menudo estos son sistemas propietarios.
          Algunas tarjetas funcionan en java. Algunas tarjetas
           ejecutan varios applets de java, lo cual con lleva a la
           multiprogramación. El SO los maneja.



                              Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
28


        La base para comprender el funcionamiento de un
         SO, son ciertos conceptos básicos y abstracciones:
          Procesos,

          Espacio  de direcciones,
          Archivos,

          E/S

          Protección

          El Shell




                               Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
29


        Procesos:
          Un  proceso es en esencia un programa en ejecución.
          Cada proceso tiene asignado un espacio de
           direcciones.
          El espacio de direcciones contiene el programa
           ejecutable, los datos y su pila.
          También tiene asociados registros (CP, apuntador de
           pila entre otros), un conjunto de archivos abiertos,
           alarmas pendientes, listas de procesos relacionados y
           la información necesaria para ejecutar un programa.
                              Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
30


        Procesos (2):
          Se debe pensar en un sistema de multiprogramación:
           Asuma que usted baja una película, mientras tanto usted
           navega en la web, además revisa su correo. El SO puede
           cortar el proceso que baja la película porque ya ha usado
           suficiente tiempo, para ejecutar otro.
          Cuando detiene un proceso debe guardar el estado del
           proceso, por ejemplo si el proceso tuvo varios archivos
           abiertos al mismo tiempo debe guardar todos los
           apuntadores asociados a la posición actual, algunos SO
           guardan toda la información del proceso más su propio
           espacio de direcciones los guarda en Tablas de procesos,
           las cuales son arreglos o listas enlazadas.


                               Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
31


        Procesos (3):
          El sistema de administración de procesos son los que se
           encargan de crear y terminar procesos. Por ejemplo un
           proceso llamado intérprete de comandos, o shell, lee
           comandos, si el usuario pide compilar un programa, el shell
           crea el proceso para ejecutar el compilador, este se ejecuta
           y cuando termina llama al administrador de procesos para
           terminarse a si mismo.
          En ocasiones el proceso llama a subprocesos, llamados
           procesos hijos y se forma un árbol de procesos. A menudo
           se necesita sincronizar actividades entre procesos.
          A los procesos y subprocesos el SO les asigna
           identificadores individuales y de grupo.

                                Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
32


        Espacios de Direcciones:
          la memoria principal contiene a todos los programas
           que se están ejecutando.
          Un SO simple, solo hay un programa a la vez en
           memoria, para ejecutar un segundo se tiene que quitar
           el primero y colocar el segundo en memoria.
          Un SO sofisticado, permite colocar varios programas
           en memoria. Para evitar que se interfieran entre ellos
           necesitan mecanismos de protección. Aunque este
           mecanismo tiene que estar en hardware tiene que estar
           controlado por el SO.

                              Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
33


        Espacios de Direcciones(2):
          En el espacio de direcciones , las direcciones pueden
           ser de 32 o 64 bits, si un proceso requiere un espacio
           de direcciones mayor a la capacidad de la memoria
           principal de la memoria, en este caso se usa una
           técnica llamada Memoria virtual, en este caso el SO
           crea la abstracción de memoria suficiente.
          Este trabajo de administrar la memoria es parte
           importante de lo que hace el SO.


                              Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
34

        Archivos:
            Otro concepto clave es el sistema de archivos.
            Una de las actividades del usuario es crear, borrar, leer y
             escribir sobre archivos, para lo cual hay que acceder al
             dispositivo y hacer las actividades.
            El SO maneja el concepto de directorio, como una manera de
             agrupar archivos. La entradas del directorio pueden ser archivos
             u otros directorios.
            las jerarquías de procesos y de archivos están organizadas en
             forma de árboles.
            Se maneja también otro concepto, archivo especial, es ver a los
             dispositivos como archivos. De esta manera se puede leer o
             escribir sobre ellos con las mismas funciones del SO que se
             utilizan para los archivos.

                                   Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
35


        Archivos(2):
            Existen dos tipos de archivos especiales:
              Archivos especiales de bloque: por ejemplo los discos duros, que
               permiten acceder de manera directa a un determinado bloque.
              Archivos especiales de caracter: por ejemplo los modems o
               impresoras.
            Otro concepto asociado a los procesos y archivos son los
             canales:
                Un canal es un tipo de pseudoarchivo que sirve para conectar dos
                 procesos. Por ejemplo si dos procesos necesitan comunicarse se
                 debe establecer un canal por anticipado.


                                      Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
36


        Entrada /Salida
          Existen muchos dispositivos de E/S, incluyendo teclados,
           monitores, impresoras, etc. Es Responsabilidad del SO
           administrar estos dispositivos.
          En otra palabras, el SO tiene un subsistema para
           administrar los dispositivos de E/S, algunos dispositivos
           tienen su propio driver, para administrar el SO.




                               Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
37


        Protección
          Mucha  información del usuario debe ser protegida por
           ser confidencial, (mensajes de correo electrónico,
           planes de negocio, etc..) es responsabilidad del SO
           administrar la seguridad de los archivos.




                              Ing Maritzol Tenemaza MSc.
Conceptos de Sistemas Operativos
38


        EL Shell
          EL SO es el código que lleva a cabo el sistema.
          Los editores, compiladores, ensambladores,
           enlazadores e intérpretes de comandos no son parte
           del SO.
          Es la interfaz gráfica del usuario.

          Cuando cualquier usuario inicia sesión, se inicia el shell,
           con interfaz gráfica en el caso de windows (windows
           explorer), Linux tiene su shell con GUI, Gnome o KDE, y
           el shell de comandos.
                                Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
39


        Significa dar un vistazo al interior del S.O.
        Los diseños son :
          Sistemas Monolíticos.
          Sistemas de Capas.

          Microkernels

          Sistemas Cliente – servidor

          Máquinas Virtuales.

          ExoKernels



                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
40

        Sistemas Monolíticos.
            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.
            Todos sus componentes se encuentran integrados en un único
             programa que ejecuta en un único espacio de direcciones. En este
             tipo de sistemas, todas las funciones que ofrece el sistema
             operativo se ejecutan en modo supervisor, o kernel.


                                     Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
41


        Sistemas Monolíticos (2).
          Estos sistemas operativos han surgido, normalmente, de
           sistemas operativos sencillos y pequeños a los que se
           les ha ido añadiendo un número mayor de
           funcionalidades. Ejemplo MS-DOS y UNIX.
          El problema que plantean este tipo de sistemas radica
           en lo complicado que es modificar el sistema operativo
           para añadir nuevas funcionalidades y servicios.
          Por cada llamada al sistema hay un procedimiento de
           servicio que se encarga de la llamada y la ejecuta.

                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
42


        Sistemas de Capas.
          Una    mejor opción es organizar el SO como una
             jerarquía de capas. Por ejemplo (SO The)
               Capa   Función
                5      El operador (proceso operador del sistema)
                4      Programas de Usuario
                3      Administración de la E/S
                2      Comunicación Operador -Proceso
                1      Administración de memoria
                0      Asignación del procesador y multiprogramación.



                                   Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
43


        Sistemas de Capas (2).
          Una  mayor generalización del concepto de capas
           estuvo presente en el sistema MULTICs, en ves de capas
           se describió como una serie de anillos concéntricos,
           donde los interiores tenían más privilegios que los
           exteriores.




                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
44


        Microkernels:
          En el diseño de capas, tradicionalmente todas las
           capas iban al Kernel, pero eso no es necesario.
          Se debe colocar lo menos posible en el Kernel, debido
           a que los errores en el Kernel paralizan
           inmediatamente al sistema. En contraste los procesos
           del usuario se pueden configurar para que tengan
           menos jerarquía, por lo que un error de ellos no serçia
           fatal.


                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
45


        Microkernels(2):
          La idea del microkernel es lograr una alta
           confiabilidad al dividir el SO en módulos pequeños y
           bien definidos.
          Solo el microkernel se ejecuta en modo Kernel, el resto
           se ejecuta en modo Usuario.
          De esta forma el error de un proceso puede hacer que
           falle ese componente, pero no puede hacer que falle
           todo el sistema.


                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
46


        Modo Cliente Servidor
            Aquí se diferencian dos procesos:
                Los servidores cada uno de los cuales proporciona ciertos servicios.
                Los clientes utilizan estos servicios.
            Se conocen como modelo cliente servidor.
            La comunicación entre cliente y servidor se lleva a cabo mediante
             mensajes.
            Para obtener un servicio, un proceso cliente construye un mensaje,
             indicando lo que desea y le envía al servicio apropiado, después
             el servicio hace el trabajo y envía de vuelta la respuesta.
            Los mensajes pueden ejecutarse en el mismo equipo o en equipos
             remotos.

                                        Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
47


        Máquinas Virtuales.
          Durante 4 décadas IBM ha contado con máquinas virtuales.
          Muchos usuarios requieren manejar muchos sistemas
           operativos para servidores independientes com de correo,
           FTP, servidores web, una solución es la virtualización.
          Otro uso es el hospedaje web. (con una sola máquina se
           evita el hospedaje compartido)se asigna una MV por
           usuario.
          Otra aplicación es para los usuario finales, que desean
           ejecutar 2 o más SO al mismo tiempo.


                               Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
48


        Máquinas Virtuales (2).
          Respecto   al software, para poder ejecutar software de
           máquina virtual su CPU debe ser virtualizable.
          Problema: cuando ejecuta una máquina virtual, sus
           instrucciones se ejecutan en modo usuario privilegiado,
           es decir pueden modificar el PSW, ejecutar
           operaciones de E/S, el SO debe hacer que la
           instrucción se pueda emular en el software.



                              Ing Maritzol Tenemaza MSc.
Estructura de un Sistema Operativo
49


        Exokernels
            En vez de clonar una máquina virtual se hace con máquinas
             virtuales, lo que se hace a la máquina real es particionarla.
            En la capa inferior que se ejecuta en modo Kernel, hay un
             programa llamado exokernel, su trabajo es asignar recursos a
             las máquinas virtuales y luego comprobar los intentos de usarlos,
             así cada máquina virtual piensa que tiene su propio disco, por lo
             que el monitor de la máquina virtual debe mantener tablas para
             reasignar las direcciones del disco.
            El Exokernel solo necesita llevar el registro para saber a cual
             máquina virtual se le ha asignado cierto recurso.
            El exokernel mantiene las máquinas separadas una de otras.


                                    Ing Maritzol Tenemaza MSc.
Bibliografía
50


        Sistemas Operativos modernos – 3 Edición
        Andrew Tanenbaum
        Pearson Educación
        2009




                           Ing Maritzol Tenemaza MSc.

Contenu connexe

Similaire à Clase 4 -

Similaire à Clase 4 - (20)

Lorena g
Lorena gLorena g
Lorena g
 
Lorena g
Lorena gLorena g
Lorena g
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Todo copas
Todo copasTodo copas
Todo copas
 
Introducción a los Sistemas Operativos.pptx
Introducción a los Sistemas Operativos.pptxIntroducción a los Sistemas Operativos.pptx
Introducción a los Sistemas Operativos.pptx
 
Sistemas operativo 1 unidad
Sistemas operativo 1 unidadSistemas operativo 1 unidad
Sistemas operativo 1 unidad
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Cuantos sistemas operativos existen
Cuantos sistemas operativos existenCuantos sistemas operativos existen
Cuantos sistemas operativos existen
 
proyecto de (diferenciar las funciones del sistema operativo) - alfonso reye...
 proyecto de (diferenciar las funciones del sistema operativo) - alfonso reye... proyecto de (diferenciar las funciones del sistema operativo) - alfonso reye...
proyecto de (diferenciar las funciones del sistema operativo) - alfonso reye...
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Jenny Sistemas
Jenny SistemasJenny Sistemas
Jenny Sistemas
 
Sistema operativo Juank Caballero
Sistema operativo Juank CaballeroSistema operativo Juank Caballero
Sistema operativo Juank Caballero
 
JULIO REAÑO
JULIO REAÑOJULIO REAÑO
JULIO REAÑO
 
Capitulo1 sop
Capitulo1 sopCapitulo1 sop
Capitulo1 sop
 
Pedro
PedroPedro
Pedro
 
Pedro
PedroPedro
Pedro
 
Robinson
RobinsonRobinson
Robinson
 
Guia 2
Guia 2Guia 2
Guia 2
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 

Plus de Maritzol Tenemaza

Plus de Maritzol Tenemaza (6)

Clase 3 tipos de sistemas
Clase 3 tipos de sistemasClase 3 tipos de sistemas
Clase 3 tipos de sistemas
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
CóMo Planificar Y Realizar Un Seminario
CóMo Planificar Y Realizar Un SeminarioCóMo Planificar Y Realizar Un Seminario
CóMo Planificar Y Realizar Un Seminario
 
Los Objetivos
Los ObjetivosLos Objetivos
Los Objetivos
 
La Clase
La ClaseLa Clase
La Clase
 
Planificación grupo P
Planificación grupo PPlanificación grupo P
Planificación grupo P
 

Clase 4 -

  • 1. QUÉ ES UN SISTEMA OPERATIVO Maritzol Tenemaza
  • 2. Ubicación del sistema Operativo 2 Lector de Reproductor Navegador Correo de música Web Electrónico Modo usuario Programa de Interfaz de Usuario Software Sistema Operativo Modo Kernel Hardware Ing Maritzol Tenemaza MSc.
  • 3. Ubicación del Sistema Operativo 3  El sistema operativo es una capa de software , cuyo trabajo es proporcionar a los programas de usuario, un modelo de computadora mejor, simple y pulcra.  El programa con el que los usuarios interactúan se llama shell (no forma parte del SO pero lo usa para llevar a cabo su trabajo). Ing Maritzol Tenemaza MSc.
  • 4. Ubicación del Sistema Operativo 4  Modos de Operación:  Modo Kernel  Modo Usuario  El SO es la pieza fundamental del software y se ejecuta en modo kernel o modo supervisor.  Desde aquí el SO tiene control de todo el software y puede ejecutar toda instrucción que toda máquina pueda ejecutar.  El resto del software se ejecuta en modo usuario.  Desde aquí solo un conjunto de instrucciones es permitido.  Las instrucciones de E/S están prohibidas para estos usuarios. Ing Maritzol Tenemaza MSc.
  • 5. Ubicación del Sistema Operativo 5  El programa de interfaz de usuario, shell o GUI, es el nivel más bajo del software en modo usuario, permite la ejecución de otros programas :  como un navegador web.  lector de correo electrónico  o reproductor de música.  Usa en forma intensiva el SO. Ing Maritzol Tenemaza MSc.
  • 6. Ubicación del Sistema Operativo 6  El SO se ejecuta directamente sobre el Hardware y proporciona la base para las demás aplicaciones de software.  Una distinción importante entre el SO y el programa que se ejecuta en modo usuario es que si por ejemplo su a un usuario no le gusta el manejador de correo puede cambiarlo, pero o podrá cambiar el manejador de interrupciones de reloj, (está protegido por el hardware y el SO). Ing Maritzol Tenemaza MSc.
  • 7. Qué es un Sistema Operativo 7  Software que se ejecuta en modo Kernel.  Sus funciones son:  Proporcionar a los programadores de aplicaciones (y a los programas) un conjunto abstracto de recursos simples (en lugar de los conjuntos complejos de hardware).  Administrar los recursos de hardware. Ing Maritzol Tenemaza MSc.
  • 8. Qué es un Sistema Operativo 8  Sistema Operativo como Máquina extendida:  Él trabajo del sistema operativo es crear buenas abstracciones para después implementar y administrar los objetos abstractos creados.  Una de las principales tareas del SO es ocultar el hardware y presentar a los programadores abstracciones agradables, elegantes simples y consistentes.  Recordar que los verdaderos clientes del SO son los programas de aplicación – en contraste – los usuarios finales tienen que lidiar con las abstracciones que proporcionan la interfaz de usuario., ya sea un shell de líneas de comando o interfaz gráfica. Ing Maritzol Tenemaza MSc.
  • 9. Qué es un Sistema Operativo 9  Sistema Operativo como Administrador de recursos.  Si pensamos en el SO cuya función principal es proporcionar abstracciones a los programas de aplicación, responde a una perspectiva de arriba hacia abajo.  La perspectiva alterna de abajo hacia arriba, sostiene que el SO está presente para administrar todas las piezas de un sistema complejo. Así, proporcionar una asignación ordenada y controlada de:  Procesadores, memorias y dispositivos de E/S, entre los programas que compiten por estos recursos. Ing Maritzol Tenemaza MSc.
  • 10. Qué es un Sistema Operativo 10  Sistema Operativo como Administrador de recursos.  Por ejemplo si 3 programas quieren escribir en la impresora, para que no se mezclen los contenidos, el SO guarda en buffers los contenidos luego envía a la impresora, mientras otros siguen guardando los contenidos.  El SO debe llevar un registro de que programas están usando qué recursos (especialmente en red), de otorgar peticiones de recursos, de contabilizar su uso, y mediar las peticiones en conflicto. Ing Maritzol Tenemaza MSc.
  • 11. Qué es un Sistema Operativo 11  Sistema Operativo como Administrador de recursos.  La administración de recursos incluye el multiplexaje, (compartir) recursos de dos formas distintas:  Por tiempo, en este caso los programas toman turnos. (ejemplo solo 1 CPU, un solo programa se ejecuta a la vez)  Por espacio, en vez de que los clientes tomen turnos, cada uno usa una parte del recurso, por ejemplo normalmente la memoria se divide entre varios programas en ejecución, para que cada uno pueda estar residente al mismo tiempo. En este caso el SO debe resolver problemas de equidad y protección. Otro recurso multiplexado es el disco duro, debe ser administrado por el SO. Ing Maritzol Tenemaza MSc.
  • 12. Historia de los Sistemas Operativos 12  Estrecha relación entre SO y Arquitectura de Computadores.  Primera Generación (1945-1955): tubos de vacío.  Luego de infructuosos esfuerzos de Babagge en la segunda guerra mundial aparecen:  La primera computadora digital en Iowa State University, 300 tubos de vacío bulbos, construida por John Atanasoff y su estudiante Clifford Berry.  Konrad Zuse en Berlin construyó la Z3.  La Colossus construida por un equipo de trabajo en Bletchley Inglaterra.  La Mark1 por Howard Aiken en Harvard.  La ENIAC por Willian Mauchley  Los sistemas Operativos eran desconocidos, también se desconocían los lenguajes de programación, manejo personal y manual. Ing Maritzol Tenemaza MSc.
  • 13. Historia de los Sistemas Operativos 13  Segunda Generación (1955-1965): Transistores y sistemas de procesamiento por Lotes:  Los transistores , le dieron confiabilidad a la computadora. A estas máquinas se las conocía como mainframes, requerían operadores para manejarlas.  Los programas eran fortran o assembler y se usaban tarjetas, se ejecutaba un programa a la vez.  Luego se pasó al procesamiento por lotes para reducir costos. Se enviaban muchos programas a la vez, en tarjetas, se pasaban a cinta, y los resultados se escribían en cinta, luego esta cinta se sacaba y se imprimía fuera de línea.  Los sistemas operativos típicos eran FMS(Fortran monitor system) e IBSYS de la IBM. Ing Maritzol Tenemaza MSc.
  • 14. Historia de los Sistemas Operativos 14  Tercera Generación (1965 a 1980): circuitos integrados y multiprogramación:  Existían dos líneas de computadoras: la científica y las comerciales, esto era muy costoso y se resolvió cuando la IBM creó la serie 360.  La familia 360 era de circuitos integrados, su sistema operativo fue el OS-360, un sistema operativo gigante y lleno de errores.  El sistema Operativo OS/360 introdujo la multiprogramación, la solución fue subir a memoria más de un programa con protección desde hardware.  El OS/360 introdujo el spooling, es decir leer el grupo de tarjetas y llevarlas a disco duro.  Luego se preparó el camino para los tiempos compartidos (time sharing) Ing Maritzol Tenemaza MSc.
  • 15. Historia de los Sistemas Operativos 15  La cuarta Generación : (1980 a la fecha)  Con el desarrollo de los circuitos LSI (integración a gran escala), miles de transistores en un centímetro cuadrado, nacen las computadoras personales.  Primero aparecieron las microcomputadoras, 8088, con el SO CP/M (Control Programa for microcomputers).  Posteriormente apareció el DOS( sistema operativo en Disco), que luego selo unió con un interprete de Bill Gates llamado Basic y apareció el DOS/BASIC, mismo que luego Tim Patterson (quien fue cotratado por Bill Gates)lo rediseñó y cambió su nombre a MS/DOS. 90286, 386,486.  Posteriormente se incluye la GUI, en 1988 apareció la macintosh Lisa, pero muy cara, luego la Apple Macintosh con mucho éxito. Ing Maritzol Tenemaza MSc.
  • 16. Historia de los Sistemas Operativos 16  La cuarta Generación : (1980 a la fecha)  Posteriormente Microsoft inluenciada por la macintosh, creó un sistema basado en GUI llamado windows, el cual se ejecutaba sobre MS-DOS, es decir era más un shell que un sistema operativo.  A partir de 1995 se liberó la versión windows -95.  En 1998 se liberó windows 1998, aún contenia mucho código en lenguaje ensamblador para máquinas de 16 bits.  Luego apareció Window –NT (nueva tecnología). Sistema de 32 bits, este SO también fracazó, no aniquiló a todos los windows ni al MS-DOS. Ing Maritzol Tenemaza MSc.
  • 17. Historia de los Sistemas Operativos 17  La cuarta Generación : (1980 a la fecha)  Windows NT-4 finalmente, empezó a tener éxito, especialmente en redes corporativas.  Windows NT5 cambió de nombre a windows -2000  Luego Windows ME (millennium edition).  En el 2001 aparece Windows –XP.  En el 2007 Windows .Vista.  Luego apareció windows -7  Otro competidor importante es UNIX, enla China y en la India están presentes. Prefiern una interfaz basada en comandos y otra basada en GUI, llamada Gnome o KDE.  Linux es una alternativa popular para estudiantes y empresas.  (actualmente hablamos de procesadores Intel core 5, core 7…)  Los SO en red necesitan un dispositivo controlador de interfaz de red y software de bajo nivel para controlarlo.  Un SO distribuido, está compuesto por varios procesadores, permiten que las aplicaciones se ejecuten en varios procesadores al mismo tiempo, lo que requiere software de planificación para optimizar el paralelismo. Ing Maritzol Tenemaza MSc.
  • 18. Tipos de Sistemas Operativos. 18  Sistemas operativos de Main Frame.  Son computadoras muy grandes que aún se encuentran en centros de datos muy grandes. Por ejemplo un main frame de 1000 discos y millones de gigabytes de datos.  Son servidores web de alto rendimiento, son servidores para sitios de comercio electrónico a gran escala, y servidores para transacciones de negocio a negocio.  Los SO de main frames están orientados hacia el prcesamiento de muchos trabajos a la vez. Ing Maritzol Tenemaza MSc.
  • 19. Tipos de Sistemas Operativos. 19  Sistemas operativos de Main Frame.  La mayor parte requieren muchas operaciones de E/S.  Ofrecen tres tipos de servicios:  Procesamiento por lotes: procesa trabajos de rutina, sin que hayan usuarios interactivos de por medio. Por ejemplo reporte de ventas de una cadena de tiendas.  Procesamiento por transacciones: manejan grandes cantidades de pequeñas peticiones. Por ejemplo reservaciones en una aerolínea, transacciones de un banco.  Tiempo compartido: permiten que miles de usuarios remotos ejecuten trabajos en la computadora al mismo tiempo. Por ejemplo consultar una gran base de datos.  Ejemplo de sistemas operativos de Main frame: OS/390.  Actualmente están siendo reeplazados por sistemas operativos Linux. Ing Maritzol Tenemaza MSc.
  • 20. Tipos de Sistemas Operativos. 20  Sistemas operativos de Servidores.  Se ejecutan en servidores qe sn computadoras personales muy grandes, estaciones de trabajo e incluso main frames.  Dan servicio a varios usuarios a la vez a través de la red, y les permiten compartir los recursos de hardware y software.  Los servidores pueden proporcionar servicios de impresión, archivos o web.  Los proveedores de Internet operan muchos equipos servidores para dar soporte a sus clientes y los sitios web.  Utilizan servidores para almacenar paginas web y hacerse cargo de peticiones entrantes.  Solaris, Linux, Windows server 200x. Ing Maritzol Tenemaza MSc.
  • 21. Tipos de Sistemas Operativos. 21  Sistemas operativos de Multiprocesadores.  Una manera de dar poder a un sistema de computo es conectar varias CPU a un solo sistema.  Se las conoce como computadores en paralelo multicomputadores o multiprocesadores.  Los SO, son a menudo variaciones de los sistemas operativos de servidores con características especiales para comunicación, conectividad y consistencia.  Con la llegada de los chips multinúcleo para las computadoras personales, hasta los sistemas operativos de equipos de escritorio y portátiles convencionales ya tienen multiprocesadores de pequeña escala y cada vez aumenta el número de núcleos.  Windows y Linux se ejecutan en multiprocesadores.  Lo difícil es que los programas usen todo ese poder de cómputo. Ing Maritzol Tenemaza MSc.
  • 22. Tipos de Sistemas Operativos. 22  Sistemas operativos de computadoras personales.  Todos los SO modernos soportan la multiprogramación.  Con frecuencia se inician docenas de programas al arrancar el sistema.  Su trabajo es proporcionar buen soporte para un solo usuario.  Linux, machintosh, windows vista, windows 7. Ing Maritzol Tenemaza MSc.
  • 23. Tipos de Sistemas Operativos. 23  Sistemas operativos de computadoras de bolsillo.  Computadora de bolsillo o PDA (Personal Digital Assistant)  Actualmente los PDA y celulares se han fusionado. Casi todos ellos se basan en procesadores de 32 bits y 64 bits, trabajan en modo protegido y ejecutan un sofisticado SO.  Actualmente es posible manejar mucha funciones de una computadora normal.  Symbian OS, Palm OS ….iphone (machintosh), adriode Ing Maritzol Tenemaza MSc.
  • 24. Tipos de Sistemas Operativos. 24  Sistemas operativos Integrados.  Sistemas opertivos integrados o (embedded), se conocen también como incrustados o embebidos.  Operan en equipos que o no aceptan software instalado por el usuario. Por ejemplo microondas, televisores, MP4, etc…. Ejemplo: QNX, VxWorks Ing Maritzol Tenemaza MSc.
  • 25. Tipos de Sistemas Operativos. 25  Sistemas operativos de nodos sensores.  Son pequeñas computadoras que se comunican entre si, con una estación base en forma inalámbrica. Se usan en edificios en protección de perímetros de edificios, proteger fronteras. Detectar incendios de bosques, medir temperatura, precipitaciones, pronostico del tiempo.  Cada sensor son verdaderas computadoras con memorias, procesadores, alimentadas con baterías y enlazadas a una red que debe ser robusta para tolerar fallos en los nodos individuales.  Realizan actividades en forma periódica activados por un reloj interno.  TinyOS Ing Maritzol Tenemaza MSc.
  • 26. Tipos de Sistemas Operativos. 26  Sistemas operativos en tiempo real.  Se caracterizan por tener el tiempo como un parámetro clave. Ejemplo Sistemas do control de procesos Industriales llamados Sistemas en tiempo real duro, su ejecución depende de tiempos exactos.  Existen los sistemas en tiempo real suave, en los cuales se aceptan que puedan fallar el tiempo determinado, ejemplo teléfonos digitales.  Estos Sistemas no aceptan que el usuario inserte ´su propio software, lo cual facilita la protección. Ing Maritzol Tenemaza MSc.
  • 27. Tipos de Sistemas Operativos. 27  Sistemas operativos de tarjetas inteligentes  Son los sistemas operativos más pequeños. Son tarjetas del tamaño de una tarjeta de crédito con un chip de CPU. Algunas se energizan por contactos con el lector del equipo. A menudo estos son sistemas propietarios.  Algunas tarjetas funcionan en java. Algunas tarjetas ejecutan varios applets de java, lo cual con lleva a la multiprogramación. El SO los maneja. Ing Maritzol Tenemaza MSc.
  • 28. Conceptos de Sistemas Operativos 28  La base para comprender el funcionamiento de un SO, son ciertos conceptos básicos y abstracciones:  Procesos,  Espacio de direcciones,  Archivos,  E/S  Protección  El Shell Ing Maritzol Tenemaza MSc.
  • 29. Conceptos de Sistemas Operativos 29  Procesos:  Un proceso es en esencia un programa en ejecución.  Cada proceso tiene asignado un espacio de direcciones.  El espacio de direcciones contiene el programa ejecutable, los datos y su pila.  También tiene asociados registros (CP, apuntador de pila entre otros), un conjunto de archivos abiertos, alarmas pendientes, listas de procesos relacionados y la información necesaria para ejecutar un programa. Ing Maritzol Tenemaza MSc.
  • 30. Conceptos de Sistemas Operativos 30  Procesos (2):  Se debe pensar en un sistema de multiprogramación: Asuma que usted baja una película, mientras tanto usted navega en la web, además revisa su correo. El SO puede cortar el proceso que baja la película porque ya ha usado suficiente tiempo, para ejecutar otro.  Cuando detiene un proceso debe guardar el estado del proceso, por ejemplo si el proceso tuvo varios archivos abiertos al mismo tiempo debe guardar todos los apuntadores asociados a la posición actual, algunos SO guardan toda la información del proceso más su propio espacio de direcciones los guarda en Tablas de procesos, las cuales son arreglos o listas enlazadas. Ing Maritzol Tenemaza MSc.
  • 31. Conceptos de Sistemas Operativos 31  Procesos (3):  El sistema de administración de procesos son los que se encargan de crear y terminar procesos. Por ejemplo un proceso llamado intérprete de comandos, o shell, lee comandos, si el usuario pide compilar un programa, el shell crea el proceso para ejecutar el compilador, este se ejecuta y cuando termina llama al administrador de procesos para terminarse a si mismo.  En ocasiones el proceso llama a subprocesos, llamados procesos hijos y se forma un árbol de procesos. A menudo se necesita sincronizar actividades entre procesos.  A los procesos y subprocesos el SO les asigna identificadores individuales y de grupo. Ing Maritzol Tenemaza MSc.
  • 32. Conceptos de Sistemas Operativos 32  Espacios de Direcciones:  la memoria principal contiene a todos los programas que se están ejecutando.  Un SO simple, solo hay un programa a la vez en memoria, para ejecutar un segundo se tiene que quitar el primero y colocar el segundo en memoria.  Un SO sofisticado, permite colocar varios programas en memoria. Para evitar que se interfieran entre ellos necesitan mecanismos de protección. Aunque este mecanismo tiene que estar en hardware tiene que estar controlado por el SO. Ing Maritzol Tenemaza MSc.
  • 33. Conceptos de Sistemas Operativos 33  Espacios de Direcciones(2):  En el espacio de direcciones , las direcciones pueden ser de 32 o 64 bits, si un proceso requiere un espacio de direcciones mayor a la capacidad de la memoria principal de la memoria, en este caso se usa una técnica llamada Memoria virtual, en este caso el SO crea la abstracción de memoria suficiente.  Este trabajo de administrar la memoria es parte importante de lo que hace el SO. Ing Maritzol Tenemaza MSc.
  • 34. Conceptos de Sistemas Operativos 34  Archivos:  Otro concepto clave es el sistema de archivos.  Una de las actividades del usuario es crear, borrar, leer y escribir sobre archivos, para lo cual hay que acceder al dispositivo y hacer las actividades.  El SO maneja el concepto de directorio, como una manera de agrupar archivos. La entradas del directorio pueden ser archivos u otros directorios.  las jerarquías de procesos y de archivos están organizadas en forma de árboles.  Se maneja también otro concepto, archivo especial, es ver a los dispositivos como archivos. De esta manera se puede leer o escribir sobre ellos con las mismas funciones del SO que se utilizan para los archivos. Ing Maritzol Tenemaza MSc.
  • 35. Conceptos de Sistemas Operativos 35  Archivos(2):  Existen dos tipos de archivos especiales:  Archivos especiales de bloque: por ejemplo los discos duros, que permiten acceder de manera directa a un determinado bloque.  Archivos especiales de caracter: por ejemplo los modems o impresoras.  Otro concepto asociado a los procesos y archivos son los canales:  Un canal es un tipo de pseudoarchivo que sirve para conectar dos procesos. Por ejemplo si dos procesos necesitan comunicarse se debe establecer un canal por anticipado. Ing Maritzol Tenemaza MSc.
  • 36. Conceptos de Sistemas Operativos 36  Entrada /Salida  Existen muchos dispositivos de E/S, incluyendo teclados, monitores, impresoras, etc. Es Responsabilidad del SO administrar estos dispositivos.  En otra palabras, el SO tiene un subsistema para administrar los dispositivos de E/S, algunos dispositivos tienen su propio driver, para administrar el SO. Ing Maritzol Tenemaza MSc.
  • 37. Conceptos de Sistemas Operativos 37  Protección  Mucha información del usuario debe ser protegida por ser confidencial, (mensajes de correo electrónico, planes de negocio, etc..) es responsabilidad del SO administrar la seguridad de los archivos. Ing Maritzol Tenemaza MSc.
  • 38. Conceptos de Sistemas Operativos 38  EL Shell  EL SO es el código que lleva a cabo el sistema.  Los editores, compiladores, ensambladores, enlazadores e intérpretes de comandos no son parte del SO.  Es la interfaz gráfica del usuario.  Cuando cualquier usuario inicia sesión, se inicia el shell, con interfaz gráfica en el caso de windows (windows explorer), Linux tiene su shell con GUI, Gnome o KDE, y el shell de comandos. Ing Maritzol Tenemaza MSc.
  • 39. Estructura de un Sistema Operativo 39  Significa dar un vistazo al interior del S.O.  Los diseños son :  Sistemas Monolíticos.  Sistemas de Capas.  Microkernels  Sistemas Cliente – servidor  Máquinas Virtuales.  ExoKernels Ing Maritzol Tenemaza MSc.
  • 40. Estructura de un Sistema Operativo 40  Sistemas Monolíticos.  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.  Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor, o kernel. Ing Maritzol Tenemaza MSc.
  • 41. Estructura de un Sistema Operativo 41  Sistemas Monolíticos (2).  Estos sistemas operativos han surgido, normalmente, de sistemas operativos sencillos y pequeños a los que se les ha ido añadiendo un número mayor de funcionalidades. Ejemplo MS-DOS y UNIX.  El problema que plantean este tipo de sistemas radica en lo complicado que es modificar el sistema operativo para añadir nuevas funcionalidades y servicios.  Por cada llamada al sistema hay un procedimiento de servicio que se encarga de la llamada y la ejecuta. Ing Maritzol Tenemaza MSc.
  • 42. Estructura de un Sistema Operativo 42  Sistemas de Capas.  Una mejor opción es organizar el SO como una jerarquía de capas. Por ejemplo (SO The)  Capa Función 5 El operador (proceso operador del sistema) 4 Programas de Usuario 3 Administración de la E/S 2 Comunicación Operador -Proceso 1 Administración de memoria 0 Asignación del procesador y multiprogramación. Ing Maritzol Tenemaza MSc.
  • 43. Estructura de un Sistema Operativo 43  Sistemas de Capas (2).  Una mayor generalización del concepto de capas estuvo presente en el sistema MULTICs, en ves de capas se describió como una serie de anillos concéntricos, donde los interiores tenían más privilegios que los exteriores. Ing Maritzol Tenemaza MSc.
  • 44. Estructura de un Sistema Operativo 44  Microkernels:  En el diseño de capas, tradicionalmente todas las capas iban al Kernel, pero eso no es necesario.  Se debe colocar lo menos posible en el Kernel, debido a que los errores en el Kernel paralizan inmediatamente al sistema. En contraste los procesos del usuario se pueden configurar para que tengan menos jerarquía, por lo que un error de ellos no serçia fatal. Ing Maritzol Tenemaza MSc.
  • 45. Estructura de un Sistema Operativo 45  Microkernels(2):  La idea del microkernel es lograr una alta confiabilidad al dividir el SO en módulos pequeños y bien definidos.  Solo el microkernel se ejecuta en modo Kernel, el resto se ejecuta en modo Usuario.  De esta forma el error de un proceso puede hacer que falle ese componente, pero no puede hacer que falle todo el sistema. Ing Maritzol Tenemaza MSc.
  • 46. Estructura de un Sistema Operativo 46  Modo Cliente Servidor  Aquí se diferencian dos procesos:  Los servidores cada uno de los cuales proporciona ciertos servicios.  Los clientes utilizan estos servicios.  Se conocen como modelo cliente servidor.  La comunicación entre cliente y servidor se lleva a cabo mediante mensajes.  Para obtener un servicio, un proceso cliente construye un mensaje, indicando lo que desea y le envía al servicio apropiado, después el servicio hace el trabajo y envía de vuelta la respuesta.  Los mensajes pueden ejecutarse en el mismo equipo o en equipos remotos. Ing Maritzol Tenemaza MSc.
  • 47. Estructura de un Sistema Operativo 47  Máquinas Virtuales.  Durante 4 décadas IBM ha contado con máquinas virtuales.  Muchos usuarios requieren manejar muchos sistemas operativos para servidores independientes com de correo, FTP, servidores web, una solución es la virtualización.  Otro uso es el hospedaje web. (con una sola máquina se evita el hospedaje compartido)se asigna una MV por usuario.  Otra aplicación es para los usuario finales, que desean ejecutar 2 o más SO al mismo tiempo. Ing Maritzol Tenemaza MSc.
  • 48. Estructura de un Sistema Operativo 48  Máquinas Virtuales (2).  Respecto al software, para poder ejecutar software de máquina virtual su CPU debe ser virtualizable.  Problema: cuando ejecuta una máquina virtual, sus instrucciones se ejecutan en modo usuario privilegiado, es decir pueden modificar el PSW, ejecutar operaciones de E/S, el SO debe hacer que la instrucción se pueda emular en el software. Ing Maritzol Tenemaza MSc.
  • 49. Estructura de un Sistema Operativo 49  Exokernels  En vez de clonar una máquina virtual se hace con máquinas virtuales, lo que se hace a la máquina real es particionarla.  En la capa inferior que se ejecuta en modo Kernel, hay un programa llamado exokernel, su trabajo es asignar recursos a las máquinas virtuales y luego comprobar los intentos de usarlos, así cada máquina virtual piensa que tiene su propio disco, por lo que el monitor de la máquina virtual debe mantener tablas para reasignar las direcciones del disco.  El Exokernel solo necesita llevar el registro para saber a cual máquina virtual se le ha asignado cierto recurso.  El exokernel mantiene las máquinas separadas una de otras. Ing Maritzol Tenemaza MSc.
  • 50. Bibliografía 50  Sistemas Operativos modernos – 3 Edición  Andrew Tanenbaum  Pearson Educación  2009 Ing Maritzol Tenemaza MSc.