![]() | ||||||||
LA MAGIA ESTA EN TUS MANOS. |
Archivo del blog
lunes, 28 de agosto de 2017
1.1 Definición y Concepto.
1.1 Definición y concepto.
Un
sistema operativo o tambien conocido como software de sistema es el
programa más
importante de un Computador. Se le denomina así al conjunto de programas
informaticos que permiten una satisfactoria administración de los
recursos que ostenta una computadora. Nos sirve para que funcionen los
otros programas,
cada computador de uso general debe tener un sistema operativo.
En sisntesis es el conjunto de programas que se integran con el hardware para facilitar al usuario, el aprovechamiento de los recursos disponibles.Es el programa o programas que tienen todas las computadoras modernas, el usuario de un equipo de computo no tiene que preocuparse por como funciona.
En sisntesis es el conjunto de programas que se integran con el hardware para facilitar al usuario, el aprovechamiento de los recursos disponibles.Es el programa o programas que tienen todas las computadoras modernas, el usuario de un equipo de computo no tiene que preocuparse por como funciona.
El sistema operativo consiste en la gestión de
señales E/S (señales de Entrada y Salida), con lo que permiten que al
hacer una operación específica (señal de entrada) se obtenga siempre un
mismo resultado (señal de salida).
1.2 funciones y caracteristicas.
¿ De qué se encarga?
Los
sistemas operativos realizan tareas básicas, tales como reconocimiento
de la conexión del teclado, enviar la información a la pantalla, no
perder de vista archivos y directorios en el disco, y controlar los
dispositivos periféricos tales como impresoras, escáner, etc.
En sistemas grandes, el sistema operativo tiene incluso mayor
responsabilidad y poder, es como un policía de tráfico, se asegura de
que los programas y usuarios que están funcionando al mismo tiempo no
interfieran entre ellos. El sistema operativo también es responsable de
la seguridad y protección, asegurándose de que los usuarios no autorizados no tengan
acceso al sistema.

Permite que el usuario pueda interactuar con la
computadora a través de diversos comandos, que son interpretados por el
sistema operativo.
- Provee de un ambiente conveniente de trabajo.
- Hace uso eficiente del Hardware.
- Provee de una adecuada distribución de los recursos.
- Gobierna el Sistema.
- Asigna los recursos.
- Administra y controlar la ejecución de los programas.
Cuando existen varios programas en espera de ser procesados, el sistema operativo debe decidir el orden de procesamiento de ellos, así como asignar los recursos necesarios para su proceso.
ADMINISTRACION DE RECURSOS
Mediante está función el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.
CONTROL DE OPERACIONES DE ENTRADA Y SALIDA
Mediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en que momento.
ADMINISTRACION DE LA MEMORIA
Supervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en que momento, además libera la memoria cuando ya no es requerida para el proceso.
RECUPERACION DE ERRORES
El sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida.
PROGRAMAS DE PROCESO
El sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos:
A) UTILERIAS DEL SISTEMA
Se ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno.
B) UTILERIAS PARA ARCHIVOS
Manejan información de los archivos tales como imprimir, clasificar, copiar, etc.
C) UTILERIAS INDEPENDIENTES
Realizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga del sistema operativo, etc.
Caracteristicas:
Los sistemas operativos se dividen en gráficos y de texto.
- Los sistemas operativos gráficos permiten una operación más eficiente del dispositivo que lo usa, y el cual es accesible mediante un dispositivo apuntador (mouse o touch pad) o mediante sistemas táctiles. Los primeros sistemas de este tipo fueron Mac OS y Windows.
- Todos los sistemas operativos permiten al usuario utilizar una serie de instrucciones programadas (programas o software) para obtener un nuevo proceso de instrucciones o lograr un resultado físico, en alguno de los elementos periféricos de hardware.
- Los sistemas operativos tienen la característica de ser progresivos en su evolución para mejorar y adaptarse a las nuevas necesidades y situaciones, (mejor hardware, correcciones del sistema, actualizaciones, etc.).
1.3 Evolución Historica.
Evolución Historica.
![]() |
LA IMAGINACION NO TIENE LIMITES. |
Años 40-90.
La informática tal y como se le conoce hoy día, surgió a raíz de la
II Guerra Mundial, en la década de los 40. En esos años no existía
siquiera el concepto de “Sistema Operativo” y los programadores
interactuaban directamente con el hardware de las computadoras
trabajando en lenguaje máquina (esto es, en binario, programando
únicamente con 0s y 1s).
El concepto de Sistema Operativo surge en la década de los 50. El
primer Sistema Operativo de la historia fue creado en 1956 para un
ordenador IBM 704, y básicamente lo único que hacía era comenzar la
ejecución de un programa cuando el anterior terminaba.
En los años 60 se produce una revolución en el campo de los Sistemas
Operativos. Aparecen conceptos como sistema multitarea, sistema
multiusuario, sistema multiprocesadores y sistema en tiempo real.
Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que existen hoy en día.
- En los años 70 se produce un boom en cuestión de ordenadores personales, acercando estos al público general de manera impensable hasta entonces. Esto hace que se multiplique el desarrollo, creándose el lenguaje de programación C (diseñado específicamente para reescribir por completo el código UNIX).
Como consecuencia de este crecimiento exponencial de usuarios, la
gran mayoría de ellos sin ningún conocimiento sobre lenguajes de bajo o
alto nivel, hizo que en los años 80, la prioridad a la hora de diseñar
un sistema operativo fuese la facilidad de uso, surgiendo así las
primeras interfaces de usuario.
En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.
En la década de los 90 hace su aparición Linux, publicándose la
primera versión del núcleo en septiembre de 1991, que posteriormente se
uniría al proyecto GNU, un sistema operativo completamente libre,
similar a UNIX, al que le faltaba para funcionar un núcleo funcional.
Hoy en día la mayoría de la gente conoce por Linux al Sistema Operativo
que realmente se llama GNU/Linux
A finales de la década de 1940, con lo que se podría considerar la aparición de la primera generación de computadoras,
se accedía directamente a la consola de la computadora desde la cual se
actuaba sobre una serie de micro interruptores que permitían introducir
directamente el programa en la memoria de la computadora (en realidad
al existir tan pocas computadoras todos podrían considerarse prototipos y
cada constructor lo hacía sin seguir ningún criterio predeterminado).
Por aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el hardware
del computador sin ayuda externa. Esto hacía que el tiempo de
preparación para realizar una tarea fuera considerable. Además para
poder utilizar la computadora
debía hacerse por turnos. Para ello, en muchas instalaciones, se
rellenaba un formulario de reserva en el que se indicaba el tiempo que
el programador necesitaba para realizar su trabajo. En aquel entonces
las computadoras eran máquinas muy costosas lo que hacía que estuvieran
muy solicitadas y que sólo pudieran utilizarse en periodos breves de
tiempo. Todo se hacía en lenguaje de máquina.
La década de 1950 (Sistema Batch)
A principios de los años 50
con el objeto de facilitar la interacción entre persona y computadora,
los sistemas operativos hacen una aparición discreta y bastante simple,
con conceptos tales como el monitor residente, el proceso por lotes y el
almacenamiento temporal.
Monitor residente
Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjetas perforadas,
y ejecutarlos. El problema era encontrar una forma de optimizar el
tiempo entre la retirada de un trabajo y el montaje del siguiente.
Procesamiento por lotes
Como solución para optimizar, en una misma cinta o conjunto de
tarjetas, se cargaban varios programas, de forma que se ejecutaran uno a
continuación de otro sin perder apenas tiempo en la transición.
Almacenamiento temporal
Su objetivo era disminuir el tiempo de carga de los programas,
haciendo simultánea la carga del programa o la salida de datos con la
ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas,
el buffering y el spooling.
La década de 1960
En los años 60 se produjeron cambios notorios en varios campos de la informática,
con la aparición del circuito integrado la mayoría orientados a seguir
incrementando el potencial de los ordenadores. Para ello se utilizaban
técnicas de lo más diversas.
Multiprogramación
En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU
ejecuta instrucciones de un programa, cuando el que se encuentra en
ejecución realiza una operación de E/S; en lugar de esperar a que
termine la operación de E/S, se pasa a ejecutar otro programa. Si éste
realiza, a su vez, otra operación de E/S, se mandan las órdenes
oportunas al controlador, y pasa a ejecutarse otro. De esta forma es
posible, teniendo almacenado un conjunto adecuado de tareas en cada
momento, utilizar de manera óptima los recursos disponibles.
Tiempo compartido
Artículo principal: Tiempo compartido
En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece la falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido.
En estos sistemas los programas de los distintos usuarios residen en
memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación.
Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo
ejecutándose el sistema operativo lo detiene para que se ejecute otra
aplicación.
Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar
en tiempos muy breves un gran número de sucesos, en su mayoría externos
al ordenador. Si el sistema no respeta las restricciones de tiempo en
las que las operaciones deben entregar su resultado se dice que ha
fallado. El tiempo de respuesta a su vez debe servir para resolver el
problema o hecho planteado. El procesamiento de archivos se hace de una
forma continua, pues se procesa el archivo antes de que entre el
siguiente, sus primeros usos fueron y siguen siendo en
telecomunicaciones.
Multiprocesador
Diseño que no se encuentran en ordenadores monoprocesador. Estos
problemas derivan del hecho de que dos programas pueden ejecutarse
simultáneamente y, potencialmente, pueden interferirse entre sí.
Concretamente, en lo que se refiere a las lecturas y escrituras en
memoria. Existen dos arquitecturas que resuelven estos problemas:
La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Esta última debe lidiar con el problema de la coherencia de caché.
Cada microprocesador cuenta con su propia memoria cache local. De
manera que cuando un microprocesador escribe en una dirección de
memoria, lo hace únicamente sobre su copia local en caché. Si otro
microprocesador tiene almacenada la misma dirección de memoria en su
caché, resultará que trabaja con una copia obsoleta del dato almacenado.
Para que un multiprocesador
opere correctamente necesita un sistema operativo especialmente
diseñado para ello. La mayoría de los sistemas operativos actuales
poseen esta capacidad.
La década de 1970
Sistemas operativos desarrollados
Además del Atlas Supervisor y el OS/360, los años 1970
marcaron el inicio de UNIX, a mediados de los 60 aparece Multics,
sistema operativo multiusuario – multitarea desarrollado por los
laboratorios Bell de AT&T y Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la revolucionaria orientación a objetos, Smalltalk.
Inconvenientes de los Sistemas operativos
Se trataba de sistemas grandes, complejos y costosos, pues antes no
se había construido nada similar y muchos de los proyectos desarrollados
terminaron con costos muy por encima del presupuesto y mucho después de
lo que se marcaba como fecha de finalización. Además, aunque formaban
una capa entre el hardware y el usuario, éste debía conocer un complejo
lenguaje de control para realizar sus trabajos. Otro de los
inconvenientes es el gran consumo de recursos que ocasionaban, debido a
los grandes espacios de memoria principal y secundaria ocupados, así
como el tiempo de procesador consumido. Es por esto que se intentó hacer
hincapié en mejorar las técnicas ya existentes de multiprogramación y
tiempo compartido.
Características de los nuevos sistemas
Sistemas operativos desarrollados
- MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180.
Fue uno de los primeros. Además, los traducía a instrucciones de alto nivel destinadas a BDOS.
- BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.
- CP/M: (Control Program for Microcomputers) fue un sistema operativo desarrollado por Gary Kildall para el microprocesador Intel 8080 (los Intel 8085 y Zilog Z80 podían ejecutar directamente el código del 8080, aunque lo normal era que se entregara el código recompilado para el microprocesador de la máquina). Se trataba del sistema operativo más popular entre las computadoras personales en los años 70. Aunque fue modificado para ejecutarse en un IBM PC, el hecho que IBM eligiera MS-DOS, al fracasar las negociaciones con Digital Research, hizo que el uso de CP/M disminuyera hasta hacerlo desaparecer. CP/M originalmente significaba Control Program/Monitor. Más tarde fue renombrado a Control Program for Microcomputers. En la época, la barra inclinada (/) tenía el significado de “diseñado para”. No obstante, Gary Kildall redefinió el significado del acrónimo poco después. CP/M se convirtió en un estándar de industria para los primeros micro-ordenadores.
El hecho de que, años después, IBM eligiera para sus PC a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo.
La década de 1980
Con la creación de los circuitos LSI -integración a gran escala-, chips que contenían miles de transistores
en un centímetro cuadrado de silicio, empezó el auge de los ordenadores
personales. En éstos se dejó un poco de lado el rendimiento y se buscó
más que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas.
Esto reducía la rapidez de las aplicaciones, pero se volvían más
prácticos y simples para los usuarios. En esta época, siguieron
utilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980
fue el desarrollo de redes de computadoras personales que corrían
sistemas operativos en red y sistemas operativos distribuidos. En esta
escena, dos sistemas operativos eran los mayoritarios: MS-DOS (Micro Soft Disk Operating System), escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacían uso del Motorola 68000.
Mac OS
Artículo principal: Macintosh
El lanzamiento oficial del ordenador Macintosh en enero de 1984, al precio de US $1,995 (después cambiado a $2,495 dólares)[1]. Incluía su sistema operativo Mac OS cuya características novedosas era una GUI (Graphic User Interface), Multitareas y Mouse. Provocó diferentes reacciones entre los usuarios acostumbrados a la línea de comandos y algunos tachando el uso del Mouse como juguete.
MS-DOS
Artículo principal: MS-DOS
En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirtió en la primera versión de MS-DOS (Micro Soft Disk Operating System).
A partir de aquí se sucedieron una serie de cambios hasta llegar a la
versión 7.1, versión 8 en Windows Milenium, a partir de la cual MS-DOS
dejó de existir como un componente del Sistema Operativo.
Microsoft Windows
Artículo principal: Microsoft Windows
A mediados de los años 80 se crea este sistema operativo, pero no es
hasta la salida de (Windows 95) que se le puede considerar un sistema
operativo, solo era una interfaz gráfica del (MS-DOS) en el cual se
disponía de unos diskettes para correr los programas. Hoy en día es el
sistema operativo más difundido en el ámbito doméstico, aunque también
hay versiones para servidores como Windows NT. (Microsoft) ha diseñado
también algunas versiones para superordenadores, pero sin mucho éxito.
Años después se hizo el (Windows 98) que era el más eficaz de esa época.
Después se crearía el sistema operativo de (Windows ME) (Windows
Millenium Edition) aproximadamente entre el año 1999 y el año 2000. Un
año después se crearía el sistema operativo de (Windows 2000) en ese
mismo año. Después le seguiría el sistema operativo más utilizado en la
actualidad, (Windows XP) y otros sistemas operativos de esta familia
especializados en las empresas. (Windows 7) (Windows Seven) salió al
mercado el 22 de octubre del 2009, dejó atrás a (Windows Vista), que
tuvo innumerables críticas durante el poco tiempo que duró en el
mercado. El más reciente hasta la fecha es (Windows 8) (Windows Eight)
lanzado en octubre de 2012.
La década de 1990
GNU/Linux
Artículo principal: GNU/Linux
Este sistema al parecer es una versión mejorada de Unix, basado en el estándar POSIX,
un sistema que en principio trabajaba en modo comandos. Hoy en día
dispone de Ventanas, gracias a un servidor gráfico y a gestores de
ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl o Compiz. Lo que permite utilizar Linux de una forma visual atractiva.
Existen muchas distribuciones actuales de Gnu/Linux (Debian, Fedora,
Ubuntu, Slackware, etc.) donde todas ellas tienen en común que ocupan el
mismo núcleo Linux. Dentro de las cualidades de Gnu/Linux se puede
caracterizar el hecho de que la navegación a través de la web es sin
riegos de ser afectada por virus, esto debido al sistema de permisos
implementado, el cual no deja correr ninguna aplicación sin los permisos
necesarios, permisos que son otorgados por el usuario. A todo esto se
suma que los virus que vienen en dispositivos desmontables tampoco
afectan al sistema, debido al mismo sistema de permisos.
ReactOS
Artículo principal: ReactOS
ReactOS
(React Operating System) es un sistema operativo de código abierto
destinado a lograr la compatibilidad binaria con aplicaciones de
software y controladores de dispositivos hechos para Microsoft Windows
NT versiones 5.x en adelante (Windows XP y sus sucesores).
En 1996 un grupo de programadores y desarrolladores de software libre
comenzaron un proyecto llamado FreeWin95 el cual consistía en
implementar un clon de Windows 95.
El proyecto estuvo bajo discusión por el diseño del sistema ya habiendo
desarrollado la capa compatible con MS-DOS, pero lamentablemente esta
fue una situación que no se completó. Para 1997 el proyecto no había
lanzado ninguna versión, por lo que los miembros de éste, coordinados
por Jason Filby, pudieron revivirlo. Se decidió cambiar el núcleo del
sistema compatible con MS-DOS y de ahora en adelante basarlo en uno compatible con Windows NT,
y así el proyecto pudo seguir adelante con el nombre actual de ReactOS,
que comenzó en febrero de 1998, desarrollando las bases del kernel y
algunos drivers básicos.
1.4 Clasificación.
Se clasifican en:
ADMINISTRACIÓN DE TAREAS:
MONOTAREA: los que permiten sólo ejecutar un programa a la vez
MULTITAREA:
los que permiten ejecutar varias tareas o programas al mismo
tiempo.
ADMINISTRACIÓN DE USUARIOS
MONOUSUARIO: aquellos que sólo permiten trabajar a un usuario, como es el caso de los ordenadores personales
MULTIUSUARIO: los que permiten que varios usuarios ejecuten sus programas a la vez.
ORGANIZACIÓN INTERNA O ESTRUCTURA
Monolítico
Jerárquico
Cliente-servidor
MANEJO DE RECURSOS O ACCESO A SERVICIOS
CENTRALIZADOS: si permite utilizar los recursos de un solo ordenado.
DISTRIBUIDOS: si permite utilizar los recursos (CPU, memoria, periféricos...) de más de un ordenador al mismo tiempo.
MULTIPROCESADOR:
soporta el abrir un mismoprograma en más de una CPU.
1.5 Estructura: niveles o estratos de diseño.
Estructura Básica.
A) CARGADOR
Cualquier programa que requiere ser ejecutado en la
computadora, deberá ser transferido desde su lugar de residencia a la
memoria principal.
B) CARGADOR PARA EL SISTEMA OPERATIVO
Este programa se encarga de transferir desde algún medio de
almacenamiento externo (disco, cinta o tambor) a la memoria principal,
los programas del sistema operativo que tienen como finalidad establecer
el ambiente de trabajo del equipo de cómputo. Existe un programa
especial almacenado en memoria ROM que se encarga de accesar a este
programa cargador. Cuando el sistema operativo esta cargado en memoria
toma el control absoluto de las operaciones del sistema.
C) CARGADOR INCLUIDO EN EL SISTEMA OPERATIVO
Su función es cargar a memoria todos los archivos necesarios para la ejecución de un proceso.
SUPERVISOR (EJECUTIVO O MONITOR)
Es el administrador del sistema que controla todo el proceso
de la información por medio de un gran número de rutinas que entran en
acción cuando son requeridos. Funge como enlace entre los programas del
usuario y todas las rutinas que controlan los recursos requeridos por el
programa para posteriormente continuar con su ejecución.
El supervisor también realiza otras funciones como son:
- Administra la memoria.
- Administración de las rutinas que controlan el funcionamiento de los recursos de la computadora.
- Manejo de Archivos
- Administración y control de la ejecución de los programas.
LENGUAJE DE COMUNICACION
Es el medio a través del cual el usuario interactúa
directamente con el sistema operativo y esta formado por comandos que
son introducidos a través de algún dispositivo. Generalmente un comando
consta de dos partes, la primera formada por una palabra que identifica
el comando y la acción a realizar y la segunda parte por un conjunto de
valores o parámetros que permiten seleccionar diversas operaciones de
entre los que dispone el comando.
UTILERIA DE SISTEMA
Son programas o rutinas del sistema operativo que realizan
diversas funciones de uso común o aplicación frecuente como son:
clasificar, copiar e imprimir información.
Estratos de diseño:
- Sistemas monolíticos
En
estos sistemas operativos se escriben como un conjunto de procedimientos, cada
uno de los cuales puede llamar a cualquiera de los otros siempre que lo
necesite. Cuando se emplea esta técnica, cada procedimiento del sistema tiene
una interfaz bien definida en términos de parámetros y resultados, y cada una
tiene la libertad de llamar a cualquiera otra, si la última ofrece algún
cálculo útil que la primera necesite.
Construcción de programa final a base de módulos
compilados separadamente que se une a través del editor de enlaces.
Caracteristicas:
- Buena definición de parámetros de enlace entre la rutinas existentes.
- Carecen de protección y privilegios al entrar y manejan diferentes aspectos de la computadora.
- Generalmente están hechos a la medida.
- Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una determinada función siguiendo una serie de procesos ya determinados.
Para
construir el programa objeto real del sistema operativo cuando se usa este
método, se compilan todos los procedimientos individuales a archivos que
contienen los procedimientos y después se combinan todos en un solo archivo
objeto con el enlazador.
En
términos de ocultamiento de información, esencialmente no existe ninguno; todo
procedimiento es visible para todos (al contrario de una estructura que
contiene módulos o paquetes, en los cuales mucha información es local a un
módulo y sólo pueden llamar puntos de registro designados oficialmente del
exterior del módulo)
Esta
organización sugiere una estructura básica del sistema operativo:
1.-
Un programa central que invoque el procedimiento de servicio solicitado (Shell
o Kernel)
2.-
Un conjunto de procedimientos de servicios que realice las llamadas al sistema.
3.-
Un conjunto de procedimientos de uso general que ayude a los procedimientos de
servicio.
Sistemas en estratos
Estos
sistemas operativos se organizan como una jerarquía de estratos, cada uno
construido arriba del que está debajo de él. El primer sistema construido en
esta forma fuel el sistema THE que se fabricó en Technische Hogeschool
Eindhoven de Holanda por E. W Dijkstra (1968) y sus alumnos. El sistema THE era
un sistema de lote para una computadora alemana, la Electrológica X8, que tenía
32K de palabras de 27 bits ( los bits eran costosos en aquellos días)
Características.
- Las zonas mas intensas o nucleo están mas protegidas de posibles accesos indeseados desde las capas mas externas.
- Tienes un contacto mas próximo con el hardware.
- Núcleo mínimo, mas seguro y ágil.
En esta
estructura se basan prácticamente la mayoría de los SO actuales. Otra forma de
ver este tipo de sistema es la denominación de anillos concéntricos o “RINGS”
Ejemplos:(Multics y Unix)
Estructura por microkernel
Las
funciones centrales de un SO son controladas por el núcleo (kernel) mientras
que la interfaz del us
uario es controlada por el entorno (shell). Por ejemplo,
la parte más importante del DOS es un programa con el nombre
"COMMAND.COM" Este programa tiene dos partes. El kernel, que se
mantiene en memoria en todo momento, contiene el código máquina de bajo nivel
para manejar la administración de hardware para otros programas que necesitan
estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es
el interprete de comandos
Las funciones de bajo nivel del SO y las funciones de interpretación de
comandos están separadas, de tal forma que puedes mantener el kernel DOS
corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente
lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell,
reemplazando la interfaz de línea de comandos con una interfaz gráfica del
usuario. Existen muchos "shells" diferentes en el mercado, ejemplo:
NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la
versión 5.0 incluyó un Shell llamado DOS SHELL.
Estructura cliente – servidor
Una tendencia de los sistemas operativos modernos es la de explotar la idea de
mover el códi
go a capas superiores y eliminar la mayor parte posible del
sistema operativo para mantener un núcleo mínimo. El punto de vista
usual es el
de implantar la mayoría de las funciones del sistema operativo en los procesos
del usuario. Para solicitar un servicio, como la lectura de un bloque de cierto
archivo, un proceso del usuario (denominado proceso cliente) envía la solicitud
a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta.
En este modelo, que se muestra en la figura 4, lo ún
ico que hace el núcleo es
controlar la comunicación entre los clientes y los servidores. Al separar el
sistema operativo en partes, cada una de ellas controla una faceta del sistema,
como el servicio a archivos, servicios a procesos, servicio a terminales o
servicio a la memoria, cada parte es pequeña y controlable. Además como todos
los servidores se ejecutan como procesos en modo usuario y no en modo núcleo,
no tienen acceso directo al hardware. En consecuencia si hay un error en el
servidor de archivos, éste puede fallar, pero esto no afectará en general a
toda la máquina.
Otra
de las ventajas del modelo cliente-servidor es su capacidad de adaptación para
su uso en los sistemas distribuidos
Si un cliente se comunica con un servidor mediante
mensajes, el cliente no necesita saber si el mensaje se maneja en forma local,
en su máquina, o si se envía por medio de una red a un servidor en una máquina
remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envió
una solicitud y se recibió una respuesta
Características.
- Coordina, permite el trabajo entre iguales.Cliente; inicia las solicitudes o peticiones (maestro)
- Espera y recibe respuesta del servidorSe puede conectar a varios servidores a la vez .
- Servidor:
- Esclavo, espera las solicitudes del cliente
- Aceptan conexiones desde un gran numero de clientes.
EJEMPLOS
- Sistema operativo Novell NetWare 1983, plataforma mas fiable para ofrecer acceso seguro.
- Windows 2000
- Cualquiera de este puede compartir sus recursos con otro Windows 2000
- Windows xp
Se trata de un tipo de
sistemas operativos que presentan una interface a cada proceso, mostrando una
máquina que parece idéntica a la máquina real subyacente. Estos sistemas
operativos separan dos conceptos que suelen estar unidos en el resto de
sistemas: la multiprogramación y la máquina extendida. El objetivo de los
sistemas operativos de máquina virtual es el de integrar distintos sistemas
operativos dando la sensación de ser varias máquinas diferentes.
a la máquina extendida al usuario
Características.
- Se puede hacer varios sistemas operativos sin necesidad de crear particiones.
- Se puede simular el hardware Gran capacidad de disco duro-memoria ram
- Protección cada maquina virtual esta aislada de las otras y no puede inferir.
EJEMPLOS
- Nachos: sistema operativo se ejecuta en una virtual mips, cuyo emulador corre sobre Linux.
- IBM IV: ofrecía a cada usuario su propia maquina virtual no multiprogramado.
Suscribirse a:
Entradas (Atom)