SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Enrique Torrescano Montiel



                          Sencillas Razones Para Sentarse Un Buen Día A Iniciar
                                    El Diseño De Un Sistema Operativo

 Los SISTEMAS OPERATIVOS son programas extremadamente grandes
 Los SISTEMAS OPERATIVOS tienen que manejar concurrencia
 Los SISTEMAS OPERATIVOS tienen que enfrentarse a usuarios hostiles en potencia
 Los SISTEMAS OPERATIVOS deben permitir a los usuarios compartir información y recursos con otros usuarios
  seleccionados
 Los SISTEMAS OPERATIVOS deben ser flexibles para poder adaptarse a posibles cambios futuros en el Hardware y en el
  Software
 Los SISTEMAS OPERATIVOS deben ser generales para poder ser usados de muchas formas distintas
 Los SISTEMAS OPERATIVOS deben ser (trans)portables
 Muchos SISTEMAS OPERATIVOS deben ser compatibles con algún SO anterior




AHORA, YA QUE TIENES LA INTENCION DE INICIAR EL DISEÑO DE UN SISTEMA OPERATIVO, UNOS HUMILDES CONSEJOS

Una Pregunta…

¿Por dónde comenzar?

Pues es un tanto difícil de responder, créeme que hacer un sistema operativo, en su diseño, es una tarea ardua, bastante extenuante. Si lo hace una persona
sola, puede llevarle más de un año su diseño (con una inversión diaria de al menos cinco horas), si lo hacen un grupo de personas, aún así es difícil pues el
trabajo grupal ha de centrarse en el producto total llamado sistema operativo.

Por un lado es difícil el diseño, pues el trabajo debe finalizar en un producto que esté hecho para que las personas, en relación con el sistema informático, el
sistema operativo, sus datos y los programas, realicen cosas eficientemente y sucede que en muchas ocasiones nos encontramos con problemática, pues los
sistemas operativos suelen tener fallas.

Uno de los casos importantes en el de los productos Windows. Windows se caracteriza por vender producto no terminados y frecuentemente nos enfrentamos a
detallitos en cuestión a fallas o imprevistos.

Como medida de seguridad Windows implemento las famosas actualizaciones y los service pack, que no son otra cosa que “reparaciones” virtuales a las fallas
en sus sistemas.

Aparte de ello, necesitas esperar a que todo esté listo de parte de Microsoft, pues uno como usuario no puede acceder al código fuente, pues tiene propietario.

Los sistemas operativos de código abierto, si bien no son los más socorridos por los usuarios (pues estamos muy acostumbrados a lo de marca) son muy
eficientes en su aplicación, pues tienen la ventaja del Open Source, con ello sabemos que todo programador, ingeniero, puede acceder al código y puede hacer
los arreglos que considere necesario.

Si bien las compañías, Microsoft, i mac, tienen en su grupo de desarrolladores a gente muy talentosa que está luchando por hacer cada día mejor los sistemas
operativos, lo cierto es que no pueden competir con los miles de desarrolladores del Open Source que día con día están haciendo las mejoras en los sistemas de
código abierto. Mejoras que son puestas a la disposición de los usuarios en modo inmediato.

No pretendo que esto se vea como pesimismo (criticar no es la intención de mi trabajo), es de entenderse que si estudio una carrera afín los sistemas
informáticos, entonces, es cierto que todo lo referente a las computadoras me apasiona y, no tengo nada en contra de Microsoft, u otra compañía, sólo es un
punto de comparación; mismo que se debe hacer.

Y bueno, aun es difícil de iniciar la gestión en el diseño de un sistema operativo, en base a lo estudiado, integro puntos generales que creo deben considerarse
al momento de hacer la gestión:

   Primero: debemos leer algunos documentos y libros para empaparnos sobre Sistemas Operativos. Tanto orientado a diseño como a conceptos, ya que si
    no sabemos lo que es un Sistema Operativo no podemos pretender hacer uno.
   Segundo: Elegir una plataforma para el Sistema Operativo, hay que limitar desde el primer momento, porque no se puede hacer un Sistema Operativo para
    todas las plataformas. O al menos no al principio.
   Tercero: Elegir un lenguaje de alto nivel, y un compilador que genere código del procesador al que tenemos de objetivo, y que proporcione facilidades a
    bajo nivel, porque no nos engañemos, va a haber que programar en ensamblador, y lo mejor es buscar un lenguaje de alto nivel en el que se pueda insertar
    código ensamblador en línea.
   Cuarto: Especializarse en ciertos componentes físicos del ordenador (procesador, registros, buses, puertos, tarjetas, E/S, memoria, etcétera), y su forma de
    programación.
   Quinto: Planificación del Sistema y del arranque, colocación física de los datos, tanto en disco como en memoria, esto no es asunto ligero, ya que nos
    quitará de muchos quebraderos de cabeza. Además hay que tener en cuenta que hay que limitar desde el primer momento, porque para ampliar siempre
    hay tiempo.
 Sexto: Elegir una plataforma de desarrollo, que nos proporcione las mayores facilidades de programación posibles, que tenga o estén disponibles muchas
    herramientas de programación, e incluso proyectos que nos ayuden a depurar el Sistema Operativo.
   Séptimo: Comenzar a programar, recomiendo que se haga primero el arranque del sistema, y el controlador de video, para poder ver las cosas como van, y
    no desanimarnos tan pronto. Cuando hagamos el controlador de video, nos daremos cuenta que necesitaremos varios ficheros más, como la
    entrada/salida, controlador de memoria, e incluso uno de los tipos del sistema. Y cuando hagamos el controlador de memoria, necesitaremos otras cosas y
    así sucesivamente. Hay que hacer casi todas las cosas a la vez, y hasta que arranque el sistema no vamos a tener nada sólido, y vamos a tardar mucho.
   Octavo: Buscar un nombre para el Sistema Operativo, no es que sea importante, pero si ha sido una buena obra, habrá que bautizarle un nombre de pila
    impuesto por nosotros
  

Bueno, existen infinidad de cosas, pero la verdad no soy experto en esto, ya con el tiempo y la experiencia más “experimentada”, éste apartado dará más de qué
hablar. El asunto es que podamos iniciar pensando que nada será fácil y el verte entre miles de líneas de código, éstas no te atrapen y te desanimes. Piensa,
cuando activas una aplicación (ejemplo negritas en Word), detrás de esto existe gente que trabajo arduamente.
EL SISTEMA OPERATIVO…                                             MIRA
VAMOS AL DIAGRAMA DE FLUJO, AHORA CONCEPTUALIZADO




           Sistema Operativo (SO): Software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
           Funciones básicas del Sistema Operativo; Administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de
            almacenamiento.
           Sistemas Operativos más utilizados son , Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.




                                                                                                                                                                                         ARCHIVOS: La parte más visible de un
                                                                                                                                                                                            sistema operativo es el sistema de
                MEMORIA: Tiene estrecha relación con la
                                                                                                                                                                                         archivos. La mayoría de los programas
                computadora y el sistema operativo, ya
                                                                                                                                                                                       leen o escriben cuando menos un archivo
                que todos los programas que se ejecuten
                                                                                                                                                                                          , la comodidad y utilidad del sistema
                por el usuario, serán colocados ahí; se dice
                                                                                                                                                                                       operativo dependen principalmente de la
                llamados a memoria
                                                                                                                                                                                         interfaz, estructura y confiabilidad del
                                                                                                                                                                                                   sistema de archivos



                    RECURSOS DE HARDWARE: Concretamente, los principales recursos
                      de hardware en una PC son la memoria (RAM principalmente, ROM,
                     Caché, etc.), las direcciones ó puertos de I/O (Imput/Output), las IRQ                                                              RECURSOS DE SOFTWARE: Software es todo el conjunto
                                    (Interrupt ReQuest) y los canales de DMA.                                                                             intangible de datos y programas de la computadora.


                                                                              La interacción entre el Software y el Hardware hace operativa la máquina, es decir, el
                                                                                  Software envía instrucciones al Hardware haciendo posible su funcionamiento.

                           DISPOSITIVOS                                                                                                                                                 DISPOSITIVOS ENTRADA: Son
                 DE SALIDA: Son los que permiten                      SEGURIDAD Y PROTECCIÓN: Se prevén los mecanismos de protección para poder                                       aquellos que sirven para introducir
              representar los resultados (salida) del                 implementar políticas de seguridad. Definen qué hay que hacer , qué datos y recursos                              datos a la computadora para su
                proceso de datos. El dispositivo de                                                                                                                                    proceso. Los datos se leen de los
                                                                      deben protegerse de quién. Los mismos mecanismos, si son flexibles, pueden usarse
               salida típico es la pantalla o monitor.                                                                                                                                    dispositivos de entrada y se
                                                                      para implementar distintas políticas.
                 Otros dispositivos de salida son:                                                                                                                                    almacenan en la memoria central o
               impresoras (imprimen resultados en                     Los mecanismos que ofrece el sistema operativo necesariamente deben
                                                                                                                                                                                     interna. Los dispositivos de entrada
               papel), trazadores gráficos (plotters),                complementarse con otros de carácter externo; impedir el acceso físico de personas                                 convierten la información en
                       bocinas, entre otros...                        no autorizadas a los sistemas es un mecanismo de protección cuya implementación                                      señales eléctricas que se
                                                                      no tiene nada que ver con el sistema operativo.                                                                  almacenan en la memoria central.
                                                                      Un aspecto importante de la seguridad es el de impedir la pérdida de información, la                                          / SALIDA
                                                                      cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de
                                                                      hardware o de software, o errores humanos.



                      ABSTRACCION:
                       Define qué hace el sistema operativo, sin                                  ¿QUÉ ADMINISTRA EL SISTEMA OPERATIVO?                                 AMPLITUD DE FUNCIONES                        Y
                           tomar en cuenta el cómo lo hace                                                                                                              ADMINISTRADOR DE ERRORES:
                                                                                                                     SISTEMA                                            es      conveniente     aumentar      las
                                                                                                                  debe considerar                                       posibilidades de multiprocesamiento de
                                                                                                                                                                        los sistemas operativos, para permitir la
                                                                                                                                                                        ejecución de varias aplicaciones sin que
                                                                                                                                                                        el sistema operativo colapse
                                                                                                                                        SUS BASES
                                                                                                                                       PRINCIPALES
                                ESTANDARIZACION: ESTABLECE LA COMUNICACIÓN
                                ENTRE LAS DIFERENTES ARQUITECTURAS



                       APLICACIÓN                                   CONECTIVIDAD DEL                                                                      ORIENTACION A OBJETOS                              SERVICIOS
                    CLIENTE/SERVIDOR                               SISTEMA OPERATIVO
                                                                                                            UN SISTEMA OPERATIVO
 FLEXIBILIDAD:             Aspecto                                                                         CON VISION PROFESIONAL
 importantes en la estructura de
 los sistemas: monolítico que se         Necesaria la conjugación de forma interactiva ya que entre ellos se ofrecerá al usuario la solución global para el desarrollo del sistema. Mediante la
 refiere a que la máquina deberá
 ejecutar un núcleo tradicional          visión profesional del desarrollo del sistema, se puede aprovechar para crear aplicaciones con funciones específicas para los usuarios basándose en
 que proporcione la mayoría de           el rendimiento del sistema y aprovechamiento de cada dispositivo conectado al sistema
 los servicios y micronucleo
 comúnmente              nombrado
                                                  TRANSPARENCIA:
 microkernel,        que       debe
                                                  La transparencia suele determinarse
 proporcionar lo menos posible;
                                                  sobre el diseño de interfaces de llamadas                                                                      DESEMPEÑO: En el sistema
 el grueso de los servicios del
                                                  al sistema, de modo que no sea visible la                                                                     Se genera cuando se ejecuta una
 sistema operativo se debe
                                                  existencia de dos o más procesadores.                          NACE EL (SO)                                   aplicación ésta sea de forma ágil con
 obtener a partir de los servidores
 al nivel de usuario.                                                                                             CON VISION                                    capacidades de poder realizar tares de
                                                                                                                                                                multiprocesos.
                                                                                                                 PROFESIONAL
 PORTABILIDAD: Antes Microsoft era para Microsoft, su software y su hardware, ahora es
 una necesidad básica en sistemas operativos modernos, pues suelen diseñarse a modo que                                             CONFIABILIDAD:
 se puedan utilizar en diferentes arquitecturas de hardware, y deban reconocer sin problema                                         Aspecto de mucha importancia, ya que                         INTERFAZ
                                                                                                                                    dependiendo de la objetividad del             Es el medio por el cual se ingresa a
 la mayoría de dispositivos de E/S.
                                                                                                                                    sistema; o, si falla algún proceso, otro
                                                                                                                                                                                  un sistema operativo. Por lo general
                                                                                                                                    adicional al sistema operativo deberá
 ESCALABILIDAD: Si el software “normal” debe ser escalable, imaginar el sistema operativo,                                          encargarse del trabajo.                       se tiene que, mientras más completa,
 como parte fundamental de una computadora, entonces,                                                                               Importante     el    diseño     y   la         sencilla e integra sea la cara de un
 La nueva era de tecnologías indica que se tiene que ir mejorando en cuestiones básicas de                                          arquitectura, la seguridad, la                  sistema operativo, este podrá ser
 administración de dispositivos de E/S, para que se esté al día con los requerimientos del sistema                                  tolerancia a los fallos del sistema             sencillo de utilizar por el usuario.
 operativo que deberá tener la capacidad de mejorar su procesos y gestión de recursos.
Debemos entender como arquitectura de un sistema a la conformación de éste de acuerdo a sus componentes de software, sus propiedades extremamente visibles y la relación que existe entre
  ellos: esto es un conjunto de conceptos y decisiones de diseño relativos a la estructura del sistema operativo, que deben considerarse antes de la ingeniería, con el fin de asegurar la satisfacción
  del usuario. Y está concebida dentro un nivel de diseño la importancia está en ofrecer la comunicación entre las personas que van a involucradas, la documentación, restricciones de
  implementación, cualidades del sistema.
  Se basa en el diseño de alto nivel, a la estructura del sistema, los componentes del sistema sus relaciones y principios de funcionalidad, componentes, conectores, configuración y sus
  restricciones.

                                La arquitectura del diseño del sistema operativo, debe ser diferencial al diseño e implementación de un sistema operativo, la arquitectura es la base del
                                                             diseño, la implementación es la puesta en operación de un sistema operativo ya desarrollado.



                      VISTAS                                  VISION ARQUITECTONICA                                                                     PATRONES                               PRINCIPIOS DEL
                  ARQUITECTONICAS                                  PORTABILIAD                                                                       ARQUITECTONICOS                              DISEÑO

                                                                                                              LOS CONCEPTOS
                                                                                                               INCLUIDOS EN
                                                                                                         LA ARQUITECTURA DEL (SO)
                                NIVEL DE ABSTRACCION
                                                                                                            Diseño de Alto Nivel                                           SOPORTE EN MEMORIA,
                                     DEL DISEÑO
                                                                                                                                                                            TRAS SU EVOLUCION
                                                                                               EL INGREDIENTE ESENCIAL PARA EL
                                                                                                           DISEÑO



                                                                                                          CARACTERISTICAS
                                                                                                           DIFERENCIALES



                                                                                                              INTERFACES,
                                                                                                               SU DISEÑO

                                                   La administración de los recursos de hardware es uno de los objetivos principales del diseño, por ello, no se puede hace a un lado el
                                                   cómo los usuarios van a interactuar con la computadora y, a través de ésta manejan el sistema y todas sus aplicaciones, pudiendo ser
                                                     este proceso fascinante, pues mucho del trabajo se puede plasmar en la presentación de cómo está planteado el sistema para su
                                                                                                                 manejo


                                                                                                        EL DISEÑO DE INTERFACES
                                                                                                             SUS PRINCIPIOS


                                                                                               INTERACCION HUMANO-COMPUTADORA
                                      Esto se relaciona con la práctica del diseño, construcción e implementación de sistemas de cómputo interactivos basados en el
                                      usuario; actividad principal, el desarrollo de nuevos sistemas de interface para los usuarios, lo que implica nuevas técnicas de
                                      graficación.; ver la interfaz
                                                                                                                                   INTERFACE GRAFICA DE USUARIO                       INTERFACE BASADA EN TEXTO
               INTERFACE DE USUARIO                                      INTERFACE ALTERNATIVA
                                                                                                                              Se beneficia de        las capacidades de           “Arcaicamente”       los desarrollos de
Tiene como principal objetivo la implementación de                 Se utilizan muy poco, sin embargo
                                                                                                                              despliegue gráfico de la computadora,               sistemas orientados en textos o
interfaces que sean eficientes y efectivas al ser                  son de mucha utilidad para pensar en
                                                                                                                              permitiendo hacer más sencillo el manejo            caracteres, nada más         tenían la
utilizadas por el usuario, su principio de su desarrollo           alguna alternativa de seguridad,. Son
                                                                                                                                                                                  capacidad de desplegar códigos ASCII
está en el planteamiento de prototipos de interfaces               las que se basan en el reconocimiento                      del sistema, utiliza iconos y menús tanto
                                                                                                                                                                                  en la pantalla, contrastando esto a los
donde se determinan qué eventos ocurrirán y los                    de voz, la cual soporta un diálogo                         para realizar comandos, como para abrir             orientados a gráficos, en donde la
procesos lógicos a seguir por tales eventos.                       interactivo entre el usuario y una                         archivos, ejecutar alguna acción dentro de          interface de texto consiste en un
                                                                   aplicación de software. En los
                                                                                                                              la aplicación.. Componentes gráficos                conjunto de comandos que el usuario
                                                                   dispositivos de interface neuronal el
                                                                                                                              comunes en este tipo de interfaces: El              debe memorizar y con los cuales se
                                                                   sistema provecha de los usuarios las
                                                                                                                              apuntador, dispositivo apuntador, iconos,           dan instrucciones al sistema para el
                                                                   señales eléctricas generadas por sus
                                                                                                                              menús, ventanas, y escritorio. Cada sistema         manejo de los recursos del sistema.
                                                                   cuerpos para controlar una
                                                                   computadora o dispositivos eléctricos                      operativo tiene su propia arquitectura
                                                                   conectados entre sí.                                       gráfica.


                    SENCILLEZ                                                                                SUS PRINCIPIOS                                                      EFICIENCIA
Como literalmente suena: Evita que los usuarios                                                                                                           Si un usuario llama al sistema y sus aplicaciones, esto
tengan complicaciones al uso del sistema, entonces                                                                                                        debe ser de forma eficiente y transparente, entonces, la
un sistema operativo debe basarse en el principio de                                                    INTEGRIDAD                                        implementación de los mecanismos debe ser de forma
                                                                                  Todo sistema operativo debe permitir utilizar todas y                   eficaz. Para el desarrollador debe ser automático para
la sencillez al uso
                                                                                  cada una de las aplicaciones, el principio de la                        poder tener una eficiencia del sistema.
                                                                                  integridad permitirá un uso integral del mismo.




                                                                                                            EL PARADIGMA DEL
                                                                                                           SISTEMA OPERATIVO

                                                                                       Los paradigmas son de importancia extrema, pues son
                                                                                       la clave en la programación, ya que por estos se
                                                                                       pueden generar planteamientos y bases para poder
                                                                                       desarrollar un software… son:
                                                                                                                                                                                                       ORIENTADO A
       IMPERATIVO                       ESTRUCTURADO                      FUNIONAL                                                               LOGICO               GUIADO POR EVENTOS                 OBJETOS


                                                                                     Se basa en un
                                            Nuestro código se                                                                                                   En este paradigma                Los     sistemas
      Se       basa       en                                                         tipo       de                             Definición de
      sentencias          de                divide en bloques,                       programación                              reglas lógicas                   y su ejecución de                operativos
      cálculos sencillos e                  estructuras, que pueden                  en forma de                               que va a                         programas       se               basados       en,
      iterativas, asociadas                 o no comunicarse entre                   funciones                                                                  determinan por los               poseen clases y
                                            ellas, mismas que
                                                                                                                               resolver
      a una dirección de                                                             matemáticas.                              problemas                        sucesos       que                herencias,    los
      memoria y al final de                 pueden ser controlados                                                                                                                               cuales se pueden
                                            por secuencias,                                                                    planteados por                   ocurran   en     el
      la           iteración                                                                                                                                                                     comunicar entre
                                            selección e interacción.                                                           el sistema.                      sistema
      represente           el                                                                                                                                                                    ellos.
      resultado correcto.                                                                                                                                                                              OBJETOS
LLAMADAS AL
                                                                                                              SISTEMA



En informática, llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
En el proceso de las interfaces, las llamadas al sistema deben cumplir con el menor número de llamadas, es importante contar con un paradigma de datos unificador el cual es muy útil durante el
proceso de diseño.
Las llamadas al sistema no deberán interferir en la potencia del hardware
Si una llamada al sistema es rápida los usuarios siempre podrán construir interfaces más cómodas con base en ella.
Todo sistema operativo para ser eficiente, debería de ofrecer el menor número de llamadas al sistema, por lo cual debe de cumplir con los criterios abajo mencionados




                 LLAMADAS AL                            PARADIGMA UNIFICADOR                                                                     LLAMADAS AL SISTEMA                     PROCEDIMIENTOS
               SISTEMA, SOBRE O                               DE DATOS                                      CRITERIOS A                         EN MODO GENERALIZADO                    DE BIBLIOTECA CON
                 SIN CONEXION                                                                              CONSIDERAR…                                                                       SENCILLEZ



  Las llamadas al sistema comúnmente emplean una instrucción especial de la CPU, esto origina que el procesador transfiera el control a un código privilegiado, previamente
  especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.




                    Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de
                    Proceso del inglés Process Control Block), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de
                    privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es
                    inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.




Generalmente, los sistemas operativos proveen bibliotecas que relacionan los programas de usuario y el resto del sistema operativo, usualmente una biblioteca C como glibc o el
runtime de Microsoft C. Esta biblioteca maneja los detalles de bajo nivel para transferir información al kernel y conmutar a modo supervisor, así como cualquier procesamiento de
datos o tareas que deba ser realizada en modo supervisor. Idealmente, esto reduce la dependencia entre el sistema operativo y la aplicación, e incrementa su portabilidad.




                    En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas son open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas
                    operativos actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen más de 300.




La implementación de las llamadas al sistema requiere un control de transferencia que involucra características especificas de la arquitectura del procesador. Una forma típica de
implementar es usar una interrupción por software. Linux usa esta implementación en la arquitectura x86.
Para los procesadores con arquitectura RISC, ésta es la única forma, pero arquitecturas CISC como x86 soportan otras técnicas adicionales. Un ejemplo es SYSCALL/SYSRE.




                                                                                               IMPLEMENTACION Y DESEMPEÑO DEL
                                                                                                     SISTEMA OPERATIVO


                    En estructuras similares de datos para sistemas operativos, tenemos la posibilidad que uno sea más rápido que otro, pero también, puede ser que el sistema
                    más rápido puede ser menos confiable que el sistema más lento.
                    Tratar de realizar optimizaciones complejas en estructura del sistema operativo puede generar errores, para evitar estos errores es conveniente aplicarlos solo si
                    son necesarias. Existen diferentes técnicas que pueden ser utilizadas para mejorar el desempeño en la estructura del sistema, Son las siguientes


                                                              OBJETOS                                     INTEGRACION DE LOS                               SERVICIOS
                                                            DISTRIBUIDOS                                     COMPONENTES




                                                                                                           ESTRCUTURA DEL
                                                                                                               SISTEMA


Durante la etapa de análisis del sistema operativo es aquí donde se tendrá línea para la etapa del desarrollo y para saber lo que se tiene que hacer para un futuro sistema, cómo hacerlo
y cuáles serán sus límites.
 La arquitectura de un sistema es un paso hacia el desarrollo del mismo, y cuando se analizan y definen los requerimientos del usuario, el sistema quedará con todos los módulos o
subsistemas para tener una estructura completa de los datos que se tendrán que procesar.
Un Sistema Operativo debe ser…


                                                                                                                                   MULTITAREA:
CAPAS Y ANILLOS                                                                                                                                                                               ARQUITECTURA
                                                                                                                          Tiene la capacidad de ejecutar
En este tipo de               Capa 0, se encarga de la administración de multiprogramación básica del                                                                                      MAQUINA VIRTUAL
                               microprocesador                                                                            varias tareas a la vez
estructura      se                                                                                                                                                                         Arquitectura,
contemplan     seis           Capa 1, en esta capa se encarga de gestionar el espacio en la memoria.                                                                                      alternativa       de
capas     para  su                                                                                                                                                                         software, cada vez
formación:                    Capa 2, para esta capa su principal actividad es comunicar entre cada                    ARQUITECTURA                            MICROKERNEL Y              más útil para el
                               proceso y la consola del operador.                                                       CLIENTE SERVIDOR:                        MULTIHILADO               manejo de servidores
                                                                                                                        Distribuye las tareas              Este tipo de arquitectura,      y economizador de
                              Capa 3, en esta capa la gestión se enfoca sobre los dispositivos de E/S.                                                    se basa en obtener la
   ORIENTADO A                                                                                                          entre      diferentes                                              hardware,     en   el
                              Capa 4, esta capa se gestionan los programas de los usuarios.                            llamadas al sistema.               mayor funcionalidad del         sistema emula la
      OBJETOS                                                                                                                                              kernel, se limita para que
                              Capa 5, es donde se alojan los procesos del operador del sistema.                                                                                           existencia        de
Para este tipo de                                                                                                                                          se pueda ejecutar en modo       hardware      y    el
arquitecturas    los       No te espantes, no es que no sepa contar, es que todo inicia desde el cero                                                      privilegiado y que permita      software    convierte
                                                                                                                            MULTIUSUARO
recursos que provee                                                                                                                                        las modificaciones y            las peticiones a la
                                                                                                                            Permite ser ocupado
el sistema operativo                                                                                                                                       extensiones de forma            maquina virtual en
                                                                                                                            por dos o más
es por medio grafico                                                                                                                                       simple y sencilla.              operaciones sobre la
                                     MULTIPROCESO:                                                                          usuarios durante el
u objetos.                           Permite gestionar dos o más procesadores para                                          tiempo de ejecución                                            máquina física.
                                     gestionar la carga entre ellos.                                                        de sus procesos.
ESTRUCTURA ESTATICA O ESTRUCTURAS DINAMICAS

                                          ESTRUCTURA DINAMICA                                                       ESTRUCTURA ESTATICA
                                          Suele distinguirse por ser más flexible y permite                         Aquí, el tipo de estructura, se caracteriza por ser de
                                          adaptarse a todos los recursos disponibles, pero tiene                    más fácil comprensión, su programación es más simple
                                          como desventaja de que requieren de un gestor de                          y su uso es más rápido.
                                          memoria dentro del sistema operativo.




    REENTRABILIDAD                                                                         IMPLEMENTACION ASCENDENTE
                                                                                                  DESCENDENTE
    Técnica se permitirá la ejecución de forma                                                                                                       INDIRECCION
    simultánea de algún fragmento de código, la
    ejecución se puede dar dentro de un                                                                                                              En la técnica deberá existir cierta flexibilidad
    multiprocesador o en un monoprocesador , en                                                                                                      por parte del sistema operativo, ya que si por
    este, pueden darse interrupciones cuando se                                                                                                      algún motivo el usuario da la entrada de algún
                                                                                                                  Para un buen proceso de la
    ejecuten las mismas porciones del código al                                                                                                      proceso por medio del teclado, al pulsar la tecla
                                                                                                                  implementación de un sistema,      puede obtener un valor que no corresponde con
    anterior.                                                         OCULTACION DE HARDWARE                      bien se podría verificar la        lo deseado, para solucionarlo debe existir la
                                                                      Técnica que permite ocultar las             existencia de errores. Cuando      posibilidad de utilizar configuraciones distintas
                                                                                                                  determinada        llamada    al   de teclados.
                                                                      interrupciones, convirtiéndolas
                                                                      en        operaciones         de            sistema falle, puede ser porque
                                                                      sincronización entre hilos. El              los ficheros no existen dentro
                                                                      ocultar la     arquitectura del             del módulo o bien pertenecen a
                                                                      hardware, permite facilitar la              otro, se deben considerar la
                                                                      transportabilidad del sistema               mayor parte de las pruebas al
                                                                      operativo. La fuente del sistema            inicio del procedimiento para
                                                                      operativo deberá ser única y                validar que la ejecución de
                                                                      una compilación condicional.                llamadas al sistema. sean las
                                                                                                                  correctas




                                                                                                         CACHES
                            CACHE DE BLOQUE                                                                                             CACHE DE PAGINACIÓN

                            Esto representa un pequeño segmento de
                            memoria RAM, que se añade algún sitio del                                                                   Este tipo de cache se almacena en memoria
                            disco duro con la finalidad de almacenar los                                                                RAM, esto dentro del disco duro.
                            datos que han sido leídos con anterioridad,
                            teniendo como resultado agilidad al cargar los
                            datos




                                                                                            PRINCIPIOS DE OPTIMIZACION


                          BUENO, YA TENEMOS EL DISEÑO DE NUESTRO SISTEMA OPERATIVO Y NO DEBEMOS OLVIDAR UNA PARTE MUY IMPORTANTE:

                          TODO SISTEMA CUANDO ES RECIEN COMPRADO NOS MARAVILLA CON SUS POTENCIALIDADES EN CUANTO A LA VELOCIDAD CON QUE
                          TRABAJA Y VEMOS QUE LOS LLAMADOS A LAS APLICACIONES CORREN CON SORPRENDENTE VELOCIDAD, EN FIN, TODO NOS MARAVILLA.

                          PERO, CUANDO PASAN LOS MESES Y NOS VEMOS EN LA NECESIDAD DE INTEGAR PROGRAMAS, DE ABRIRLES Y CERRARLES, DE METERSE
                          A LA RED, DE GUARDAR ARCHIVOS, DE OLVIDARNOS DEL MANTENIMIENTO BÁSICO DEL SISTEMA, INICAN LOS PROBLEMA EN CUANTO A LA
                          VELOCIDAD.

                          SOBRA DECIR QUE TODO SISTEMA OPERATIVO DEBE SER DISEÑADO E IMPLEMENTADO BAJO LA METODOLOGIA DEL DESARROLLO PARA
                          QUE EN CUANTO SURJAN INCONVENIENTES EN CUANTO AL USO DEL HARDWARE Y EL SOFTWARE, EL SISTEMA OPERATIVO ESTE EN
                          POSIBILIDADES DE OPTIMIZAR SU USO.

                          TODA EMPRESA DESARROLLADORA DE SISTEMAS OPERATIVOS, DEBE INCLUIR EN SU DISEÑO E IMPLEMENTACIÓN, LAS FASES DE LA
                          OPTIMIZACIÓN, YA QUE DE ELLO DEPENDERÁ QUE EL SISTEMA NO PIERDA TANTA VELOCIDAD.

                          ENTONCES, ÉSTE ES UNO DE LOS PUNTOS POR DEMAS IMPORTANTES PARA EL DISEÑO DE NUESTRO SISTEMA OPERATIVO.




                                                                                                                                                         Espero te
                                                                                                                                                       haya gustado,
                                                                                                                                                           fue un
fuentes empleadas                                                                                                                                        verdadero
                                                                                                                                                           gusto
Unidad 4. Diseño de Sistemas Operativos documento PDF
http://ditec.um.es/deiso/apuntes/tema1.pdf                                                                                                              desarrollarle
http://so.fciencias.unam.mx/presentaciones/ch2.pdf
http://galeon.com/ipnupiicsaif/unidad4.html#1



                                                                                     ATENTAMENTE

                                                                                 Enrique Torrescano Montiel

Más contenido relacionado

La actualidad más candente

Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.William Devia
 
Cuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos ICuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos IKim Sorel Rush
 
concepto para instalacion de un sistema operativo
concepto para instalacion de un sistema operativoconcepto para instalacion de un sistema operativo
concepto para instalacion de un sistema operativoAgustin Valdez
 
Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Karla Mtz. Garcia
 
Presentacion de diapositivas ios i tunes equipos
Presentacion de diapositivas ios i tunes equiposPresentacion de diapositivas ios i tunes equipos
Presentacion de diapositivas ios i tunes equiposniconalle
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquicaAndrew King
 
Sistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOsSistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOsJesus Jimenez
 
Artículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas OperativosArtículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas Operativos1719786046
 
Protección y Seguridad de los Sistemas Operativos
Protección y Seguridad de los Sistemas OperativosProtección y Seguridad de los Sistemas Operativos
Protección y Seguridad de los Sistemas OperativosRichard J. Nuñez
 
Dispositivo de entrada y salida
Dispositivo de entrada y salidaDispositivo de entrada y salida
Dispositivo de entrada y salidaDeisy Johana Rocha
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoriaMiguel Magaña
 
Protección y Seguridad de los sistemas operativos
Protección y Seguridad de los sistemas operativosProtección y Seguridad de los sistemas operativos
Protección y Seguridad de los sistemas operativosAquiles Guzman
 
Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windowseyes
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativocopetran
 
Instalacion de programas
Instalacion de programasInstalacion de programas
Instalacion de programasLuxed Tevic
 

La actualidad más candente (20)

Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.
 
Windows 7
Windows 7Windows 7
Windows 7
 
Como hacer una usb booteable
Como hacer una usb booteableComo hacer una usb booteable
Como hacer una usb booteable
 
Cuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos ICuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos I
 
concepto para instalacion de un sistema operativo
concepto para instalacion de un sistema operativoconcepto para instalacion de un sistema operativo
concepto para instalacion de un sistema operativo
 
Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~Cuadro Comparativo ~Sistemas Operativos~
Cuadro Comparativo ~Sistemas Operativos~
 
Presentacion de diapositivas ios i tunes equipos
Presentacion de diapositivas ios i tunes equiposPresentacion de diapositivas ios i tunes equipos
Presentacion de diapositivas ios i tunes equipos
 
Fallas del software y sus soluciones
Fallas del software y sus solucionesFallas del software y sus soluciones
Fallas del software y sus soluciones
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquica
 
Sistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOsSistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOs
 
Xampp
XamppXampp
Xampp
 
Artículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas OperativosArtículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas Operativos
 
Protección y Seguridad de los Sistemas Operativos
Protección y Seguridad de los Sistemas OperativosProtección y Seguridad de los Sistemas Operativos
Protección y Seguridad de los Sistemas Operativos
 
Dispositivo de entrada y salida
Dispositivo de entrada y salidaDispositivo de entrada y salida
Dispositivo de entrada y salida
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoria
 
Protección y Seguridad de los sistemas operativos
Protección y Seguridad de los sistemas operativosProtección y Seguridad de los sistemas operativos
Protección y Seguridad de los sistemas operativos
 
Kernel De Windows
Kernel De WindowsKernel De Windows
Kernel De Windows
 
Setup/Bios/Cmos
Setup/Bios/CmosSetup/Bios/Cmos
Setup/Bios/Cmos
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Instalacion de programas
Instalacion de programasInstalacion de programas
Instalacion de programas
 

Similar a Diagrama de Flujo de un Sistema Operativo

Introducción a los sistemas operativos segunda parte
Introducción a los sistemas operativos segunda parte Introducción a los sistemas operativos segunda parte
Introducción a los sistemas operativos segunda parte oax123
 
Jacinto
JacintoJacinto
Jacintooax123
 
Introducción a los Sistemas Operativos I PARTE
Introducción a los Sistemas Operativos I PARTEIntroducción a los Sistemas Operativos I PARTE
Introducción a los Sistemas Operativos I PARTEJOSE ALBERTO DIAZ GARCIA
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1Stefany Verdugo
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1Stefany Verdugo
 
Guia de fase 1 herramientas teleinformaticas
Guia de fase 1  herramientas teleinformaticasGuia de fase 1  herramientas teleinformaticas
Guia de fase 1 herramientas teleinformaticasStefany Verdugo
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1Stefany Verdugo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativofresitafer
 
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...alberto compositor
 

Similar a Diagrama de Flujo de un Sistema Operativo (20)

Introducción a los sistemas operativos segunda parte
Introducción a los sistemas operativos segunda parte Introducción a los sistemas operativos segunda parte
Introducción a los sistemas operativos segunda parte
 
Jacinto
JacintoJacinto
Jacinto
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Introducción a los Sistemas Operativos I PARTE
Introducción a los Sistemas Operativos I PARTEIntroducción a los Sistemas Operativos I PARTE
Introducción a los Sistemas Operativos I PARTE
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Sistemas
SistemasSistemas
Sistemas
 
Sistemas
SistemasSistemas
Sistemas
 
Sistemas
SistemasSistemas
Sistemas
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Guia de fase 1 herramientas teleinformaticas
Guia de fase 1  herramientas teleinformaticasGuia de fase 1  herramientas teleinformaticas
Guia de fase 1 herramientas teleinformaticas
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistema ferrr
Sistema ferrrSistema ferrr
Sistema ferrr
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
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 resumen
Sistemas operativos resumenSistemas operativos resumen
Sistemas operativos resumen
 

Más de Ing-D-SW-TorresKhano--ME

TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFT
TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFTTUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFT
TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFTIng-D-SW-TorresKhano--ME
 
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano Montiel
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano MontielTutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano Montiel
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano MontielIng-D-SW-TorresKhano--ME
 
Condiciones de uso y política de privacidad sitio web
Condiciones de uso y política de privacidad sitio webCondiciones de uso y política de privacidad sitio web
Condiciones de uso y política de privacidad sitio webIng-D-SW-TorresKhano--ME
 
Metodos y modelos de desarrollo de software
Metodos y modelos de desarrollo de softwareMetodos y modelos de desarrollo de software
Metodos y modelos de desarrollo de softwareIng-D-SW-TorresKhano--ME
 
Funciones numéricas, de fecha y hora en MySQL
Funciones numéricas,  de fecha y hora en MySQLFunciones numéricas,  de fecha y hora en MySQL
Funciones numéricas, de fecha y hora en MySQLIng-D-SW-TorresKhano--ME
 
Un lenguaje de programación y una interfaz grafica
Un lenguaje de programación y una interfaz graficaUn lenguaje de programación y una interfaz grafica
Un lenguaje de programación y una interfaz graficaIng-D-SW-TorresKhano--ME
 
Programando bajo paradigma poo, segunda parte
Programando bajo paradigma poo, segunda parteProgramando bajo paradigma poo, segunda parte
Programando bajo paradigma poo, segunda parteIng-D-SW-TorresKhano--ME
 
Programando bajo el paradigma orientado a objetos, parte uno
Programando bajo el paradigma orientado a objetos, parte unoProgramando bajo el paradigma orientado a objetos, parte uno
Programando bajo el paradigma orientado a objetos, parte unoIng-D-SW-TorresKhano--ME
 
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)Ing-D-SW-TorresKhano--ME
 
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de Datos
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de DatosVentajas del Por Qué usar MySQL como Sistema Gestor de Bases de Datos
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de DatosIng-D-SW-TorresKhano--ME
 
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado javaEjemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado javaIng-D-SW-TorresKhano--ME
 

Más de Ing-D-SW-TorresKhano--ME (20)

El mensaje de un corazón a otro corazón
El mensaje de un corazón a otro corazónEl mensaje de un corazón a otro corazón
El mensaje de un corazón a otro corazón
 
TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFT
TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFTTUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFT
TUTORIAL EDMODO Y ENLACE A FORMULARIO DE MICROSOFT
 
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano Montiel
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano MontielTutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano Montiel
Tutorial Sobre 260MB (Alojamiento Web) del Ingeniero Enrique Torrescano Montiel
 
Condiciones de uso y política de privacidad sitio web
Condiciones de uso y política de privacidad sitio webCondiciones de uso y política de privacidad sitio web
Condiciones de uso y política de privacidad sitio web
 
Presentación de ETM
Presentación de ETMPresentación de ETM
Presentación de ETM
 
Metodos y modelos de desarrollo de software
Metodos y modelos de desarrollo de softwareMetodos y modelos de desarrollo de software
Metodos y modelos de desarrollo de software
 
Tecnologia informacion e inovacion
Tecnologia informacion e inovacionTecnologia informacion e inovacion
Tecnologia informacion e inovacion
 
Tecnologia informacion e inovación
Tecnologia informacion e inovaciónTecnologia informacion e inovación
Tecnologia informacion e inovación
 
Funciones numéricas, de fecha y hora en MySQL
Funciones numéricas,  de fecha y hora en MySQLFunciones numéricas,  de fecha y hora en MySQL
Funciones numéricas, de fecha y hora en MySQL
 
Areas Funcionales de una Empresa
Areas Funcionales de una EmpresaAreas Funcionales de una Empresa
Areas Funcionales de una Empresa
 
Escuelas de administracion
Escuelas de administracionEscuelas de administracion
Escuelas de administracion
 
Un lenguaje de programación y una interfaz grafica
Un lenguaje de programación y una interfaz graficaUn lenguaje de programación y una interfaz grafica
Un lenguaje de programación y una interfaz grafica
 
Programando bajo paradigma poo, segunda parte
Programando bajo paradigma poo, segunda parteProgramando bajo paradigma poo, segunda parte
Programando bajo paradigma poo, segunda parte
 
Programando bajo el paradigma orientado a objetos, parte uno
Programando bajo el paradigma orientado a objetos, parte unoProgramando bajo el paradigma orientado a objetos, parte uno
Programando bajo el paradigma orientado a objetos, parte uno
 
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
 
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de Datos
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de DatosVentajas del Por Qué usar MySQL como Sistema Gestor de Bases de Datos
Ventajas del Por Qué usar MySQL como Sistema Gestor de Bases de Datos
 
QUÉ ES MySQL
QUÉ ES MySQLQUÉ ES MySQL
QUÉ ES MySQL
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado javaEjemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
 
Teorema de pitagoras
Teorema de pitagorasTeorema de pitagoras
Teorema de pitagoras
 

Último

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Diagrama de Flujo de un Sistema Operativo

  • 1. Enrique Torrescano Montiel Sencillas Razones Para Sentarse Un Buen Día A Iniciar El Diseño De Un Sistema Operativo  Los SISTEMAS OPERATIVOS son programas extremadamente grandes  Los SISTEMAS OPERATIVOS tienen que manejar concurrencia  Los SISTEMAS OPERATIVOS tienen que enfrentarse a usuarios hostiles en potencia  Los SISTEMAS OPERATIVOS deben permitir a los usuarios compartir información y recursos con otros usuarios seleccionados  Los SISTEMAS OPERATIVOS deben ser flexibles para poder adaptarse a posibles cambios futuros en el Hardware y en el Software  Los SISTEMAS OPERATIVOS deben ser generales para poder ser usados de muchas formas distintas  Los SISTEMAS OPERATIVOS deben ser (trans)portables  Muchos SISTEMAS OPERATIVOS deben ser compatibles con algún SO anterior AHORA, YA QUE TIENES LA INTENCION DE INICIAR EL DISEÑO DE UN SISTEMA OPERATIVO, UNOS HUMILDES CONSEJOS Una Pregunta… ¿Por dónde comenzar? Pues es un tanto difícil de responder, créeme que hacer un sistema operativo, en su diseño, es una tarea ardua, bastante extenuante. Si lo hace una persona sola, puede llevarle más de un año su diseño (con una inversión diaria de al menos cinco horas), si lo hacen un grupo de personas, aún así es difícil pues el trabajo grupal ha de centrarse en el producto total llamado sistema operativo. Por un lado es difícil el diseño, pues el trabajo debe finalizar en un producto que esté hecho para que las personas, en relación con el sistema informático, el sistema operativo, sus datos y los programas, realicen cosas eficientemente y sucede que en muchas ocasiones nos encontramos con problemática, pues los sistemas operativos suelen tener fallas. Uno de los casos importantes en el de los productos Windows. Windows se caracteriza por vender producto no terminados y frecuentemente nos enfrentamos a detallitos en cuestión a fallas o imprevistos. Como medida de seguridad Windows implemento las famosas actualizaciones y los service pack, que no son otra cosa que “reparaciones” virtuales a las fallas en sus sistemas. Aparte de ello, necesitas esperar a que todo esté listo de parte de Microsoft, pues uno como usuario no puede acceder al código fuente, pues tiene propietario. Los sistemas operativos de código abierto, si bien no son los más socorridos por los usuarios (pues estamos muy acostumbrados a lo de marca) son muy eficientes en su aplicación, pues tienen la ventaja del Open Source, con ello sabemos que todo programador, ingeniero, puede acceder al código y puede hacer los arreglos que considere necesario. Si bien las compañías, Microsoft, i mac, tienen en su grupo de desarrolladores a gente muy talentosa que está luchando por hacer cada día mejor los sistemas operativos, lo cierto es que no pueden competir con los miles de desarrolladores del Open Source que día con día están haciendo las mejoras en los sistemas de código abierto. Mejoras que son puestas a la disposición de los usuarios en modo inmediato. No pretendo que esto se vea como pesimismo (criticar no es la intención de mi trabajo), es de entenderse que si estudio una carrera afín los sistemas informáticos, entonces, es cierto que todo lo referente a las computadoras me apasiona y, no tengo nada en contra de Microsoft, u otra compañía, sólo es un punto de comparación; mismo que se debe hacer. Y bueno, aun es difícil de iniciar la gestión en el diseño de un sistema operativo, en base a lo estudiado, integro puntos generales que creo deben considerarse al momento de hacer la gestión:  Primero: debemos leer algunos documentos y libros para empaparnos sobre Sistemas Operativos. Tanto orientado a diseño como a conceptos, ya que si no sabemos lo que es un Sistema Operativo no podemos pretender hacer uno.  Segundo: Elegir una plataforma para el Sistema Operativo, hay que limitar desde el primer momento, porque no se puede hacer un Sistema Operativo para todas las plataformas. O al menos no al principio.  Tercero: Elegir un lenguaje de alto nivel, y un compilador que genere código del procesador al que tenemos de objetivo, y que proporcione facilidades a bajo nivel, porque no nos engañemos, va a haber que programar en ensamblador, y lo mejor es buscar un lenguaje de alto nivel en el que se pueda insertar código ensamblador en línea.  Cuarto: Especializarse en ciertos componentes físicos del ordenador (procesador, registros, buses, puertos, tarjetas, E/S, memoria, etcétera), y su forma de programación.  Quinto: Planificación del Sistema y del arranque, colocación física de los datos, tanto en disco como en memoria, esto no es asunto ligero, ya que nos quitará de muchos quebraderos de cabeza. Además hay que tener en cuenta que hay que limitar desde el primer momento, porque para ampliar siempre hay tiempo.
  • 2.  Sexto: Elegir una plataforma de desarrollo, que nos proporcione las mayores facilidades de programación posibles, que tenga o estén disponibles muchas herramientas de programación, e incluso proyectos que nos ayuden a depurar el Sistema Operativo.  Séptimo: Comenzar a programar, recomiendo que se haga primero el arranque del sistema, y el controlador de video, para poder ver las cosas como van, y no desanimarnos tan pronto. Cuando hagamos el controlador de video, nos daremos cuenta que necesitaremos varios ficheros más, como la entrada/salida, controlador de memoria, e incluso uno de los tipos del sistema. Y cuando hagamos el controlador de memoria, necesitaremos otras cosas y así sucesivamente. Hay que hacer casi todas las cosas a la vez, y hasta que arranque el sistema no vamos a tener nada sólido, y vamos a tardar mucho.  Octavo: Buscar un nombre para el Sistema Operativo, no es que sea importante, pero si ha sido una buena obra, habrá que bautizarle un nombre de pila impuesto por nosotros  Bueno, existen infinidad de cosas, pero la verdad no soy experto en esto, ya con el tiempo y la experiencia más “experimentada”, éste apartado dará más de qué hablar. El asunto es que podamos iniciar pensando que nada será fácil y el verte entre miles de líneas de código, éstas no te atrapen y te desanimes. Piensa, cuando activas una aplicación (ejemplo negritas en Word), detrás de esto existe gente que trabajo arduamente.
  • 3. EL SISTEMA OPERATIVO… MIRA VAMOS AL DIAGRAMA DE FLUJO, AHORA CONCEPTUALIZADO  Sistema Operativo (SO): Software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.  Funciones básicas del Sistema Operativo; Administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.  Sistemas Operativos más utilizados son , Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer. ARCHIVOS: La parte más visible de un sistema operativo es el sistema de MEMORIA: Tiene estrecha relación con la archivos. La mayoría de los programas computadora y el sistema operativo, ya leen o escriben cuando menos un archivo que todos los programas que se ejecuten , la comodidad y utilidad del sistema por el usuario, serán colocados ahí; se dice operativo dependen principalmente de la llamados a memoria interfaz, estructura y confiabilidad del sistema de archivos RECURSOS DE HARDWARE: Concretamente, los principales recursos de hardware en una PC son la memoria (RAM principalmente, ROM, Caché, etc.), las direcciones ó puertos de I/O (Imput/Output), las IRQ RECURSOS DE SOFTWARE: Software es todo el conjunto (Interrupt ReQuest) y los canales de DMA. intangible de datos y programas de la computadora. La interacción entre el Software y el Hardware hace operativa la máquina, es decir, el Software envía instrucciones al Hardware haciendo posible su funcionamiento. DISPOSITIVOS DISPOSITIVOS ENTRADA: Son DE SALIDA: Son los que permiten SEGURIDAD Y PROTECCIÓN: Se prevén los mecanismos de protección para poder aquellos que sirven para introducir representar los resultados (salida) del implementar políticas de seguridad. Definen qué hay que hacer , qué datos y recursos datos a la computadora para su proceso de datos. El dispositivo de proceso. Los datos se leen de los deben protegerse de quién. Los mismos mecanismos, si son flexibles, pueden usarse salida típico es la pantalla o monitor. dispositivos de entrada y se para implementar distintas políticas. Otros dispositivos de salida son: almacenan en la memoria central o impresoras (imprimen resultados en Los mecanismos que ofrece el sistema operativo necesariamente deben interna. Los dispositivos de entrada papel), trazadores gráficos (plotters), complementarse con otros de carácter externo; impedir el acceso físico de personas convierten la información en bocinas, entre otros... no autorizadas a los sistemas es un mecanismo de protección cuya implementación señales eléctricas que se no tiene nada que ver con el sistema operativo. almacenan en la memoria central. Un aspecto importante de la seguridad es el de impedir la pérdida de información, la / SALIDA cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. ABSTRACCION: Define qué hace el sistema operativo, sin ¿QUÉ ADMINISTRA EL SISTEMA OPERATIVO? AMPLITUD DE FUNCIONES Y tomar en cuenta el cómo lo hace ADMINISTRADOR DE ERRORES: SISTEMA es conveniente aumentar las debe considerar posibilidades de multiprocesamiento de los sistemas operativos, para permitir la ejecución de varias aplicaciones sin que el sistema operativo colapse SUS BASES PRINCIPALES ESTANDARIZACION: ESTABLECE LA COMUNICACIÓN ENTRE LAS DIFERENTES ARQUITECTURAS APLICACIÓN CONECTIVIDAD DEL ORIENTACION A OBJETOS SERVICIOS CLIENTE/SERVIDOR SISTEMA OPERATIVO UN SISTEMA OPERATIVO FLEXIBILIDAD: Aspecto CON VISION PROFESIONAL importantes en la estructura de los sistemas: monolítico que se Necesaria la conjugación de forma interactiva ya que entre ellos se ofrecerá al usuario la solución global para el desarrollo del sistema. Mediante la refiere a que la máquina deberá ejecutar un núcleo tradicional visión profesional del desarrollo del sistema, se puede aprovechar para crear aplicaciones con funciones específicas para los usuarios basándose en que proporcione la mayoría de el rendimiento del sistema y aprovechamiento de cada dispositivo conectado al sistema los servicios y micronucleo comúnmente nombrado TRANSPARENCIA: microkernel, que debe La transparencia suele determinarse proporcionar lo menos posible; sobre el diseño de interfaces de llamadas DESEMPEÑO: En el sistema el grueso de los servicios del al sistema, de modo que no sea visible la Se genera cuando se ejecuta una sistema operativo se debe existencia de dos o más procesadores. NACE EL (SO) aplicación ésta sea de forma ágil con obtener a partir de los servidores al nivel de usuario. CON VISION capacidades de poder realizar tares de multiprocesos. PROFESIONAL PORTABILIDAD: Antes Microsoft era para Microsoft, su software y su hardware, ahora es una necesidad básica en sistemas operativos modernos, pues suelen diseñarse a modo que CONFIABILIDAD: se puedan utilizar en diferentes arquitecturas de hardware, y deban reconocer sin problema Aspecto de mucha importancia, ya que INTERFAZ dependiendo de la objetividad del Es el medio por el cual se ingresa a la mayoría de dispositivos de E/S. sistema; o, si falla algún proceso, otro un sistema operativo. Por lo general adicional al sistema operativo deberá ESCALABILIDAD: Si el software “normal” debe ser escalable, imaginar el sistema operativo, encargarse del trabajo. se tiene que, mientras más completa, como parte fundamental de una computadora, entonces, Importante el diseño y la sencilla e integra sea la cara de un La nueva era de tecnologías indica que se tiene que ir mejorando en cuestiones básicas de arquitectura, la seguridad, la sistema operativo, este podrá ser administración de dispositivos de E/S, para que se esté al día con los requerimientos del sistema tolerancia a los fallos del sistema sencillo de utilizar por el usuario. operativo que deberá tener la capacidad de mejorar su procesos y gestión de recursos.
  • 4. Debemos entender como arquitectura de un sistema a la conformación de éste de acuerdo a sus componentes de software, sus propiedades extremamente visibles y la relación que existe entre ellos: esto es un conjunto de conceptos y decisiones de diseño relativos a la estructura del sistema operativo, que deben considerarse antes de la ingeniería, con el fin de asegurar la satisfacción del usuario. Y está concebida dentro un nivel de diseño la importancia está en ofrecer la comunicación entre las personas que van a involucradas, la documentación, restricciones de implementación, cualidades del sistema. Se basa en el diseño de alto nivel, a la estructura del sistema, los componentes del sistema sus relaciones y principios de funcionalidad, componentes, conectores, configuración y sus restricciones. La arquitectura del diseño del sistema operativo, debe ser diferencial al diseño e implementación de un sistema operativo, la arquitectura es la base del diseño, la implementación es la puesta en operación de un sistema operativo ya desarrollado. VISTAS VISION ARQUITECTONICA PATRONES PRINCIPIOS DEL ARQUITECTONICAS PORTABILIAD ARQUITECTONICOS DISEÑO LOS CONCEPTOS INCLUIDOS EN LA ARQUITECTURA DEL (SO) NIVEL DE ABSTRACCION Diseño de Alto Nivel SOPORTE EN MEMORIA, DEL DISEÑO TRAS SU EVOLUCION EL INGREDIENTE ESENCIAL PARA EL DISEÑO CARACTERISTICAS DIFERENCIALES INTERFACES, SU DISEÑO La administración de los recursos de hardware es uno de los objetivos principales del diseño, por ello, no se puede hace a un lado el cómo los usuarios van a interactuar con la computadora y, a través de ésta manejan el sistema y todas sus aplicaciones, pudiendo ser este proceso fascinante, pues mucho del trabajo se puede plasmar en la presentación de cómo está planteado el sistema para su manejo EL DISEÑO DE INTERFACES SUS PRINCIPIOS INTERACCION HUMANO-COMPUTADORA Esto se relaciona con la práctica del diseño, construcción e implementación de sistemas de cómputo interactivos basados en el usuario; actividad principal, el desarrollo de nuevos sistemas de interface para los usuarios, lo que implica nuevas técnicas de graficación.; ver la interfaz INTERFACE GRAFICA DE USUARIO INTERFACE BASADA EN TEXTO INTERFACE DE USUARIO INTERFACE ALTERNATIVA Se beneficia de las capacidades de “Arcaicamente” los desarrollos de Tiene como principal objetivo la implementación de Se utilizan muy poco, sin embargo despliegue gráfico de la computadora, sistemas orientados en textos o interfaces que sean eficientes y efectivas al ser son de mucha utilidad para pensar en permitiendo hacer más sencillo el manejo caracteres, nada más tenían la utilizadas por el usuario, su principio de su desarrollo alguna alternativa de seguridad,. Son capacidad de desplegar códigos ASCII está en el planteamiento de prototipos de interfaces las que se basan en el reconocimiento del sistema, utiliza iconos y menús tanto en la pantalla, contrastando esto a los donde se determinan qué eventos ocurrirán y los de voz, la cual soporta un diálogo para realizar comandos, como para abrir orientados a gráficos, en donde la procesos lógicos a seguir por tales eventos. interactivo entre el usuario y una archivos, ejecutar alguna acción dentro de interface de texto consiste en un aplicación de software. En los la aplicación.. Componentes gráficos conjunto de comandos que el usuario dispositivos de interface neuronal el comunes en este tipo de interfaces: El debe memorizar y con los cuales se sistema provecha de los usuarios las apuntador, dispositivo apuntador, iconos, dan instrucciones al sistema para el señales eléctricas generadas por sus menús, ventanas, y escritorio. Cada sistema manejo de los recursos del sistema. cuerpos para controlar una computadora o dispositivos eléctricos operativo tiene su propia arquitectura conectados entre sí. gráfica. SENCILLEZ SUS PRINCIPIOS EFICIENCIA Como literalmente suena: Evita que los usuarios Si un usuario llama al sistema y sus aplicaciones, esto tengan complicaciones al uso del sistema, entonces debe ser de forma eficiente y transparente, entonces, la un sistema operativo debe basarse en el principio de INTEGRIDAD implementación de los mecanismos debe ser de forma Todo sistema operativo debe permitir utilizar todas y eficaz. Para el desarrollador debe ser automático para la sencillez al uso cada una de las aplicaciones, el principio de la poder tener una eficiencia del sistema. integridad permitirá un uso integral del mismo. EL PARADIGMA DEL SISTEMA OPERATIVO Los paradigmas son de importancia extrema, pues son la clave en la programación, ya que por estos se pueden generar planteamientos y bases para poder desarrollar un software… son: ORIENTADO A IMPERATIVO ESTRUCTURADO FUNIONAL LOGICO GUIADO POR EVENTOS OBJETOS Se basa en un Nuestro código se En este paradigma Los sistemas Se basa en tipo de Definición de sentencias de divide en bloques, programación reglas lógicas y su ejecución de operativos cálculos sencillos e estructuras, que pueden en forma de que va a programas se basados en, iterativas, asociadas o no comunicarse entre funciones determinan por los poseen clases y ellas, mismas que resolver a una dirección de matemáticas. problemas sucesos que herencias, los memoria y al final de pueden ser controlados cuales se pueden por secuencias, planteados por ocurran en el la iteración comunicar entre selección e interacción. el sistema. sistema represente el ellos. resultado correcto. OBJETOS
  • 5. LLAMADAS AL SISTEMA En informática, llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo. En el proceso de las interfaces, las llamadas al sistema deben cumplir con el menor número de llamadas, es importante contar con un paradigma de datos unificador el cual es muy útil durante el proceso de diseño. Las llamadas al sistema no deberán interferir en la potencia del hardware Si una llamada al sistema es rápida los usuarios siempre podrán construir interfaces más cómodas con base en ella. Todo sistema operativo para ser eficiente, debería de ofrecer el menor número de llamadas al sistema, por lo cual debe de cumplir con los criterios abajo mencionados LLAMADAS AL PARADIGMA UNIFICADOR LLAMADAS AL SISTEMA PROCEDIMIENTOS SISTEMA, SOBRE O DE DATOS CRITERIOS A EN MODO GENERALIZADO DE BIBLIOTECA CON SIN CONEXION CONSIDERAR… SENCILLEZ Las llamadas al sistema comúnmente emplean una instrucción especial de la CPU, esto origina que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador. Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de Proceso del inglés Process Control Block), para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU. Generalmente, los sistemas operativos proveen bibliotecas que relacionan los programas de usuario y el resto del sistema operativo, usualmente una biblioteca C como glibc o el runtime de Microsoft C. Esta biblioteca maneja los detalles de bajo nivel para transferir información al kernel y conmutar a modo supervisor, así como cualquier procesamiento de datos o tareas que deba ser realizada en modo supervisor. Idealmente, esto reduce la dependencia entre el sistema operativo y la aplicación, e incrementa su portabilidad. En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas son open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas operativos actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen más de 300. La implementación de las llamadas al sistema requiere un control de transferencia que involucra características especificas de la arquitectura del procesador. Una forma típica de implementar es usar una interrupción por software. Linux usa esta implementación en la arquitectura x86. Para los procesadores con arquitectura RISC, ésta es la única forma, pero arquitecturas CISC como x86 soportan otras técnicas adicionales. Un ejemplo es SYSCALL/SYSRE. IMPLEMENTACION Y DESEMPEÑO DEL SISTEMA OPERATIVO En estructuras similares de datos para sistemas operativos, tenemos la posibilidad que uno sea más rápido que otro, pero también, puede ser que el sistema más rápido puede ser menos confiable que el sistema más lento. Tratar de realizar optimizaciones complejas en estructura del sistema operativo puede generar errores, para evitar estos errores es conveniente aplicarlos solo si son necesarias. Existen diferentes técnicas que pueden ser utilizadas para mejorar el desempeño en la estructura del sistema, Son las siguientes OBJETOS INTEGRACION DE LOS SERVICIOS DISTRIBUIDOS COMPONENTES ESTRCUTURA DEL SISTEMA Durante la etapa de análisis del sistema operativo es aquí donde se tendrá línea para la etapa del desarrollo y para saber lo que se tiene que hacer para un futuro sistema, cómo hacerlo y cuáles serán sus límites. La arquitectura de un sistema es un paso hacia el desarrollo del mismo, y cuando se analizan y definen los requerimientos del usuario, el sistema quedará con todos los módulos o subsistemas para tener una estructura completa de los datos que se tendrán que procesar. Un Sistema Operativo debe ser… MULTITAREA: CAPAS Y ANILLOS ARQUITECTURA Tiene la capacidad de ejecutar En este tipo de  Capa 0, se encarga de la administración de multiprogramación básica del MAQUINA VIRTUAL microprocesador varias tareas a la vez estructura se Arquitectura, contemplan seis  Capa 1, en esta capa se encarga de gestionar el espacio en la memoria. alternativa de capas para su software, cada vez formación:  Capa 2, para esta capa su principal actividad es comunicar entre cada ARQUITECTURA MICROKERNEL Y más útil para el proceso y la consola del operador. CLIENTE SERVIDOR: MULTIHILADO manejo de servidores Distribuye las tareas Este tipo de arquitectura, y economizador de  Capa 3, en esta capa la gestión se enfoca sobre los dispositivos de E/S. se basa en obtener la ORIENTADO A entre diferentes hardware, en el  Capa 4, esta capa se gestionan los programas de los usuarios. llamadas al sistema. mayor funcionalidad del sistema emula la OBJETOS kernel, se limita para que  Capa 5, es donde se alojan los procesos del operador del sistema. existencia de Para este tipo de se pueda ejecutar en modo hardware y el arquitecturas los No te espantes, no es que no sepa contar, es que todo inicia desde el cero privilegiado y que permita software convierte MULTIUSUARO recursos que provee las modificaciones y las peticiones a la Permite ser ocupado el sistema operativo extensiones de forma maquina virtual en por dos o más es por medio grafico simple y sencilla. operaciones sobre la MULTIPROCESO: usuarios durante el u objetos. Permite gestionar dos o más procesadores para tiempo de ejecución máquina física. gestionar la carga entre ellos. de sus procesos.
  • 6. ESTRUCTURA ESTATICA O ESTRUCTURAS DINAMICAS ESTRUCTURA DINAMICA ESTRUCTURA ESTATICA Suele distinguirse por ser más flexible y permite Aquí, el tipo de estructura, se caracteriza por ser de adaptarse a todos los recursos disponibles, pero tiene más fácil comprensión, su programación es más simple como desventaja de que requieren de un gestor de y su uso es más rápido. memoria dentro del sistema operativo. REENTRABILIDAD IMPLEMENTACION ASCENDENTE DESCENDENTE Técnica se permitirá la ejecución de forma INDIRECCION simultánea de algún fragmento de código, la ejecución se puede dar dentro de un En la técnica deberá existir cierta flexibilidad multiprocesador o en un monoprocesador , en por parte del sistema operativo, ya que si por este, pueden darse interrupciones cuando se algún motivo el usuario da la entrada de algún Para un buen proceso de la ejecuten las mismas porciones del código al proceso por medio del teclado, al pulsar la tecla implementación de un sistema, puede obtener un valor que no corresponde con anterior. OCULTACION DE HARDWARE bien se podría verificar la lo deseado, para solucionarlo debe existir la Técnica que permite ocultar las existencia de errores. Cuando posibilidad de utilizar configuraciones distintas determinada llamada al de teclados. interrupciones, convirtiéndolas en operaciones de sistema falle, puede ser porque sincronización entre hilos. El los ficheros no existen dentro ocultar la arquitectura del del módulo o bien pertenecen a hardware, permite facilitar la otro, se deben considerar la transportabilidad del sistema mayor parte de las pruebas al operativo. La fuente del sistema inicio del procedimiento para operativo deberá ser única y validar que la ejecución de una compilación condicional. llamadas al sistema. sean las correctas CACHES CACHE DE BLOQUE CACHE DE PAGINACIÓN Esto representa un pequeño segmento de memoria RAM, que se añade algún sitio del Este tipo de cache se almacena en memoria disco duro con la finalidad de almacenar los RAM, esto dentro del disco duro. datos que han sido leídos con anterioridad, teniendo como resultado agilidad al cargar los datos PRINCIPIOS DE OPTIMIZACION BUENO, YA TENEMOS EL DISEÑO DE NUESTRO SISTEMA OPERATIVO Y NO DEBEMOS OLVIDAR UNA PARTE MUY IMPORTANTE: TODO SISTEMA CUANDO ES RECIEN COMPRADO NOS MARAVILLA CON SUS POTENCIALIDADES EN CUANTO A LA VELOCIDAD CON QUE TRABAJA Y VEMOS QUE LOS LLAMADOS A LAS APLICACIONES CORREN CON SORPRENDENTE VELOCIDAD, EN FIN, TODO NOS MARAVILLA. PERO, CUANDO PASAN LOS MESES Y NOS VEMOS EN LA NECESIDAD DE INTEGAR PROGRAMAS, DE ABRIRLES Y CERRARLES, DE METERSE A LA RED, DE GUARDAR ARCHIVOS, DE OLVIDARNOS DEL MANTENIMIENTO BÁSICO DEL SISTEMA, INICAN LOS PROBLEMA EN CUANTO A LA VELOCIDAD. SOBRA DECIR QUE TODO SISTEMA OPERATIVO DEBE SER DISEÑADO E IMPLEMENTADO BAJO LA METODOLOGIA DEL DESARROLLO PARA QUE EN CUANTO SURJAN INCONVENIENTES EN CUANTO AL USO DEL HARDWARE Y EL SOFTWARE, EL SISTEMA OPERATIVO ESTE EN POSIBILIDADES DE OPTIMIZAR SU USO. TODA EMPRESA DESARROLLADORA DE SISTEMAS OPERATIVOS, DEBE INCLUIR EN SU DISEÑO E IMPLEMENTACIÓN, LAS FASES DE LA OPTIMIZACIÓN, YA QUE DE ELLO DEPENDERÁ QUE EL SISTEMA NO PIERDA TANTA VELOCIDAD. ENTONCES, ÉSTE ES UNO DE LOS PUNTOS POR DEMAS IMPORTANTES PARA EL DISEÑO DE NUESTRO SISTEMA OPERATIVO. Espero te haya gustado, fue un fuentes empleadas verdadero gusto Unidad 4. Diseño de Sistemas Operativos documento PDF http://ditec.um.es/deiso/apuntes/tema1.pdf desarrollarle http://so.fciencias.unam.mx/presentaciones/ch2.pdf http://galeon.com/ipnupiicsaif/unidad4.html#1 ATENTAMENTE Enrique Torrescano Montiel