0% encontró este documento útil (0 votos)
151 vistas14 páginas

Características de Sistemas Operativos

Este documento introduce los sistemas operativos, explicando que son programas que permiten la comunicación entre el usuario y la computadora. Explora las características principales de los sistemas operativos, incluyendo que administran los recursos de la computadora, controlan la ejecución de programas y proveen servicios para la creación y ejecución de programas. También describe las diferentes estructuras de los sistemas operativos como monolíticos y estructurados en capas.

Cargado por

Ppg Kustom
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
151 vistas14 páginas

Características de Sistemas Operativos

Este documento introduce los sistemas operativos, explicando que son programas que permiten la comunicación entre el usuario y la computadora. Explora las características principales de los sistemas operativos, incluyendo que administran los recursos de la computadora, controlan la ejecución de programas y proveen servicios para la creación y ejecución de programas. También describe las diferentes estructuras de los sistemas operativos como monolíticos y estructurados en capas.

Cargado por

Ppg Kustom
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Introducción

En los últimos años las computadoras han estado evolucionando continuamente. Los
sistemas operativos con los que cuentan también son parte importante de esta continua
actualización, ya que cada uno posibilita tener y administrar diversos recursos de acuerdo
a sus aplicaciones; de ahí la importancia de conocer sus características y funcionamiento.
Debido a lo anterior, a lo largo de este tema abordaremos los diversos sistemas
operativos que actualmente existen, así como sus características y funcionamiento.

El estudio de este tema te permitirá:


Ubicar los principales sistemas operativos (Windows, Mac, Linux) con los que cuenta una
computadora, a partir de sus características y funciones, para que el usuario pueda elegir
el tipo de sistema operativo que más se adapte a sus necesidades tecnológicas.

¿Qué es un sistema operativo?


Un sistema operativo (SO) es un conjunto de programas que hacen posible la
comunicación entre el usuario y la computadora; esto es la interfaz, todo aquel
medio físico que conecta un dispositivo periférico con la computadora; o todo
software que comunica al usuario con la computadora.

Todas las computadoras tienen un SO que genera la comunicación y funciona


como una especie de traductor que entiende a la máquina y al usuario. Su
importancia es vital: se encarga de controlar y administrar todos los recursos.
Por eso se ha dicho que es la capacidad de un componente físico de la
computadora o la actividad de un programa que puede ser utilizada por varios
programas del sistema (hardware y software), de modo concurrente o simultáneo.

Algunas de las características principales del SO son las siguientes:


Actúa como administrador de los recursos de la computadora
Da herramientas necesarias para este sistema trabaje de forma eficiente
Controla la ejecución de los programas de usuarios para prevenir errores y uso
inapropiado de la computadora
Es responsable de la creación y eliminación de los procesos del sistema y de los usuarios;
detiene continuar ejecutando un proceso; provee mecanismos para sincronizar, comunicar
y proteger procesos
Ejecuta programas de usuario y resuelve problemas más fácilmente
Mantiene el historial de las partes de memoria a las que se puede tener acceso de
manera concurrente

Características principales de los SO

Funciones básicas

Como ya se mencionó, un SO actúa como interfaz entre la máquina y los programas de


aplicaciones o el propio usuario. También se encarga de gestionar los recursos del
sistema informático para obtener un uso óptimo de ellos. A continuación, se tratarán las
funciones del SO desde ambos puntos de vista, así como las características que debe
presentar para mantener una capacidad de evolución adecuada.

El SO ofrece servicios en las áreas descritas a continuación.


Creación de programas
Da una gran variedad de servicios, como los editores y depuradores (debuggers), para
ayudar en la creación de programas. Con frecuencia estos servicios aparecen como
programas de utilidad que no forman realmente parte del sistema, pero son accesibles a
través de él.
Ejecución de programas
Para ejecutar un programa es necesario realizar un cierto número de tareas. Las
instrucciones y datos deben cargarse en la memoria principal, y los archivos y dispositivos
de E/S inicializarse y prepararse otros recursos. El SO administra todas estas tareas por
el usuario.

Acceso a los dispositivos de E/S


Cada dispositivo de E/S requiere un conjunto propio y peculiar de instrucciones o señales
de control para su funcionamiento. El SO, ayudado por los manejadores o drivers de
dispositivo, tiene en cuenta estos detalles, de modo que el programador pueda pensar en
forma de lecturas y escrituras simples desde o hacia el dispositivo
Acceso controlado a los archivos
El SO se ocupa del formato de los archivos y del medio de almacenamiento, y en
sistemas de varios usuarios trabajando simultáneamente brinda los mecanismos para
controlar que el acceso a los archivos se lleve a cabo de una manera correcta.
Acceso al sistema
En un sistema compartido o público el SO controla el acceso al sistema como un todo y a
sus recursos específicos. Las funciones de acceso deben brindar protección a los
recursos y a los datos ante usuarios no autorizados y resolver conflictos en la propiedad
de los recursos.
Detección y respuesta a errores
Cuando un sistema informático está en funcionamiento pueden producirse varios errores,
ante lo cual el SO debe dar una respuesta que elimine la condición de error con el menor
impacto sobre las aplicaciones en ejecución.
Contabilidad
Un SO debe recoger estadísticas de utilización de los diversos recursos.
Administrador de recursos
El SO es responsable de la gestión de los recursos de la máquina y mediante su
administración posee el control sobre las funciones básicas de la misma; por ello, no es
nada más que un programa, pero su diferencia clave es el propósito que tiene. El sistema
operativo dirige al procesador en el empleo de otros recursos del sistema y en el control
del tiempo de ejecución de los programas de usuario.
Estructura de un sistema operativo
A continuación se analizan cinco estructuras que han sido llevadas a la práctica en los
SO.
Sistemas monolíticos 

La estructura monolítica es la más utilizada en los SO. En general, es posible decir que
dentro de esta estructura de sistema no hay una estructura definida. En otras palabras,
cuando el SO es creado se escribe como una colección de procesos que cumplen con
diversas funciones, donde cada uno de ellos puede ser llamado por el sistema cuando
sea necesario.

Para ayudar a identificar cada proceso, estos son generados con una interfaz
perfectamente determinada que recibe una serie de valores-parámetro bien definidos y
entrega un resultado o salida única. Adicionalmente, estos procesos pueden llamar a
otros procesos de su secuencia de instrucciones cuando sea necesario, lo que los vuelve
complementarios.

Cuando un SO es creado con estructura monolítica, su programa objeto procesa y


compila todos los procedimientos de forma individual para, posteriormente, de acuerdo a
las instrucciones contenidas en cada procedimiento, llamar a los procedimientos
complementarios y realizar el enlace entre ellos, generando un fichero objeto único. Por
otro lado, los procedimientos contenidos en la estructura monolítica pueden ver a todos
los demás procedimientos, lo que permite un alto grado de trasparencia en la información,
en comparación con otras estructuras, como la modular o por paquetes, donde cada
módulo o paquete contiene su propia información y no es posible ver la de otros, a menos
que sea solicitada por un procedimiento dentro de ellos (en cuyo caso sólo se podrá
visualizar la información de entrada del procedimiento).

Pese a lo anterior, los sistemas monolíticos cuentan con una estructura a nivel básico;
esto se puede observar cuando los servicios o llamadas al sistema son realizados. Al
ocurrir lo anterior, los parámetros necesarios para la ejecución del servicio son colocados
en la pila y posteriormente se ejecuta una instrucción denominada TRAP, que realiza un
cambio de modo, al pasar de modo usuario a modo núcleo y transferir el control al
sistema operativo para que efectúe la operación. Así, el sistema operativo obtiene los
parámetros y determina la llamada al sistema o servicio que debe ejecutar.
Posteriormente, utiliza el número de llamada al sistema como un valor de índice para
almacenar dicha llamada en una tabla de registro de llamadas al sistema, y como
parámetro para un apuntador que lo asocia al procedimiento que ejecuta esa llamada.

De modo general, se puede resumir la estructura monolítica de la siguiente manera:


Un programa central que realiza las llamadas a los procedimientos que Ejecutan los
servicios solicitados
Un conjunto de procedimientos de servicio que hacen las llamadas al sistema o servicios
Una serie de Procedimientos auxiliares o de utilidad que sirven de apoyo a los
procedimientos de servicio
Estructura monolítica

Por cada llamada realizada al sistema, en el modelo monolítico debe existir un


procedimiento de servicio encargado de atenderla. Los procedimientos auxiliares o de
utilidad reúnen la información necesaria para la correcta ejecución del procedimiento de
servicio; por ejemplo, obtener datos de los programas ejecutados por el usuario.

Esta división de los procedimientos en tres capas se muestra en la figura siguiente:

Modelo de estructuración simple para un sistema monolítico

Sistemas estructurados en capas

Como su nombre lo indica, consiste en la organización de las diversas funciones del


sistema en una estructura jerárquica de capas, construidas a partir de una capa base
encargada de la administración del procesador. El primer sistema operativo (SO) conocido
con esta estructura fue construido por E. W. Dijkstra y sus estudiantes, en 1968, el
THE (Technische Hogescholl Eindhoven), en los Países Bajos.
El sistema de Dijkstra era relativamente sencillo: procesaba la información por lotes para
un ordenador holandés, el Electrológica X8, con una capacidad de 32 Kb de memoria de
27 bits.

La siguiente figura describe las seis capas del sistema THE. La capa 0 era encargada de
administrar al procesador, efectuando la conmutación de procesos conforme se
realizaban las interrupciones o expiraba el tiempo asociado a cada proceso (timer). Por
encima de la capa 0 se ejecutaba una serie de procesos secuenciales independientes,
que podían ser programados en cualquier momento sin importar el número de procesos
que se estuvieran operando en ese momento, lo que permitía hacer una programación
múltiple de procesos en el procesador.
Capas del sistema THE
Ahora veamos cómo funcionaba cada una de estas capas:
Capa1
Administraba las páginas de memoria enviando la información a la memoria principal
cuando está era requerida, asignado una cierta cantidad de memoria principal a cada
proceso en ejecución y también dando espacio en la memoria secundaria (páginas).
Capa 2
Administraba las comunicaciones entre los procesos de la interfaz del usuario.
En esta estructura, a cada proceso se le asignará una interfaz para el usuario.
Capa 3
Administrar a los dispositivos de entrada y salida y de poner a disposición de los mismos
el buffer de datos que permiten el flujo de información de un dispositivo a otro.
Capa 4
Administraba el software del usuario
Capa 5
Se encontraba la interfaz del usuario

Máquina virtual

El concepto de máquina virtual se utiliza mucho actualmente en un contexto diferente: la


ejecución de programas MS-DOS antiguos en un Pentium u otra CPU Intel de 32 bits. Al
diseñar el Pentium y su software, tanto Intel como Microsoft se percataron de que podría
haber una gran demanda de gente queriendo ejecutar susoftware antiguo sobre
el hardware nuevo. Por ese motivo, Intel incluyó un modo 8086 virtual en el Pentium. Así,
la máquina actúa como un 8086 (idéntico a un 8088 desde el punto de vista del software),
con el direccionamiento de 16 bits con un límite de 1 MB.

Exokernels

Los exokernels o exonúcleos son sistemas creados con fines de investigación científica


en el Instituto Tecnológico de Massachusetts, con el objetivo de crear una capa
de software para sistemas virtuales. Están situados en la capa más baja de los sistemas
operativos, ejecutándose en modo de núcleo, y su función principal es administrar y
asignar recursos para los sistemas que dan soporte a las máquinas virtuales. Éstas tienen
la capacidad de ejecutar de forma independiente su propio sistema operativo, como lo
hacen los procesadores Icore de Intel y la VM/370, limitados por los recursos asignados
por el exokernel.

Modelo cliente-servidor
Al paso del tiempo, observando las ventajas de mover procesos y códigos de
programación a modelos de capas, se han generado sistemas cliente-servidor. Estos
consisten en ir quitando procesos ejecutados en modo núcleo y pasarlos a las capas
superiores del sistema, dejando un modo de ejecución (microkernel) con solamente los
procesos esenciales para el funcionamiento base del sistema. La intención de este
modelo es destinar la mayor parte de los recursos del sistema operativo en la ejecución
de los procesos de usuario.

En el esquema cliente-servidor, los procesos de usuario (denominados procesos de


cliente en este esquema) envían una solicitud a un proceso servidor, que al recibirla
ejecuta las tareas solicitadas, regresando el resultado al proceso cliente.

Funcionamiento de capas
Como se observa en la figura anterior, la función del núcleo se reduce a la administración
de la comunicación entre los procesos cliente y servidor, dividiendo el sistema en partes,
las cuales se encargan de una fase específica que realiza el sistema, como el servicio de
procesos, terminal de procesos y proceso de archivos. Por otro lado, la división del
sistema permite tener un sistema con estructura modular más pequeña y manejable, con
la ventaja de que, al ser ejecutados los procesos en modo usuario, no se tiene acceso
directo al hardware, lo que previene fallas en el mismo.

Asimismo, los sistemas desarrollados con el esquema cliente-servidor presentan mayor


adaptabilidad para ser empleados con un esquema de sistemas distribuidos, donde
diversos ordenadores proveen de distintos servicios, evitando concentrarlos en uno solo.
Con este esquema distribuido, los usuarios pueden emplear diversas peticiones de
servicios a la vez, atendidas en varios equipos; el resultado es un tiempo de respuesta
menor.

Estructura del sistema operativo.


Actualmente los sistemas operativos son programas muy grandes y complejos.
Es posible clasificarlos de acuerdo a la forma en que se estructuran sus componentes.
La estructura de un sistema operativo se puede describir en términos simples por la forma
en que está constituido, es decir, su arquitectura o por la manera en que se constituyen
sus componentes y cómo interactúan entre sí
Sistema monolítico
Son aquellos sistemas operativos que carecen de una estructura definida
Dicha estructura está constituida en un único programa principal que engloba la
funcionalidad y servicios necesarios
Este programa se integra por un conjunto de Procedimientos que interactúan entre sí, lo
cual garantiza la transparencia; pero al mismo tiempo se vuelve difícil de mantener y
manejar
Ejemplos de sistema monolítico
MS-DOS FREE BSD ANDROID
MULTICS UBUNTO
OPEN BSD DEBIAN
Este tipo de sistemas Presenta una serie de ventajas y desventajas
Ventajas
El procedimiento principal controla todo el sistema
Muestra una mejor eficiencia en procesamiento y velocidad
Desventajas
Sistemas difícilmente adaptables y con muy poca o nula estabilidad
Actuaciones muy costosas en tiempo y dificultad
Gran dependencia de los proveedores
Difícil de depurar
Sabías que
La escalabilidad es la capacidad de adaptación y respuesta a un aumento de carga al
sistema
Por ejemplo
El número de usuarios que interactúan a la vez en un sitio web.
Los sistemas monolíticos
Están englobados en un solo problema éste se puede estructurar en capas internas de la
siguiente manera
El programa principal se encarga de realizar las llamadas a los procedimientos de
servicio, que a su vez se ocupan de efectuar las llamadas a los procedimientos auxiliares
Los procedimientos de servicio atienden las tareas principales del sistema operativo,
como la gestión de procesos, la administración de memoria, la administración de
seguridad, etcétera.
Mientras los procedimientos auxiliares se encargan de realizar tareas utilitarias de los
procedimientos de servicio
Sistema de capas
En este tipo de estructura cada una de las capas está organizada jerárquicamente una
después de la otra con el objetivo de dividir el sistema operativo en partes más pequeñas
Ventajas
Es modular organizado y escalable
De Simple mantenimiento
Facilidad de depuración para encontrar errores y fallas
Desventajas
Arquitectura compleja y múltiples problemas para una división de las funcionalidades
En cierto punto llega a ser ineficiente
Al estar basado en capas implica un mayor gasto ya que no hay modo de pasar de las 5 a
las 0 directamente se tiene que ir en orden 5 – 4 – 3 – 2 – 1 – 0
Ejemplo de sistema operativo por capas THE ( Technische Hogeschool Eindhoven)
MINIX organizado en cuatro capas
Capa 0 administrar el proceso
Capa 1 administrar los recursos de la memoria y el disco
Capa 2 comunicación proceso - usuario el cual en cada proceso se asigna una interfaz
para el usuario
Capa 3 se encarga de toda la administración de los dispositivos de entrada y salida
además de guardar buffers los flujos de información entre otros
Capaz 4 contiene programas de disco
Capa 5 contiene la interfaz del usuario
Microkernel
Se caracteriza por dividir el sistema operativo infracciones muy pequeñas, en la que sólo
una se ejecuta en modo núcleo (Kernel, en inglés)
Es decir en modo privilegiado en este sistema organizado con esta estructura los errores
que surgen no detienen o congela en el dispositivo por lo que el fallo no suele ser fatal
Por ejemplo
Escribes un ensayo y por otro lado escuchas música con otra aplicación de pronto surge
un error con el productor musical cuando se trata de una estructura en microkernel
únicamente dejarás de escuchar la música en otra estructura monolítica puede llegar
hasta el punto de detener a todo el sistema operativo
El kernel contiene componentes esenciales para su funcionamiento del sistema operativo
como:
La abstracción de procesos, administración de hilos, intercomunicación de procesos y
primitivos, para la administración de memoria
Sabías que
Los primitivos son funciones más básicas de un sistema operativo que tiene el objeto de
proveer mecanismos para algún servicio
Por ejemplo
Si se habla de primitivos de archivos nos referimos a los mecanismos que se suministran
para la lectura y escritura de estos
Al ejecutarse en modo usuario los servers necesitan comunicarse con el kernel para que
realicen los comandos necesarios y este mismo el que comprueba si tiene acceso entrada
o salida y quieren utilizar
Existen 2 tipos de privilegios
Modo Kernel
Es un modo privilegiado donde las operaciones tienen acceso a las partes más esenciales
del sistema operativo y código de ejecución está completo y sin restricciones.
Modo usuario
Es un modo restringido en este caso es necesario que las operaciones pasen por
servicios y/o servidores con interfaces de ejecución muy delimitadas para poder realizar
acciones controladas
En este esquema los servidores realizan la mayor parte del trabajo de un sistema
operativo es decir la manipulación de sus componentes esenciales
Sería el sistema de archivos que se encarga de la creación eliminación y manejo de los
archivos y directorios que utilizamos a diario (documentos, música, videos de etcétera).
Ventajas
Sencillez
Mantenimiento simple
Modular y extensible
Decoración sencilla
Seguridad
Desventajas
Su desempeño es bajo
La máquina son privativos (software propietario)
Ejemplos de sistema operativo con esta estructura
Windows XP, 7, 8, 10 (híbrido)
MacOS, IOS, (hibrido)
Minix 3
Symbian
Cliente - servidor
Esta estructura cuenta con dos partes independientes cliente y servidor y su objetivo es
destinar la mayor parte de los recursos a la ejecución de los programas del cliente
El cliente es cualquier proceso que requieren de un servicio en particular mientras que un
servidor es quien provee el servicio
Su origen se plantea con el desarrollo de las redes donde se necesitaba un modelo que
permitiera incrementar la escalabilidad, la flexibilidad y uno de los puntos más importantes
la interoperabilidad
Este estructuras funciona así
El cliente Envía una solicitud a un proceso del servidor y este proceso la petición realiza
las tareas solicitadas por el cliente y finalmente responde con el resultado
No tiene modelo cliente - servidor es propio de los sistemas distribuidos (un conjunto de
componentes en Red) también puede ocurrir al caso de que el cliente y servidor Residen
en la misma computadora
Ejemplos estructura cliente-servidor
Cliente exploradores web Chrome, firefox, opera, edge, Safari
Cliente base de datos SQL, management, Studio, MySQL, Workbench
Servidor exploradores web Apache, IIS, Nginx
Servidor base de datos SQL, Server, MySQL
Ventajas
Escalable y modular
De fácil mantenimiento
Si falla un servidor no afecta a los demás
Desventajas
El desempeño no siempre es el mismo
Problemas de congestión de tráfico
Máquina virtual
El concepto es poder integrar varios sistemas operativos en un solo equipo llamado
anfitrión Host o hypervisor mediante una réplica de Hardware actual
Los recursos físicos se virtualizan generando réplicas exactas por lo tanto a cada sistema
operativo le corresponderá una copia con recursos reservados para lograrlo se debe de
recurrir a un software
Ejemplos de máquina virtual
Java Virtual Machine
Microsoft Hyper-V
Ventajas
Una máquina virtual está aislada del anfitrión y de otras máquinas virtuales lo cual
proporciona seguridad adicional
Múltiples entornos pueden coexistir
Desventajas
Son más complejas de administrar
Son menos eficientes ya que no están interactuando directamente con el Hardware
Exokernel
La estructura fue diseñada de tal forma que se hace para la protección de los recursos de
la administración
Los sistemas operativos Generalmente presentan los recursos de Hardware mediante
abstracciones (como sistema de archivo virtual)
Por el contrario la idea de este diseño es disminuir todo lo posible el número de
abstracciones posibles al programador y otorgar la libertad de elegir el nivel que requiere
(bajo o alto)
El kernel asigna los recursos físicos básicos de la máquina a los programas de aplicación
y el programa determina qué hacer con ellos
Dos ejemplos de estructura son
MIT AEGIS
MIT XOK
Estos dos han sido usados Únicamente con fines de investigación
Sabías que
Un archivo virtual es una interfaz de una primitiva del sistema operativo el cual provee
mecanismos para su gestión

También podría gustarte