Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Estructura de los sistemas operativos, Guías, Proyectos, Investigaciones de Sistemas Operativos

Detalladamente en el documento de investigación tenemos presente la clasificación de los sistemas operativos en los cuales se dividen por su Estructura: monolítica, jerárquica, máquina virtual y cliente-servidor; por Servicios: número de usuarios, número de tareas y número de procesos; por la forma de ofrecer sus servicios: Operativos por red y Operativos distribuidos.

Tipo: Guías, Proyectos, Investigaciones

2020/2021

A la venta desde 09/04/2022

LuisDxl
LuisDxl 🇲🇽

4.9

(7)

18 documentos

1 / 19

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
INSTITUTO TECNOLÓGICO SUPERIOR DE CALKINÍ EN EL
ESTADO DE CAMPECHE
Taller de Sistemas Operativos (2019/2020P)
Carreta: Ingeniería en Sistemas Computacionales
Docente: ROGELIO ALFREDO FLORES HAAS
FORMATIVA 1: Estructura de los sistemas operativos y niveles de
virtualización.
Alumno: Luis Enrique Canche Balam
Matricula: 6228
Estructura de los sistemas
operativos y niveles de
virtualización
Fecha: 08/Mayo/2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Vista previa parcial del texto

¡Descarga Estructura de los sistemas operativos y más Guías, Proyectos, Investigaciones en PDF de Sistemas Operativos solo en Docsity!

INSTITUTO TECNOLÓGICO SUPERIOR DE CALKINÍ EN EL

ESTADO DE CAMPECHE

Taller de Sistemas Operativos (2019/2020P)

Carreta: Ingeniería en Sistemas Computacionales Docente: ROGELIO ALFREDO FLORES HAAS FORMATIVA 1: Estructura de los sistemas operativos y niveles de virtualización. Alumno: Luis Enrique Canche Balam Matricula: 6228

Estructura de los sistemas

operativos y niveles de

virtualización

Fecha: 08/Mayo/

Resumen

Detalladamente en el documento de investigación tenemos presente la clasificación de los sistemas operativos en los cuales se dividen por su Estructura: monolítica, jerárquica, máquina virtual y cliente-servidor; por Servicios: número de usuarios, número de tareas y número de procesos; por la forma de ofrecer sus servicios: Operativos por red y Operativos distribuidos. En cuando a los niveles de virtualización, se encuentra con que, La virtualización no es un concepto nuevo. Sin embargo, tras largos años de estar relegado a un segundo plano, en la actualidad se torna fundamental en referencia a los sistemas operativos, particularmente en papel de servidores. Este tema se abordará de momento desde un punto de vista más bien descriptivo, y posteriormente se profundizará en algunos de sus aspectos. En escala general, virtualizar consiste en proveer algo que no está ahí, aunque parezca estarlo. Más específicamente, presentar a un sistema elementos que se comporten de la misma forma que un componente físico (hardware), sin que exista en realidad un acto de ilusionismo o de magia, en el cual se busca presentar el elemento de forma tan convincente que la ilusión se mantenga tanto como sea posible. A base de esto se divide en: Emulación, Virtualización asistida por hardware, paravirtualización, paravirtualización y software libre, y paravirtualización de dispositivos.

Palabras clave:

Clasificación de los sistemas operativos, estructura del sistema, virtualización, niveles de virtualización.

Introducción

En la presente práctica se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión externa). Y consigo también tenemos que, la mayoría de los servidores funcionan a menos del 15 % de su capacidad, lo que causa la expansión de servidores y aumenta la complejidad. Gracias a la virtualización de servidor, se abordan estas ineficiencias mediante la ejecución de varios sistemas operativos como máquinas virtuales en un único servidor físico. Cada una de las máquinas virtuales tiene acceso a los recursos de procesamiento del servidor subyacente. El paso siguiente es agregar un clúster de servidores a un recurso único y consolidado, gracias a lo cual se aumenta la eficiencia general y se reducen los costos. La virtualización de servidor también permite una implementación de cargas de trabajo más rápida, un aumento del rendimiento de las aplicaciones y una disponibilidad superior.

Estructura de los sistemas operativos

Sistemas Operativos por su Estructura

Según (Alcal92), se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:

  • Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.
  • Requisitos del software: Donde se engloban aspectos como el 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. Estructura monolítica. Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características fundamentales de este tipo de estructura son:
  • Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
  • Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.
  • Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

imagen 1 Máquina virtual Cliente-Servidor (MicroKernel) Es el más reciente y predominante, sirve para toda clase de aplicaciones y el propósito de este es de tipo general cumpliendo así con las mismas actividades de los otros sistemas operativos. Su núcleo (core) esta designado a establecer comunicación entre los clientes y servidores. Los procesos pueden ser tanto servidores como cliente a su vez el cliente actual como servidor para otro proceso.

Sistemas Operativos por Servicios

Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final.

imagen 2 Sistemas Operativos por servicios

Por el número de Usuarios

Monousuarios: Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. Multiusuarios: Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

Por el número de Tareas

Monotareas: Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo, pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

Sistemas Operativos de Red Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursos que desee acceder. Por ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio: /software/codigo en la computadora morelos bajo el sistema operativo UNIX Dicho usuario podría copiarlo a través de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas. hidalgo% En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se ejecutó el mencionado comando. Lo importante es hacer ver que el usuario puede acceder y compartir muchos recursos. Sistemas Operativos Distribuidos Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco teórico de lo que se desearía tener como sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo,

por la complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la protección y seguridad entre los diferentes componentes del sistema y los usuarios. [Tan92].

Virtualización

Componentes y Niveles de Virtualización

La virtualización no es un concepto nuevo. Sin embargo, tras largos años de estar relegado a un segundo plano, en la actualidad se torna fundamental en referencia a los sistemas operativos, particularmente en papel de servidores. Este tema se abordará de momento desde un punto de vista más bien descriptivo, y posteriormente se profundizará en algunos de sus aspectos. En primer término, es importante aclarar que el concepto de virtualización no se refiere a una única tecnología o metodología, es un término que agrupa a muy distintas tecnologías que hay de diversas formas desde hace décadas. Cada una de ellas tiene su lugar, con diferentes usos y propósitos, algunos de los cuales se usan de forma transparente para el usuario promedio. Del mismo modo, aunque se abordarán diversas tecnologías que pueden clasificarse como virtualización, la línea divisoria entre cada una de ellas no siempre es clara. Una implementación específica puede caer en más de una categoría, o puede ir migrando naturalmente de un tipo hacia otro. En escala general, virtualizar consiste en proveer algo que no está ahí, aunque parezca estarlo. Más específicamente, presentar a un sistema elementos que se comporten de la misma forma que un componente físico (hardware), sin que exista en realidad un acto de ilusionismo o de magia, en el cual se busca presentar el elemento de forma tan convincente que la ilusión se mantenga tanto como sea posible.

similares, al aparecer tres líneas de computadoras basadas en el CPU Motorola 68000 (Apple Macintosh, Atari ST y Commodore Amiga), diferenciadas principalmente por sus chipsets, aparecieron emuladores que permitían ejecutar programas de una línea en la otra, prácticamente a la misma velocidad que en el sistema nativo. Hoy en día, la emulación se emplea para hacer desarrollos cruzados, más que para emplear software ya escrito y compilado. La mayor parte de la emulación tradicional se emplea para el desarrollo de software. Hoy en día, la mayor parte de las computadoras vendidas son sistemas embebidos o dispositivos móviles, que hacen imposible (o, por lo menos, muy difícil) desarrollar software directamente en ellos. Los programadores desarrollan en equipos de escritorio, ejecutan entornos de prueba en emuladores del equipo destino. A pesar del costo computacional de realizar la emulación, la diferencia de velocidad entre los equipos de escritorio de gama alta y los embebidos permiten que frecuentemente la velocidad del emulador sea muy similar incluso superior a la del hardware emulado. Virtualización asistida por hardware Actualmente se usa la virtualización como una herramienta para la consolidación de servicios, de gran ayuda para los administradores de sistemas. Este uso se refiere principalmente a lo que se presentará en este apartado, así como en las secciones B.4 (Paravirtualización) y B.5 (Contenedores). Y si bien este zumbido de la virtualización se ha producido mayormente a partir del 2006-2007, no se trata de tecnologías o ideas novedosas — pueden encontrarse ejemplos desde finales de los sesenta. Hasta hace algunos años, sin embargo, se mantenía dentro del ámbito de los servidores en gran escala, fuera del alcance de la mayor parte de los usuarios. Es necesario estudiar la génesis de esta herramienta, para poder comprender mejor cómo opera y se implementa. Esta novedosa idea de que una organización podía adquirir un modelo sencillo y, si sus necesidades se ajustaban al modelo de cómputo, podrían migrar fácilmente hacia otros más poderosos, dado que tendrían compatibilidad binaria.

Uno de los modelos de esta familia fue la S-360-67, con la característica distintiva de ser la única de la serie 360 en ofrecer una unidad de manejo de memoria (MMU), con lo cual permitía la reubicación de programas en memoria. Esto, sin embargo, creaba un problema: el software desarrollado para los equipos más pequeños de la familia estaba creado bajo un paradigma de usuario único, y si bien podría ser ejecutado en este modelo, eso llevaría a un desperdicio de recursos (dado que el modelo 67 tenía todo lo necesario para operar en modo multitarea). La respuesta de IBM fue muy ingeniosa: desarrollar un sistema operativo mínimo, CP (Control Program, Programa de Control) con el único propósito de crear y gestionar máquinas virtuales en del hardware S/360-67, dentro de cada una de las cuales pudiera ejecutarse sin requerir modificaciones un sistema operativo estándar de la serie 360. Entre los varios sistemas operativos disponibles para la S/360, el que más frecuentemente se utilizó fue el cms, 5 un sistema sencillo, interactivo y monousuario. La combinación CP/CMS proporcionaba un sistema operativo multiusuario, con plena protección entre procesos, y con compatibilidad con los modelos más modestos de la serie 360. Aún después de la vida útil de la serie 360 original, IBM mantuvo compatibilidad con este modelo hacia la serie 370, e incluso hoy, 50 años más tarde, se encuentra aún como z/VM z/VM en la línea de Sistemas z. Vale la pena mencionar que tanto CP como CMS fueron distribuidos desde el principio de forma consistente con lo que en la actualidad se conoce como software libre: IBM los distribuía en fuentes, con permiso de modificación y redistribución, y sus diferentes usuarios fueron enviando las mejoras que realizaban de vuelta a IBM, de modo que hoy incorpora el trabajo de 50 años de desarrolladores. Paravirtualización La paravirtualización, o virtualización asistida por el sistema operativo, parte de un planteamiento distinto: en vez de engañar al sistema operativo para que funcione sobre un sistema que parece real pero no lo es, la paravirtualización busca hacerlo con pleno conocimiento y cooperación por parte de los sistemas huéspedes. Esto

de otra manera, ¿cómo se le podría adecuar para que supiera desenvolverse en un entorno no nativo? El proyecto de gestión de virtualización y paravirtualización Xen nació como un proyecto académico de la Universidad de Cambridge, presentando su versión 1.x mediante un artículo (Barham y col. 2003). Este artículo presenta su experiencia paravirtualizando a una versión entonces actual de Linux y de Windows. Sin embargo, Xen sólo pudo ser empleado por muchos años como plataforma de paravirtualización de Linux porque, dado que la adaptación de Windows se realizó bajo los términos del Academic Licensing Program, que permitía a los investigadores acceso y modificación al código fuente, pero no su redistribución — la versión paravirtualizable de Windows XP fue desarrollada, pero no puede distribuirse fuera de los participantes de dicho programa de licenciamiento. En tanto, el trabajo necesario para lograr la paravirtualización de un sistema operativo libre, como Linux, FreeBSD u otros, puede ser libremente redistribuido. No sólo eso, sino que el esfuerzo de realizar la adaptación pudo compartirse entre desarrolladores de todo el mundo, dado que esta entonces novedosa tecnología resultaba de gran interés. Paravirtualización de dispositivos Las ideas derivadas de la paravirtualización pueden emplearse también bajo entornos basados en virtualización plena: si el sistema operativo está estructurado de una forma modular (sin que esto necesariamente signifique que es un sistema microkernel, sino que permita la carga dinámica de controladores o drivers para el hardware, como prácticamente la totalidad de sistemas disponibles comercialmente hoy en día), no hace falta modificar al sistema operativo completo para gozar de los beneficios de la paravirtualización en algunas áreas. De esta manera, si bien es posible ejecutar un sistema operativo sin modificaciones que espera ser ejecutado en hardware real, los dispositivos que típicamente generan más actividad de entrada y salida pueden ser atendidos por drivers paravirtuales. Por supuesto, varios aspectos que son parte del núcleo duro

del sistema, como la administración de memoria o el manejo de interrupciones (incluyendo el temporizador) tendrán que seguirse manejando mediante una emulación, aunque mucho más delgada. Según mediciones empíricas realizadas en 2007 por Qumranet (quienes liderearon el desarrollo del módulo de virtualización asistido por hardware KVM en Linux), las clases de dispositivos virtio y pv resultaron entre 5 y 10 veces más rápidas que la emulación de dispositivos reales. Mediante esta estrategia es posible ejecutar sistemas operativos propietarios, como los de la familia Windows, con buena parte de las ventajas de la paravirtualización, sobre entornos de virtualización asistida por hardware. imagen 3 Niveles de virtualización

Tabla de ilustraciones

imagen 1 Máquina virtual.................................................................................................................. 7 imagen 2 Sistemas Operativos por servicios...................................................................................... 8 imagen 3 Niveles de virtualización................................................................................................... 17

Referencias

PÉREZ, MSC P. Norma Maya; AYLLÓN, Fernando; HÉLICON, Colegio. Sistemas operativos. Una Visión Aplicada , 2008, vol. 1. Llaven, D. S. (2015). Sistemas Operativos: Panorama para ingeniería en computación e informática. Grupo Editorial Patria. Prieto, A., Lloris, A., & Torres, J. C. (1989). Introducción a la Informática (Vol. 20). McGraw-Hill. NATY, L. (2004). Sistemas operativos. Pacheco, L. D. O. (2009). La tecnología de virtualización en las computadoras. CienciaUAT , 3 (4), 56-59. Río, M. D. G. (2014). Tecnologías de Virtualización. IT Campus Academy.