sistemas operativos

Anuncio
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
SISTEMAS OPERATIVOS
Erika M. Barón González
Sistemas Operativos Multiusuario
Maihuadira@comunidad.unam.mx
dispositivos que van desde teléfonos celulares y
consolas de juegos hasta equipos para redes de
computadoras, entre otros.
Abstract
Un Sistema Operativo (SO) es una colección
organizada de rutinas de control que hacen
funcionar una computadora y proporcionan un
entorno para la ejecución de software de
aplicación Un SO también provee un canal de
comunicación entre el usuario y el hardware a
través de una interfaz.
2. Sistemas operativos.
Un sistema operativo es el encargado de
realizar tareas básicas como reconocimiento de la
conexión del teclado, envío de información a la
pantalla, almacenamiento de archivos y
directorios en distintos discos, control de
dispositivos periféricos, etc.
El objetivo principal de un SO es lograr que el
sistema de computo se empleé de manera cómoda
y el hardware de forma eficiente., así como
asegurar el correcto funcionamiento del sistema
informático.
Se comunica con el equipo a través de dos
tipos de impulsos eléctricos que son la base del
lenguaje binario, mismo que se considera un
lenguaje de bajo nivel y es prácticamente
incomprensible para el ser humano, una de las
funciones del sistema operativo en convertirlo a
uno de alto nivel que sea inteligible a las personas.
1. Introducción
El sistema operativo, constituido por varios
programas y subprogramas, reside dentro de un
sistema de cómputo y, efectúa la función de un
intermediario entre el usuario y el hardware y
software de la computadora; así, éste recibe las
peticiones del usuario, interactúa con la
computadora para indicarle a ésta las instrucciones
que debe seguir para realizar una tarea solicitada.
Para operar, el sistema operativo debe administrar
tanto los recursos de hardware como los de
software.
Los primeros equipos de computo operaron sin
un sistema operativo, sin embargo, considerando
que las tareas del operador generalmente se
trataban de una secuencia de pasos repetitivos, se
pensó en la posibilidad de plasmar estas
secuencias en un programa, mismo que más tarde
se convirtió en un SO.
Actualmente son una herramienta cotidiana y
de fácil utilización y han ampliado su rango de
acción, pues ofrecen gran flexibilidad de
operación y una gran variedad de funciones para
Existen diversos componentes que
constituyen un sistema operativo, entre los cuales
se distribuyen todas las tareas que éste realiza.
·
·
·
·
·
Administrador de procesos. Se encarga de dirigir
todas y cada una de las aplicaciones que se
ejecutes
Administrador de memoria. Controla las partes de
la memoria para conocer el espacio disponible de
las misma, los datos guardados en cada una de
ellas, etc.
Administrador de archivos. Crea y elimina
archivos y carpetas y controla los accesos.
Administrador de entrada/salida. Organiza y
prioriza todas las peticiones de entrada y salida de
información.
Administración de redes. Al establecer una
conexión entre diversos equipos estos se
identifican entre di de manera única, por lo que el
1
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
·
·
sistema operativo debe controlar el acceso a la
información del resto de los equipos conectados a
la red.
Sistema de protección. Identifica a los usuarios y
restringe el acceso a determinados procesos.
Interprete de comandos (Shell). Actúa como
conexión o enlace entre el usuario y el propio
sistema operativo, mostrándole un ambiente de
trabajo al que se le denomina interfaz.
La interfaz, que un sistema operativo muestra
al usuario, puede estar basada simplemente en
caracteres o también en imágenes. Una interfaz
basada en caracteres se conoce como de línea de
comando y en ella el usuario debe teclear cada una
de las órdenes que desee que el sistema ejecute;
ejemplos de este tipo de sistema son: MS-DOS de
Microsoft; DR-DOS de Digital Research y Unix
de los Laboratorios Bell.
En una interfaz grafica el usuario se comunica
a través de un ambiente plagado de imágenes
donde no requiere escribir comando alguno, sino
solamente utilizar algún dispositivo de entrada,
para elegir comandos cuyos símbolos se
encuentran distribuidos en diversas secciones de
la pantalla, tal es el caso de Windows de
Microsoft; Linux y Mac OSX de Apple.
Sin embargo, la clasificación de los sistemas
operativos no es única, existen otras
categorizaciones de acuerdo a las características
que los definen, como el número de usuarios que
pueden acceder a ellos simultáneamente.
Independientemente del tipo de sistema operativo
que utilicemos, éstos poseen básicamente un solo
funcionamiento el cual se basa en proporcionar
una plataforma de software que se utilizará para
que los otros programas, conocidos como
“aplicaciones”, puedan funcionar.
2.1. S.O. Multiusuario.
En general se le llama multiusuario a la
característica de un sistema operativo o programa
que permite proveer servicio y procesamiento a
múltiples usuarios simultáneamente, es decir, se
comparten recursos, que generalmente son una
combinación de:
·
·
·
·
·
Procesador.
Memoria.
Almacenamiento
Programas.
Periféricos
1.
Estructura básica de un SO multiusuario
De tal modo que los múltiples usuarios tienen
la impresión de utilizar un ordenador y un sistema
operativo unificado, que les están dedicados por
completo.
La compartición de los recursos de
procesamiento, almacenaje y periféricos facilita la
reducción de tiempo ocioso en el procesador, e
indirectamente implica reducción de los costos de
energía y equipamiento para resolver las
necesidades de cómputo de los usuarios.
Ejemplos
de sistemas
operativos con
característica de multiusuario son VMS y Unix,
así como sus múltiples derivaciones y los sistemas
tipo Unix como Linux, FreeBSD y Mac OS X. En
la familia de los sistemas operativos Microsoft
Windows, desde Windows 95 hasta la versión
Windows 2000, proveen soporte para ambientes
personalizados por usuario, pero no admiten la
ejecución de múltiples sesiones de usuario
mediante el entorno gráfico, las versiones de
Windows 2003 server y Windows 2008 server
ofrecen el servicio Terminal Server el cual
permite la ejecución remota de diferentes sesiones
de usuario.
2.2. Arquitecturas internas
El objetivo principal de una estructura en un
SO es proporcionar un régimen de organización
interna que facilite la comprensión, incremente la
portabilidad
y
extensión,
favorezca
el
mantenimiento y optimice la gestión de servicios,
entre los que se encuentran:
·
Interfaz de usuario (GUI, CLI)
2
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
·
·
·
·
·
·
·
Ejecución de programas
Administración de procesos
Administración de memoria
Administración de E/S
Administración del sistema de archivos
Comunicación
Detección de errores
Protección y seguridad
Un sistema operativo multiusuario consta de
dos partes indispensables para su funcionamiento:
el kernel y el Shell. El primero gestiona las
funciones del sistema operativo, es decir, facilita a
los distintos programas acceso seguro al hardware,
decide que programa podrá hacer uso de un
dispositivo y durante cuánto tiempo, garantiza la
carga y ejecución de los procesos, entre otros, y
el Shell, que es la interface entre el usuario y el
kernel, para ello utiliza una ventana a través de la
cual el usuario introduce ordenes escritas; se
puede decir que funciona como un intérprete.
2.
Sistemas de capas. Consiste en organizar el
sistema operativo mediante una jerarquía de capas
que permite disminuir la complejidad, cada capa
tiene una función claramente definida.
Las estructuras internas y los algoritmos de
una capa son independientes y algunas de ellas
puedes ser transparentes si sus servicios no son
necesarios.
4.
Diagrama de una estructura por capas.
Microkernels. La idea de esta estructura es
dividir el sistema operativo en módulos pequeños,
ejecutándose solo uno en modo kernel. , de esta
forma el error de un modulo no afecta todo el
sistema, además tienen la ventaja de ser fáciles de
mantener debido a la estructura modular. Un
sistema con microkernel es, por ejemplo, MacOS
X.
Diagrama de la función básica del núcleo.
Existen diversas estructuras utilizadas para
desarrollar los diferentes sistemas operativos,
entre ellas:
5.
Sistemas monolíticos. El sistema operativo
está formado por un conjunto de procedimientos
de forma que cada uno puede llamar a los demás
cuando los necesite. Todas las funciones que
realiza el sistema operativo se llevan a cabo con
un solo programa que se ejecuta en modo kernel.
3.
Diagrama de una estructura monolítica.
Diagrama básico de una estructura microkernel.
Maquinas virtuales. Se trata de realizar
copias exactas del hardware que tiene la maquina
real, incluyendo modo kernel y modo usuario, la
entrada y salida, etc. Cada máquina virtual es
idéntica al verdadero hardware y cada una puede
ejecutar un sistema operativo distinto.
6.
Diagrama de una estructura de maquina virtual.
3
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
Exokernels. Consiste en dividir recursos y
asignar a cada usuario una parte de esos recursos.
Permite que el desarrollador tome todas las
decisiones respecto al rendimiento del hardware.
Se llaman así porque toda la funcionalidad deja de
estar residente en memoria y pasa a estar en
librerías dinámicas.
7.
Diagrama básico de una estructura exokernel.
Dependiendo de la estructura de sistema
operativo, este tendrá unos elementos u otros
(procedimientos, rutinas, bibliotecas, drivers) y
estos se podrán ejecutar en modo kernel o modo
usuario.
2.2.1. Windows 7
La arquitectura de Windows es altamente
modular y se basa en dos capas principales:
§
§
Modo usuario: Cuyos programas y
subsistemas están limitados a los recursos del
sistema a los que tienen acceso.
Modo núcleo: Tiene acceso total a la
memoria del sistema y los dispositivos
externos. Los núcleos de los sistemas
operativos de esta línea son todos conocidos
como núcleos híbridos, aunque hay que
aclarar que este término está en discusión ya
que este núcleo es esencialmente un núcleo
monolítico que está estructurado al estilo de
un microkernel. La arquitectura dentro del
modo núcleo se compone de:
1.
2.
3.
4.
El modo núcleo está compuesto por
subsistemas capaces de pasar peticiones de E/S a
los controladores apropiados usando el gestor de
E/S. Dos subsistemas crean la capa del modo
usuario: el subsistema de Entorno (ejecuta
aplicaciones escritas para distintos tipos de
sistemas operativos), y el subsistema Integral
(maneja funciones específicas de sistema de parte
del subsistema de Entorno). El modo núcleo en
Windows tiene acceso total al hardware y a los
recursos del sistema de la computadora, impide a
los servicios del modo usuario y las aplicaciones
acceder a áreas críticas del sistema operativo a las
que no deberían tener acceso.
El Executive se relaciona con todos los
subsistemas del modo usuario. Se ocupa de la
entrada/salida, la gestión de objetos, la seguridad
y la gestión de procesos. El núcleo se sitúa entre
la Capa de Abstracción de Hardware y el
Executive
para
proporcionar sincronización
multiprocesador, hilos y programación y envío de
interrupciones, y envío de excepciones.
El núcleo también es responsable de la
inicialización de los controladores de dispositivos
al arrancar. Hay tres niveles de controladores en el
modo núcleo: controladores de alto nivel,
controladores intermedios y controladores de bajo
nivel. El modelo de controladores de Windows se
encuentra en la capa intermedia y fue diseñado
principalmente para mantener la compatibilidad
en binario y en código fuente entre versiones
diferentes.
Un núcleo híbrido.
Una Capa de Abstracción de Hardware.
Controladores o drivers.
Executive.
Sobre
el
cual
son
implementados todos los servicios de
alto nivel.
8.
Arquitectura de un sistema operativo Windows.
4
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
Para establecer relaciones entre las diferentes
capas se dispone de cuatro posibilidades:
2.2.2. UNIX
·
·
Es un sistema operativo interactivo de tiempo
compartido, controla los recursos de una
computadora y los asigna entre los usuarios.
Permite a los usuarios correr sus programas y
controla los dispositivos de periféricos conectados
a la máquina.
El sistema se basa en un Kernel, que reside
permanentemente en la memoria, y que atiende a
todas las llamadas del sistema, administra el
acceso a los archivos y el inicio o la suspensión de
las tareas de los usuarios.
La comunicación con el sistema UNIX se da
mediante el shell, cuyas características lo hacen
sumamente flexible para las tareas de un centro de
cómputo
Diferentes usuarios pueden tener acceso a
versiones distintas del sistema operativo debido a
la capacidad del shell para configurar diversos
ambientes de ejecución.
·
·
Llamadas al sistema.
Procedimientos estándar característicos
de lenguaje C.
Utilidades suministradas con el sistema.
Controladores de E/S suministrados con
el sistema, variables de una instalación a
otra.
2.2.3. Linux
La arquitectura LINUX se divide en tres
capas:
1.
Modo usuario, donde se ejecutan todos los
procesos de usuario, sin capacidad para
ejecutar las instrucciones más privilegiadas
del procesador.
2. Modo núcleo, es el privilegiado del procesador
donde
pueden
ejecutarse
todas
sus
instrucciones sin restricciones.
3. El nivel del hardware, correspondiente al
hardware especifico conectado en el sistema.
9.
Arquitectura de un sistema operativo UNIX.
En UNIX se distinguen esencialmente tres
capas:
·
·
·
La comunicación entre los procesos de usuario
y el núcleo se realiza a través de la librería del
sistema, que genera una interrupción de software
cada vez que se realiza una llamada al sistema
para obtener un servicio del núcleo.
Respecto a la estructura interna del núcleo,
LINUX utiliza una arquitectura monolítica
tradicional.
Procesos de usuarios
Núcleo
Controladores de periféricos
Estas constituyen dominios a través de los
cuales las peticiones de las aplicaciones
experimentan diferentes tratamientos antes de
llegar a su destino.
Un usuario puede crear directamente procesos
a todos los niveles, excepto en el núcleo.
10. Arquitectura del sistema operativo LINUX.
5
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
FACULTAD DE CONTADURIA Y ADMINISTRACION
2.2.4. MacOS X
El Mac OS X posee una arquitectura modular
que se construye a partir de cuatro componentes
básicos: el sistema operativo central Darwin, un
conjunto de estructuras de aplicaciones, sistemas
de gráficos basados en estándares y la interfaz de
usuario.
El kernel de Mac OS es un sistema
originalmente basado en una estructura de
microkernel. Sin embargo, el uso que se hace de
este sistema en Mac OS X no es como
microkernel, sino que ha sido adaptado a las
necesidades de Mac OS X. En este caso concreto,
Mach esta enlazado con el resto de componentes
del sistema, de forma que todo ello pertenece a un
único espacio de direcciones. Este diseño está
motivado por razones de eficiencia, ya que una
llamada directa entre módulo directamente
enlazados es más rápida que una llamada a
procedimiento remoto o el envío de un mensaje.
En cualquier caso, el kernel de Mac OS X sigue
manteniendo un alto grado de modularidad
ofreciendo más flexibilidad y sencillez que un
kernel puramente monolítico.
de núcleo avanzada ofrece capacidad para
múltiples procesadores,
un
alto rendimiento,
ancho de banda de entrada/salida modular y un
penetrante sistema multihilo para su sistema de
procesos multitarea reentrante, flexibilidad gráfica
y respuesta en tiempo real.
12. Arquitectura de BeOS, sobre la cual se basa Haiku.
3. Referencias
[1] Andrew S. Tanenbaum, “Sistemas Operativos
Modernos”, Prentice Hall, 2a edición, 2003.
[2] Gary Nutt, “Sistemas Operativos”, Addison Wesley;
3a edición, 2004.
[3] Clases virtuales, Sistemas operativos multiusuarios,
Plataforma SUA.
11. Arquitectura del sistema operativo MacOS X.
2.2.5. Haiku
Haiku es un sistema operativo de código
abierto que se centra específicamente en la
informática personal y multimedia. Inspirado
por BeOS, Haiku aspira a convertirse en un
sistema rápido, eficiente, fácil de usar y fácil de
aprender, sin descuidar su potencia para los
usuarios de todos los niveles; cuenta con un
micronúcleo modular propio, el cual será
altamente
optimizado
para trabajo con audio, vídeo, gráficos,
y
animaciones en tres dimensiones. Su arquitectura
6
Descargar