Estructura jerarquica de un sistema operativo

ESTRUCTURA JERARQUICA
DE UN SISTEMA OPERATIVO
YURLEY OCHOA
INTRODUCCION
Analizando la historia de los Sistemas
Operativos notamos que se puede considerar
que éstos surgen desde finales de los 50's con
una arquitectura bastante obsoleta comparada
con la de la actualidad.
Para poder construir un Sistema Operativo se
deben tener en cuenta dos tipos de requisitos,
los cuales son:
Requisitos de usuario: Un sistema fácil de
usar y de aprender, seguro, rápido y adecuado
para el uso que se le necesita dar.
Requisitos del software: Considera el continuo
mantenimiento, forma de operación,
restricciones de uso, eficiencia, tolerancia
frente a los errores y flexibilidad.
A continuación se describen las distintas
estructuras que presentan los actuales
Sistemas Operativos para satisfacer las
necesidades que de ellos se quieren obtener.
Éstas no son de ninguna manera las únicas
estructuras posibles, pero nos darán una idea
de algunos diseños que se han llevado a la
práctica.
Los Sistemas Monolíticos.
(Estructuras Simples)
Según la Real Academia Española Monolítico es algo de
una pieza, sin fisuras o rígido, inflexible.
Los sistemas Monolíticos son la estructura más simple
para un Sistema Operativo. También llamados de
Estructura Modular, fue escrito para proporcionar una
máxima funcionalidad dentro del menor espacio posible.
Se caracteriza porque no tienen una estructura
totalmente clara, con ésto nos referimos a que sus
rutinas y funcionalidades (ej. manejo de drivers,
sistemas de archivos, gestión de memoria, etc.), se
encuentran agrupados en un solo programa (el Sistema
Operativo).
Este sistema está descrito como un
conjunto de procedimientos o rutinas
entrelazadas de tal forma que cada una
tiene la posibilidad de llamar a las otras
rutinas cada vez que así lo requiera.
Sin embargo, cabe destacar las
falencias en este tipo de estructura que
radica principalmente en la poca
confiabilidad otorgada, ya que todo el
sistema, al no tener una estructura
definida, se ejecuta todo en el mismo
nivel del núcleo (kernel) lo que lo hace
altamente vulnerable, por esta razón
cuando falla un programa se produce
un error en todo el sistema.
EJEMPLOS SISTEMAS
MONOLÍTICOS:
• Los ejemplos típicos de este sistema son Unix,
MS-DOS y Mac OS hasta Mac OS 8.6. Otros
ejemplos son:
• Linux
• Syllable
• Núcleos tipo DOS
• DR-DOS
• Familia Microsoft Windows 9x (95, 98, 98SE,
Me)
Los sistemas de Micronúcleo o
Microkernel
El Micronúcleo surge como una nueva forma de
organización para un Sistema Operativo, es un
término algo tedioso de entender ya que puede no
ser relativo a su tamaño, pero si a su diseño.
En este sistema las funciones centrales son
manejadas por el núcleo(kernel) y la interfaz de
usuario es manejada por el entorno(shell). El
Microkernel se encarga de todo el código de un
sistema, y de planificar los hilos(threads) con la
finalidad de tener multitareas.
Algunas ventajas que podemos destacar de los Micronúcleos
son los siguientes:
•Uniformidad de interfaces: disponen de una interfaz única
para las solicitudes de los procesos, el paso de mensajes.
•Portabilidad: reduciendo el núcleo e implementando casi
todo en servidores, para implementarlo en arquitecturas
diferentes, sólo habría que modificar el núcleo haciendo más
simple su portabilidad.
•Fiabilidad: es más fácil corregir fallas en un sistema
pequeño ya que se pueden realizar pruebas más rigurosas
que en un sistema mucho más grande.
•
• ALGUNOS EJEMPLOS DE SISTEMAS
MICRONÚCLEO SON:
• AIX
• BeOS
• Mach
• MorphOS
• QNX
• Minix
• Hurd
• L4
CARACTERISTICAS
Sistema Monolítico Micronúcleo o Microkernel
Sin estructura definida
Todo sistema operativo se ejecuta en modo
supervisor
Todo el núcleo se ejecuta en modo supervisor
Menos robusto Más robusto
El sistema operativo es interrumpible El sistema operativo es interrumpible
Mayor rendimiento, eficiencia
Menor rendimiento debido a la sobrecarga de
comunicaciones
Difícil de modificar en tiempo de ejecución Fácil de modificar en tiempo de ejecución
Menos adaptable Más adaptable
Realiza todas las funciones con un único
programa
El sistema es escrito como una colección de
procedimientos y no existe "ocultación de
información" ya que cualquier procedimiento
puede ser invocado por otros
Un error o una vulnerabilidad de seguridad
puede expandirse y afectar a todo el núcleo
Cualquier cambio a realizar requiere el reinicio
del sistema para que este se haga efectivo
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativo
Sistema Cliente-Servidor
• Dentro de esta estructura también podríamos incluir el Sistema
Cliente-Servidor ya que presenta una ligera variación en la idea
del Microkernel la cual es que este sistema hace la diferencia entre
dos clases de procesos: los servidores, cada uno de los cuales
proporciona cierto servicio, y los clientes, que utilizan estos
servicios. A menudo la capa inferior es un microkernel, pero eso no
es requerido. La esencia es la presencia de procesos cliente y
procesos servidor.
• En los sistemas operativos modernos, los sistemas cliente-servidor
nacen con la finalidad de minimizar el núcleo (kernel),
trasladando el código de todos sus servicios a las capas superiores;
y el núcleo sólo deberá controlar la comunicación, que se realiza
mediante mensajes, entre clientes y servidores o servidores y
hardware.
• El objetivo es desarrollar la mayoría de las funciones del sistema
operativos como procesos de usuario. Un proceso de usuario,
llamado en este caso proceso cliente, envía una solicitud a un
proceso servidor, que realiza el trabajo y devuelve la respuesta.
• El sistema operativo se divide en partes donde cada una controla
una faceta del sistema, entre ellos servicios a archivos, servicios a
procesos, servicios a terminales, o servicios a la memoria, donde
cada una es pequeña y controlable, así al ejecutar los procesos en
modo usuario y no en modo núcleo si hay algún error en algún
servidor, este afectará sólo a dicha parte y no a toda la máquina,
ya que no se tiene acceso al hardware.
•
Estructura jerarquica de un sistema operativo
• un caso sencillo de cliente, en este caso, es un
programa de aplicación que llama al servidor
para acceder a un archivo, otro ejemplo es
cuando el programa de aplicación realiza
una operación de entrada o salida a un
dispositivo concreto. En cada uno de estos
casos el cliente a su vez puede ser servidor de
otros servicios. Esta idea se refleja a
continuación:
Estructura jerarquica de un sistema operativo
Los sistemas por capas o jerárquica
(Estructura por niveles)
• En esta estructura el Sistema Operativo queda
definido modularmente por divisiones en capas o
niveles, cuya organización está dada como una
jerarquía de capas donde cada una de ellas ofrece
una interfaz clara y bien definida, la capa superior
solamente utiliza los servicios y funciones que
ofrece la capa inferior, es decir, la capa n sólo se
comunica para obtener lo requerido con la
capa n-1 (Ver imagen derecha), donde la capa
inferior es la más privilegiada. El encargado de
que solamente haya comunicación entre capas
adyacentes es el procesador.
• La capa más interna o inferior (capa 0)
corresponde al Hardware, mientras que la
más alta o externa corresponde a la interfaz
de usuario.
• El primer sistema construido de esta manera
fue el sistema THE (Technische Hogeschool
Eindhoven), desarrollado en Holanda por E.
W. Dijkstra (1968) y sus estudiantes.
• El sistema original consta de 6 capas:
• Capa 5: Se encuentra la interfaz de
usuario.
• Capa 4: Aloja los programas de usuario.
• Capa 3: Se controlan los dispositivos
E/S (entrada y salida).
• Capa 2: Se administra la comunicación
inter-proceso y la consola del operador.
• Capa 1: Administración de memoria y
discos.
• Capa 0: Correspondiente al Hardware,
realizando asignación del procesador,
también alterna entre procesos cuando
ocurren interrupciones o se han expirado
y proporciona multiprogramación básica
de la CPU.
•
Como ventajas de este sistema podemos
mencionar que al tener una organización
modularizada, otorga facilidad en construcción y
depuración del sistema. La facilidad de
construcción se respalda porque al existir esta
división en módulos (capas) se produce una
abstracción del problema, simplificándose
solamente a la función que realiza el módulo
correspondiente a una capa N. También al lograr
esta abstracción, no es necesario saber detalles de
implementación de las capas inferiores, sólo se
utilizan. La facilidad de depuración, quiere decir,
que sea más simple la tarea de encontrar errores
en el código y corregirlos. Otro aspecto positivo
relacionado con la modularidad existente, cuando
ocurre un error o falla en una de las capas, no se
compromete a todo el sistema, sólo a la capa
relacionada con la falla.
•
Con respecto a las desventajas de esta organización, al
realizar la construcción de las capas, la problemática es la
forma de realizar la división y definición de las
funcionalidades, ya que se tiene considerar que las capas
superiores solamente pueden utilizar los servicios de la
capa que se encuentra inferior, por lo tanto, se debe tener
mucho cuidado en la planificación del sistema para que
exista un óptimo funcionamiento. Otra desventaja que
podemos mencionar es el gasto de tiempo que se genera en
ir de una capa a otra, cada capa implica un gasto extra.
EJEMPLOS DE SISTEMAS POR CAPAS:
THE (Technische Hogeschool Eindhoven)
Venus
MULTICS (Multiplexed Information and Computing
Service)
Sistemas por módulos
• La mayoría de los sistemas operativos modernos implementan
este enfoque. Lo que caracteriza este tipo de estructura es que el
kernel se compone por módulos, y cada uno de estos módulos se
encuentra separado de forma independiente, tal que, si alguno
falla no afecta a los otros, ni al núcleo, por ejemplo, si el módulo de
software que se encarga de controlar el proceso de Telnet en una
unidad se bloquea o es atacado, sólo este proceso se verá afectado.
El resto de las operaciones siguen sus funciones habituales. Los
módulos se pueden cargar dinámicamente en el núcleo cuando se
necesiten, ya sea, en tiempo de ejecución o durante el arranque del
sistema. El kernel dispone de los componentes fundamentales y
se conectan directamente con servicios adicionales. Además otros
componentes pueden cargarse dinámicamente al núcleo. Este
enfoque modular utiliza la programación orientada a objetos.
Tabla comparativa sobre algunas
funcionalidades entre Sistemas
Monolítico y Sistemas por Módulos:
Funcionalidad Sistema Monolítico Sistema Modular
Arquitectura
Cerrada, es decir, inmodificable a los programadores ajenos a la compañía
propietariadel código fuente.
Abierta, es decir, que todos los componentes del sistema del computador sean
compatibles en cualquier ambiente sin importar la compañía que lo haya producido.
Dependencia de Hardware Absolutamente dependiente. No existe dependencia.
Escalabilidad No existe.
Las funciones nuevas requieren un reiniciode la unidad, son instaladas como un
nuevo SO.
Vulnerabilidadfrente a los ataques Muy Vulnerable Existe una vulnerabilidadcontrolada.
Ejecución de Scripts
Ejecución limitada, difícilrealizarejecuciones de instrucciones externas, ya que el
sistema carga al inicio las funciones a realizar.
Control total de ejecución de comandos externos.
Extensibilidad No es posible extender las capacidades del SO sin crear un nuevo código.
Es posible extender sus capacidades hacia operaciones con agentes externos
mediante API’s en un modelo cliente-servidor.
Niveles de Disponibilidad
Muy bajos, ya que si se produce un error local, puede ocasionar un sistema
inestable, detenido o un error en todo el sistema.
Altos. Al existir un error de programación, este sucede localmenteen un
componente del sistema, el cual puede ser fácilmentereparado, sin afectar al resto.
Soporte para Redes Convergentes
Este tipo de sistemas no es adecuado para realizarfunciones en línea, como por
ejemplo sincronizaciónde voz, datos y videos.
Óptimosoporte, a causa de su alta disponibilidad.
Cambios dinámicos en el software Al estar todo integrado conjuntamente, no es posible.
Posibles, ya que cada módulo independientementepuede ser dado de alta o baja de
manera independiente.
• EJEMPLOS SISTEMA POR MÓDULOS:
• Unix modernos
• Solaris
• Linux
• Mac OSX
Esquema Módulo
Solaris
Núcleo Unix
Moderno
Estructura jerarquica de un sistema operativo
1 sur 28

Recommandé

Arquitectura y caracteristicas de los sistemas operativos windows par
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
12.6K vues15 diapositives
GESTION DE PROCESOS Sistemas Operativos par
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
13.4K vues11 diapositives
Estructura jerarquica par
Estructura jerarquicaEstructura jerarquica
Estructura jerarquicaAndrew King
5.2K vues4 diapositives
Sistemas operativos por estructura par
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructuraProf. Javier Troya
34.2K vues21 diapositives
Entrada/Salida de Sistemas Operativos par
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosKarina Rivra
23.6K vues30 diapositives
Ingenieria de software par
Ingenieria de softwareIngenieria de software
Ingenieria de softwareFrancisco Gómez
5.8K vues8 diapositives

Contenu connexe

Tendances

Gestion de memoria par
Gestion de memoriaGestion de memoria
Gestion de memoriaALASBLANKS
2.9K vues43 diapositives
Sistema operativo Symbian par
Sistema operativo SymbianSistema operativo Symbian
Sistema operativo SymbianJuan Anaya
10K vues24 diapositives
Modelos de arquitecturas de computadoras par
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
14K vues62 diapositives
Estructura de un sistema operativo par
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativoIan Berzeker Tovar
4.1K vues11 diapositives
Tecnicas de Administracion de Memoria par
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaAshley Stronghold Witwicky
10.5K vues43 diapositives
Sistemas operativos distribuidos par
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosChristian19121
824 vues22 diapositives

Tendances(20)

Gestion de memoria par ALASBLANKS
Gestion de memoriaGestion de memoria
Gestion de memoria
ALASBLANKS2.9K vues
Sistema operativo Symbian par Juan Anaya
Sistema operativo SymbianSistema operativo Symbian
Sistema operativo Symbian
Juan Anaya10K vues
Modelos de arquitecturas de computadoras par YESENIA CETINA
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
YESENIA CETINA14K vues
Cuadro comparativo sobre los tipos de sistemas operativos. par jorm1297
Cuadro comparativo sobre los tipos de sistemas operativos.Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.
jorm129720K vues
diseño lógico y diseño físico par errroman
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
errroman112.8K vues
Ventajas y desventajas de visual studio par ruthmayhuavale
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studio
ruthmayhuavale5.2K vues
Línea del tiempo de sistemas operativos par Jose Luis Chacon
Línea del tiempo de sistemas operativosLínea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativos
Jose Luis Chacon113.5K vues
Procesos e Hilos en los Sistemas Operativos par Emmanuel Fortuna
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
Emmanuel Fortuna8.7K vues
Diferencias entre arquitectura y organización par Angel Aguilar
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
Angel Aguilar21.7K vues
Arquitectura de los sistemas operativos par Xavier Jose
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
Xavier Jose23.4K vues

En vedette

Estructura modular par
Estructura modularEstructura modular
Estructura modularjuan_180
8.2K vues6 diapositives
Estructura jerárquica par
Estructura jerárquica Estructura jerárquica
Estructura jerárquica leyner prada
19.3K vues15 diapositives
Sistemas operativos distribuidos par
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidossergiooney
32.2K vues7 diapositives
Sistemas operativos centralizados par
Sistemas operativos centralizadosSistemas operativos centralizados
Sistemas operativos centralizadosJorge Jonathan Ramirez
22.2K vues12 diapositives
Estructura de los sistemas operativos par
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativosANDREA
64K vues17 diapositives
Sistemas jerárquicos par
Sistemas jerárquicosSistemas jerárquicos
Sistemas jerárquicosOmar Sanchez
6.4K vues29 diapositives

En vedette(20)

Estructura modular par juan_180
Estructura modularEstructura modular
Estructura modular
juan_1808.2K vues
Estructura jerárquica par leyner prada
Estructura jerárquica Estructura jerárquica
Estructura jerárquica
leyner prada19.3K vues
Sistemas operativos distribuidos par sergiooney
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
sergiooney32.2K vues
Estructura de los sistemas operativos par ANDREA
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
ANDREA64K vues
Sistemas Operativos de Cliente y Servidor par Maria Garcia
Sistemas Operativos de Cliente y ServidorSistemas Operativos de Cliente y Servidor
Sistemas Operativos de Cliente y Servidor
Maria Garcia50.8K vues
Mapa conceptual sobre par Juan Anaya
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
Juan Anaya5.6K vues
Sistemas Distribuidos. Diseño e Implementacion par Jorge Guerra
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
Jorge Guerra38.2K vues
Andres infante par andresinf
Andres infanteAndres infante
Andres infante
andresinf710 vues
Sistemas Operativos par guestea15e3
Sistemas OperativosSistemas Operativos
Sistemas Operativos
guestea15e33.2K vues
Sistemas operativos distribuidos par Victor Reyes
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
Victor Reyes5.3K vues
Fundamentos de Sistemas Operativos con Énfasis en GNU/Linux par Wilfredo Pachon
Fundamentos de Sistemas Operativos con Énfasis en GNU/LinuxFundamentos de Sistemas Operativos con Énfasis en GNU/Linux
Fundamentos de Sistemas Operativos con Énfasis en GNU/Linux
Wilfredo Pachon2.1K vues
Presentacion Sistemas Operativos par Alexa Cayambe
Presentacion Sistemas OperativosPresentacion Sistemas Operativos
Presentacion Sistemas Operativos
Alexa Cayambe954 vues

Similaire à Estructura jerarquica de un sistema operativo

estructuras de los sistemas operativos par
estructuras de los sistemas operativosestructuras de los sistemas operativos
estructuras de los sistemas operativosIsabel Guadalupe Gonzalez Cruz
408 vues14 diapositives
estructura de sistemas operativos par
estructura de sistemas operativosestructura de sistemas operativos
estructura de sistemas operativosernesto perez
5.2K vues35 diapositives
Estructura de los Sistemas Operativos par
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas OperativosJennifer Amador Martinez
234 vues8 diapositives
2.estructuras de sistemas operativos (1) par
2.estructuras de sistemas operativos (1)2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)ninguna
856 vues9 diapositives
verdezoto par
verdezotoverdezoto
verdezotopatricia verdezoto
89 vues6 diapositives
verdezoto par
verdezotoverdezoto
verdezotopatricia verdezoto
187 vues6 diapositives

Similaire à Estructura jerarquica de un sistema operativo(20)

estructura de sistemas operativos par ernesto perez
estructura de sistemas operativosestructura de sistemas operativos
estructura de sistemas operativos
ernesto perez5.2K vues
2.estructuras de sistemas operativos (1) par ninguna
2.estructuras de sistemas operativos (1)2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)
ninguna856 vues
TIPOS DE SOFTWARE par Jenni2011
TIPOS DE SOFTWARETIPOS DE SOFTWARE
TIPOS DE SOFTWARE
Jenni2011894 vues
Sistemas operativos distribuidos luis lozano ci 22840519 par lozanolc
Sistemas operativos distribuidos   luis lozano ci 22840519Sistemas operativos distribuidos   luis lozano ci 22840519
Sistemas operativos distribuidos luis lozano ci 22840519
lozanolc162 vues
Sistemas operativos distribuidos par lozanolc
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
lozanolc85 vues
TRABAJO SISTEMAS OPERATIVOS par crisstthi
TRABAJO SISTEMAS OPERATIVOSTRABAJO SISTEMAS OPERATIVOS
TRABAJO SISTEMAS OPERATIVOS
crisstthi460 vues
Estructura de un sistema operativo par Alberto Antonio
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
Alberto Antonio1.7K vues
Sistemas operativos distribuidos par Jperez98
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
Jperez9846 vues
Sistemas operativos distribuidos par carlosmax10
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
carlosmax101.8K vues

Dernier

Aprendiendo a leer :Ma me mi mo mu..pdf par
Aprendiendo a leer :Ma me mi mo mu..pdfAprendiendo a leer :Ma me mi mo mu..pdf
Aprendiendo a leer :Ma me mi mo mu..pdfcamiloandres593920
58 vues14 diapositives
Intranet y extranet cuadro comparativo.pdf par
Intranet y extranet cuadro comparativo.pdfIntranet y extranet cuadro comparativo.pdf
Intranet y extranet cuadro comparativo.pdfUPTVT
31 vues5 diapositives
Mujeres privadas de libertad en Bolivia 2022 par
Mujeres privadas de libertad en Bolivia 2022Mujeres privadas de libertad en Bolivia 2022
Mujeres privadas de libertad en Bolivia 2022LuisFernando672460
122 vues170 diapositives
textos y visiones 07 dgo par
textos y visiones 07 dgotextos y visiones 07 dgo
textos y visiones 07 dgoExamenes Preparatoria Abierta
97 vues3 diapositives
Diploma.pdf par
Diploma.pdfDiploma.pdf
Diploma.pdfValdezsalvadorMayleM
32 vues1 diapositive
ESCUELA SABÁTICA MISIONERA | By Pr. Heyssen Cordero par
ESCUELA SABÁTICA MISIONERA | By Pr. Heyssen CorderoESCUELA SABÁTICA MISIONERA | By Pr. Heyssen Cordero
ESCUELA SABÁTICA MISIONERA | By Pr. Heyssen CorderoHeyssen J. Cordero Maraví
80 vues61 diapositives

Dernier(20)

Intranet y extranet cuadro comparativo.pdf par UPTVT
Intranet y extranet cuadro comparativo.pdfIntranet y extranet cuadro comparativo.pdf
Intranet y extranet cuadro comparativo.pdf
UPTVT31 vues
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas... par IvanLechuga
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...
Meta 1.2. Conocer los enfoques educativos con los que se instruido a personas...
IvanLechuga76 vues
Concepto de determinación de necesidades.pdf par LauraJuarez87
Concepto de determinación de necesidades.pdfConcepto de determinación de necesidades.pdf
Concepto de determinación de necesidades.pdf
LauraJuarez8775 vues

Estructura jerarquica de un sistema operativo

  • 1. ESTRUCTURA JERARQUICA DE UN SISTEMA OPERATIVO YURLEY OCHOA
  • 2. INTRODUCCION Analizando la historia de los Sistemas Operativos notamos que se puede considerar que éstos surgen desde finales de los 50's con una arquitectura bastante obsoleta comparada con la de la actualidad. Para poder construir un Sistema Operativo se deben tener en cuenta dos tipos de requisitos, los cuales son:
  • 3. Requisitos de usuario: Un sistema fácil de usar y de aprender, seguro, rápido y adecuado para el uso que se le necesita dar. Requisitos del software: Considera el continuo mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
  • 4. A continuación se describen las distintas estructuras que presentan los actuales Sistemas Operativos para satisfacer las necesidades que de ellos se quieren obtener. Éstas no son de ninguna manera las únicas estructuras posibles, pero nos darán una idea de algunos diseños que se han llevado a la práctica.
  • 5. Los Sistemas Monolíticos. (Estructuras Simples) Según la Real Academia Española Monolítico es algo de una pieza, sin fisuras o rígido, inflexible. Los sistemas Monolíticos son la estructura más simple para un Sistema Operativo. También llamados de Estructura Modular, fue escrito para proporcionar una máxima funcionalidad dentro del menor espacio posible. Se caracteriza porque no tienen una estructura totalmente clara, con ésto nos referimos a que sus rutinas y funcionalidades (ej. manejo de drivers, sistemas de archivos, gestión de memoria, etc.), se encuentran agrupados en un solo programa (el Sistema Operativo).
  • 6. Este sistema está descrito como un conjunto de procedimientos o rutinas entrelazadas de tal forma que cada una tiene la posibilidad de llamar a las otras rutinas cada vez que así lo requiera. Sin embargo, cabe destacar las falencias en este tipo de estructura que radica principalmente en la poca confiabilidad otorgada, ya que todo el sistema, al no tener una estructura definida, se ejecuta todo en el mismo nivel del núcleo (kernel) lo que lo hace altamente vulnerable, por esta razón cuando falla un programa se produce un error en todo el sistema.
  • 7. EJEMPLOS SISTEMAS MONOLÍTICOS: • Los ejemplos típicos de este sistema son Unix, MS-DOS y Mac OS hasta Mac OS 8.6. Otros ejemplos son: • Linux • Syllable • Núcleos tipo DOS • DR-DOS • Familia Microsoft Windows 9x (95, 98, 98SE, Me)
  • 8. Los sistemas de Micronúcleo o Microkernel El Micronúcleo surge como una nueva forma de organización para un Sistema Operativo, es un término algo tedioso de entender ya que puede no ser relativo a su tamaño, pero si a su diseño. En este sistema las funciones centrales son manejadas por el núcleo(kernel) y la interfaz de usuario es manejada por el entorno(shell). El Microkernel se encarga de todo el código de un sistema, y de planificar los hilos(threads) con la finalidad de tener multitareas.
  • 9. Algunas ventajas que podemos destacar de los Micronúcleos son los siguientes: •Uniformidad de interfaces: disponen de una interfaz única para las solicitudes de los procesos, el paso de mensajes. •Portabilidad: reduciendo el núcleo e implementando casi todo en servidores, para implementarlo en arquitecturas diferentes, sólo habría que modificar el núcleo haciendo más simple su portabilidad. •Fiabilidad: es más fácil corregir fallas en un sistema pequeño ya que se pueden realizar pruebas más rigurosas que en un sistema mucho más grande. •
  • 10. • ALGUNOS EJEMPLOS DE SISTEMAS MICRONÚCLEO SON: • AIX • BeOS • Mach • MorphOS • QNX • Minix • Hurd • L4
  • 11. CARACTERISTICAS Sistema Monolítico Micronúcleo o Microkernel Sin estructura definida Todo sistema operativo se ejecuta en modo supervisor Todo el núcleo se ejecuta en modo supervisor Menos robusto Más robusto El sistema operativo es interrumpible El sistema operativo es interrumpible Mayor rendimiento, eficiencia Menor rendimiento debido a la sobrecarga de comunicaciones Difícil de modificar en tiempo de ejecución Fácil de modificar en tiempo de ejecución Menos adaptable Más adaptable Realiza todas las funciones con un único programa El sistema es escrito como una colección de procedimientos y no existe "ocultación de información" ya que cualquier procedimiento puede ser invocado por otros Un error o una vulnerabilidad de seguridad puede expandirse y afectar a todo el núcleo Cualquier cambio a realizar requiere el reinicio del sistema para que este se haga efectivo
  • 14. Sistema Cliente-Servidor • Dentro de esta estructura también podríamos incluir el Sistema Cliente-Servidor ya que presenta una ligera variación en la idea del Microkernel la cual es que este sistema hace la diferencia entre dos clases de procesos: los servidores, cada uno de los cuales proporciona cierto servicio, y los clientes, que utilizan estos servicios. A menudo la capa inferior es un microkernel, pero eso no es requerido. La esencia es la presencia de procesos cliente y procesos servidor. • En los sistemas operativos modernos, los sistemas cliente-servidor nacen con la finalidad de minimizar el núcleo (kernel), trasladando el código de todos sus servicios a las capas superiores; y el núcleo sólo deberá controlar la comunicación, que se realiza mediante mensajes, entre clientes y servidores o servidores y hardware.
  • 15. • El objetivo es desarrollar la mayoría de las funciones del sistema operativos como procesos de usuario. Un proceso de usuario, llamado en este caso proceso cliente, envía una solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta. • El sistema operativo se divide en partes donde cada una controla una faceta del sistema, entre ellos servicios a archivos, servicios a procesos, servicios a terminales, o servicios a la memoria, donde cada una es pequeña y controlable, así al ejecutar los procesos en modo usuario y no en modo núcleo si hay algún error en algún servidor, este afectará sólo a dicha parte y no a toda la máquina, ya que no se tiene acceso al hardware. •
  • 17. • un caso sencillo de cliente, en este caso, es un programa de aplicación que llama al servidor para acceder a un archivo, otro ejemplo es cuando el programa de aplicación realiza una operación de entrada o salida a un dispositivo concreto. En cada uno de estos casos el cliente a su vez puede ser servidor de otros servicios. Esta idea se refleja a continuación:
  • 19. Los sistemas por capas o jerárquica (Estructura por niveles) • En esta estructura el Sistema Operativo queda definido modularmente por divisiones en capas o niveles, cuya organización está dada como una jerarquía de capas donde cada una de ellas ofrece una interfaz clara y bien definida, la capa superior solamente utiliza los servicios y funciones que ofrece la capa inferior, es decir, la capa n sólo se comunica para obtener lo requerido con la capa n-1 (Ver imagen derecha), donde la capa inferior es la más privilegiada. El encargado de que solamente haya comunicación entre capas adyacentes es el procesador.
  • 20. • La capa más interna o inferior (capa 0) corresponde al Hardware, mientras que la más alta o externa corresponde a la interfaz de usuario. • El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes.
  • 21. • El sistema original consta de 6 capas: • Capa 5: Se encuentra la interfaz de usuario. • Capa 4: Aloja los programas de usuario. • Capa 3: Se controlan los dispositivos E/S (entrada y salida). • Capa 2: Se administra la comunicación inter-proceso y la consola del operador. • Capa 1: Administración de memoria y discos. • Capa 0: Correspondiente al Hardware, realizando asignación del procesador, también alterna entre procesos cuando ocurren interrupciones o se han expirado y proporciona multiprogramación básica de la CPU.
  • 22. • Como ventajas de este sistema podemos mencionar que al tener una organización modularizada, otorga facilidad en construcción y depuración del sistema. La facilidad de construcción se respalda porque al existir esta división en módulos (capas) se produce una abstracción del problema, simplificándose solamente a la función que realiza el módulo correspondiente a una capa N. También al lograr esta abstracción, no es necesario saber detalles de implementación de las capas inferiores, sólo se utilizan. La facilidad de depuración, quiere decir, que sea más simple la tarea de encontrar errores en el código y corregirlos. Otro aspecto positivo relacionado con la modularidad existente, cuando ocurre un error o falla en una de las capas, no se compromete a todo el sistema, sólo a la capa relacionada con la falla. •
  • 23. Con respecto a las desventajas de esta organización, al realizar la construcción de las capas, la problemática es la forma de realizar la división y definición de las funcionalidades, ya que se tiene considerar que las capas superiores solamente pueden utilizar los servicios de la capa que se encuentra inferior, por lo tanto, se debe tener mucho cuidado en la planificación del sistema para que exista un óptimo funcionamiento. Otra desventaja que podemos mencionar es el gasto de tiempo que se genera en ir de una capa a otra, cada capa implica un gasto extra. EJEMPLOS DE SISTEMAS POR CAPAS: THE (Technische Hogeschool Eindhoven) Venus MULTICS (Multiplexed Information and Computing Service)
  • 24. Sistemas por módulos • La mayoría de los sistemas operativos modernos implementan este enfoque. Lo que caracteriza este tipo de estructura es que el kernel se compone por módulos, y cada uno de estos módulos se encuentra separado de forma independiente, tal que, si alguno falla no afecta a los otros, ni al núcleo, por ejemplo, si el módulo de software que se encarga de controlar el proceso de Telnet en una unidad se bloquea o es atacado, sólo este proceso se verá afectado. El resto de las operaciones siguen sus funciones habituales. Los módulos se pueden cargar dinámicamente en el núcleo cuando se necesiten, ya sea, en tiempo de ejecución o durante el arranque del sistema. El kernel dispone de los componentes fundamentales y se conectan directamente con servicios adicionales. Además otros componentes pueden cargarse dinámicamente al núcleo. Este enfoque modular utiliza la programación orientada a objetos.
  • 25. Tabla comparativa sobre algunas funcionalidades entre Sistemas Monolítico y Sistemas por Módulos: Funcionalidad Sistema Monolítico Sistema Modular Arquitectura Cerrada, es decir, inmodificable a los programadores ajenos a la compañía propietariadel código fuente. Abierta, es decir, que todos los componentes del sistema del computador sean compatibles en cualquier ambiente sin importar la compañía que lo haya producido. Dependencia de Hardware Absolutamente dependiente. No existe dependencia. Escalabilidad No existe. Las funciones nuevas requieren un reiniciode la unidad, son instaladas como un nuevo SO. Vulnerabilidadfrente a los ataques Muy Vulnerable Existe una vulnerabilidadcontrolada. Ejecución de Scripts Ejecución limitada, difícilrealizarejecuciones de instrucciones externas, ya que el sistema carga al inicio las funciones a realizar. Control total de ejecución de comandos externos. Extensibilidad No es posible extender las capacidades del SO sin crear un nuevo código. Es posible extender sus capacidades hacia operaciones con agentes externos mediante API’s en un modelo cliente-servidor. Niveles de Disponibilidad Muy bajos, ya que si se produce un error local, puede ocasionar un sistema inestable, detenido o un error en todo el sistema. Altos. Al existir un error de programación, este sucede localmenteen un componente del sistema, el cual puede ser fácilmentereparado, sin afectar al resto. Soporte para Redes Convergentes Este tipo de sistemas no es adecuado para realizarfunciones en línea, como por ejemplo sincronizaciónde voz, datos y videos. Óptimosoporte, a causa de su alta disponibilidad. Cambios dinámicos en el software Al estar todo integrado conjuntamente, no es posible. Posibles, ya que cada módulo independientementepuede ser dado de alta o baja de manera independiente.
  • 26. • EJEMPLOS SISTEMA POR MÓDULOS: • Unix modernos • Solaris • Linux • Mac OSX