SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
s
    2010


       Sistemas Operativos
       Interfaz entre Hardware y Software
       En nuestros días, las computadoras son una parte esencial de nuestras vidas,
       son tan necesarias para la mayoría de los casos en la actualidad, estudiaremos
       en este documento la manera en que interactúa el Hardware con el software
       que conocemos, como son software de Ofimática, software de diseño, edición,
       mails, entre otros.




                                                     Juan Manuel Pavon Ortiz
                                                      Jamil Enríquez Deceano
                                                                  23/10/2010
Instituto Tecnológico Superior De Acayucan



        Ingeniería en Informática
      Fundamentos de investigación



           Sistemas Operativos




       Ing. Gerardo Paxtian Méndez

               I Semestre




         Juan Manuel Pavon Ortiz

         Jamil Enríquez Deceano



              Octubre 2010
Introducción
Un Sistema operativo (SO) es un software que actúa
de interfaz entre los dispositivos de hardware y los
programas de usuario o el usuario mismo para utilizar
un computador. Es responsable de gestionar,
coordinar las actividades y llevar a cabo el
intercambio de los recursos y actúa como
intermediario para las aplicaciones que se ejecutan.

Nótese que es un error común muy extendido
denominar al conjunto completo de herramientas
sistema operativo, pues este, es sólo el núcleo y no
necesita de entorno operador para estar operativo y
funcional. Uno de los más prominentes ejemplos de
esta diferencia, es el SO Linux, el cual junto a las
herramientas      GNU,   forman      las   llamadas
distribuciones Linux.

Este error de precisión, se debe a la modernización de la informática llevada a cabo
a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los
grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso,
cambiando el concepto de computador multiusuario, (muchos usuarios al mismo
tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más
sencillo de gestionar. AmigaOS, beOS o MacOS como los pioneros de dicha
modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video
Toasters por su capacidad para la Edición de vídeo en entorno multitarea round
robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D con
programas como Imagine o Scala multimedia, entre muchos otros.

Uno de los propósitos de un sistema operativo como intermediario consiste en
gestionar los recursos de localización y protección de acceso del hardware, hecho
que alivia a los programadores de aplicaciones de tener que tratar con estos detalles.
Se encuentran en la mayoría de los aparatos electrónicos que utilizan
microprocesadores para funcionar. (Teléfonos móviles, reproductores de DVD,
computadoras, radios, etc.)

Parte de la infraestructura de la World Wide Web está compuesta por el Sistema
Operativo de Internet, creado por Cisco Systems para gestionar equipos de
interconexión como los conmutadores y los enrutadores.
Definición y Concepto.
Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una
definición exacta, es decir una que sea estándar; a continuación se presentan
algunas:

Se pueden imaginar un Sistema Operativo como los programas, instalados en el
software o firmware+, que hacen utilizable el hardware. El hardware proporciona la
“capacidad bruta de cómputo”; los sistemas operativos ponen dicha capacidad de
cómputo al alcance de los usuarios y administran cuidadosamente el hardware para
lograr un buen rendimiento.

Los Sistemas Operativos son ante todo administradores de recursos; el principal
recurso que administran es el hardware del computador; además de los
procesadores, los medios de almacenamiento, los dispositivos de entrada / salida,
los dispositivos de comunicación y los datos.



¿Que es Sistema Operativo?

Es una colección de mecanismos de software destinados a servir de interface entre
un sistema informático y sus usuarios, el cual ofrece herramientas y facilidades para
simplificar las tareas de diseño codificación depuración, actualización, etc.

¿Que hace?

Administrar todos los recursos hardware y software que constituyen el sistema
informático a explotar.

¿Como nació?

Nació con la necesidad de llevar el control de quien utiliza los recursos software
usuario(s).
Definición Global.

Un Sistema Operativo es un programa que actúa como intermediario entre el usuario
y el hardware del computador y su propósito es proporcionar el entorno en el cual el
usuario pueda ejecutar programas. Entonces, el objetivo principal de un Sistema
Operativo es, lograr que el sistema de computación se use de manera cómoda, y el
objetivo secundario es que el hardware del computador se emplee de manera
eficiente.

Un Sistema Operativo es un conjunto de programas que controla la ejecución de
programas de aplicación y actúa como una interfaz entre el usuario y el hardware de
una computadora, esto es, un Sistema Operativo explota y administra los recursos de
hardware de la computadora con el objeto de proporcionar un conjunto de servicios a
los usuarios del sistema.

En resumen, se podría decir que los Sistemas Operativos son un conjunto de
programas que crean la interfaz del hardware con el usuario, y que tiene dos
funciones primordiales, que son:

       Gestionar el hardware. Se refiere al hecho de administrar de una forma más
       eficiente los recursos de la máquina.
       Facilitar el trabajo al usuario. Permite una comunicación con los dispositivos
       de la máquina.

El Sistema Operativo se encuentra almacenado en la memoria secundaria. Primero
se carga y ejecuta un pedazo de código que se encuentra en el procesador, el cual
carga el BIOS, y este a su vez carga el Sistema Operativo que carga todos los
programas            de        aplicación         y          software        variado.
Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que
exigen más memoria principal de la realmente disponible. Con esta técnica se
emplea espacio en el disco duro para simular la memoria adicional necesaria. Sin
embargo, el acceso al disco duro requiere más tiempo que el acceso a la memoria
principal, por lo que el funcionamiento del ordenador resulta más lento.
Funciones y Características.

Un sistema operativo (cuyo acrónimo es SO) es un conjunto de programas
destinados a permitir la comunicación del usuario con un computador y gestionar sus
recursos de una forma eficaz. Comienza a trabajar cuando se enciende el
computador, y gestiona el hardware de la máquina desde los niveles más básicos.

Las funciones básicas de un sistema operativo son:

      Como soporte para la ejecución de software de aplicación.
      Como elemento de diagnóstico de hardware.
      Como elemento de una red de computadoras.
      Como elemento que optimiza el aprovechamiento de los recursos lógicos y
      físicos de un sistema de cómputo.



Evolución Histórica.

Un sistema operativo es un software de sistema, es decir, un conjunto de programas
de computadora destinado a permitir una administración eficaz de sus recursos.
Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la
máquina desde los niveles más básicos, permitiendo también la interacción con el
usuario.

Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos
electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos
podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos
móviles, reproductores de DVD, autoradios, computadoras, etc).

Actualmente el concepto de computadora esta intrínsecamente relacionado al de
sistema operativo, aunque éste existe en otros aparatos electrónicos y no sólo en las
computadoras.

Años 40

A finales de los años 40, con lo que podríamos llamar 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
hacia en lenguaje de máquina.

Años 50

A principios de los años 50 con el objeto de facilitar la interacción entre persona y
computador, 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, 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.
Años 60

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 computadores. 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

Tiempo compartido En este punto tenemos un sistema que hace buen uso de la
electrónica disponible, pero adolece de 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 otro
aplicación. Con esto se consigue repartir la CPU por igual entre los programas de los
distintos usuarios, y los programas de los usuarios no se sienten demasiado lentos
por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de
manera concurrente.
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

Permite trabajar con máquinas que poseen más de un microprocesador. Se
denomina multiprocesador a un ordenador que                cuenta con dos o más
microprocesadores (CPUs). Gracias a esto, el multiprocesador puede ejecutar
simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos
diferentes.

Los ordenadores multiprocesador presentan problemas de 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.

Sistemas operativos desarrollados Además del Atlas Supervisor y el OS/360, los
sesenta 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
programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel
en aquel tiempo, luego del fracaso del proyecto, UNIX comienza a desarrollarse a
partir de este a finales de la década.

Años 70

Debido al avance de la electrónica, pudo empezar a crearse circuitos con miles de
transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años
después, a producir los primeros sistemas integrados. Ésta década se podría definir
como la de los sistemas de propósito general y en ella se desarrollan tecnologías que
se siguen utilizando en la actualidad. Es en los años 70 cuando se produce el boom
de los miniordenadores y la informática se acerca al nivel de usuario. En lo relativo a
lenguajes de programación, es de señalar la aparición de Pascal y C, el último de los
cuales se creó específicamente para reescribir por completo el código del sistema
operativo 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 Prologramas, y en la revolucionaria orientación a objetos, Smalltalk.

Inconvenientes de los sistemas existentes Se trataba de sistemas grandes 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 Para solventar los problemas antes
comentados, se realizó un costosísimo trabajo para interponer una amplia capa de
software entre el usuario y la máquina, de forma que el primero no tuviese que
conocer ningún detalle de la circuitería.

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 sistemas operativos de tiempo
compartido, que implementó un solo nivel de almacenamiento para el acceso a los
datos, desechando la clara distinción entre los ficheros y los procesos en memoria, y
uno de los primeros sistemas multiprocesador.


MVS (Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos
de mainframes -ordenadores grandes, potentes y caros usados principalmente por
grandes compañías para el procesamiento de grandes cantidades de datos-
System/370 y System/390 de IBM, desarrollado también por IBM y lanzado al
mercado por primera vez en 1974. Como características destacables, permitía la
ejecución de múltiples tareas, además de que introdujo el concepto de memoria
virtual y finalmente añadió la capacidad de que cada programa tuviera su propio
espacio de direccionamiento de memoria, de ahí su nombre.

CP/M    (Control   Program/Monitor):        Desarrollado   por   Gary   Kildall   para   el
microprocesador 8080/85 de Intel y el Zilog Z80, salió al mercado en 1976,
distribuyéndose en disquetes de ocho pulgadas. Fue el SO más usado en las
computadoras personales de esta década. Su éxito se debió a que era portátil,
permitiendo que diferentes programas interactuasen con el hardware de una manera
estandarizada.
Estaba compuesto de dos subsistemas:

CCP (Comand Control Processor): Intérprete de comandos que permitía introducir los
mandatos con sus parámetros separados por espacios. 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. El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS
supuso su mayor fracaso, por lo que acabó desapareciendo.


Años 80

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, 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.

Apple Macintosh

El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dólares.
Muchos usuarios, al ver que estaba completamente diseñado para funcionar a través
de una GUI (Graphic User Interface), acostumbrados a la línea de comandos, lo
tacharon de juguete. A pesar de todo, el Mac se situó a la cabeza en el mundo de la
edición a nivel gráfico.
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, a partir de la cual MS-DOS dejó de existir como tal y se
convirtió en una parte integrada del sistema operativo Windows.

Años 90

GNU/Linux

En 1991 aparece la primer versión del núcleo de Linux. Creado por Linus Torvalds y
un sinfín de colaboradores a través de Internet. Este sistema se basa en Unix, un
sistema que en principio trabajaba en modo comandos, estilo MS-DOS. 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. Lo que permite
utilizar linux de una forma visual atractiva.

Microsoft Windows

En 1985 se crea este sistema operativo pero hasta la salida de windows 95 no se le
puede considerar un sistema operativo, solo era una interfaz gráfica del MS-DOS.
Hoy en dia es el sistema operativo más difundido en el ámbito domestico aunque
también hay versiones para servidores y Microsoft ha diseñado algunas versiones
para superordenadores sin mucho exito.
Clasificación.
Sistema Operativo Multitareas.

Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante
el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos
de multitareas.

     La conmutación de contextos (context Switching) es un tipo muy simple de
     multitarea en el que dos o más aplicaciones se cargan al mismo tiempo,
     pero en el que solo se esta procesando la aplicación que se encuentra en
     primer plano (la que ve el usuario). Para activar otra tarea que se
     encuentre en segundo plano, el usuario debe traer al primer plano la
     ventana o pantalla que contenga esa aplicación.

     En la multitarea cooperativa, la que se utiliza en el sistema operativo
     Macintosh, las tareas en segundo plano reciben tiempo de procesado
     durante los tiempos muertos de la tarea que se encuentra en primer plano
     (por ejemplo, cuando esta aplicación esta esperando información del
     usuario), y siempre que esta aplicación lo permita.

     En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea
     recibe la atención del microprocesador durante una fracción de segundo.
     Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad
     o se procesa en orden secuencial. Dado que el sentido temporal del
     usuario es mucho más lento que la velocidad de procesamiento del
     ordenador, las operaciones de multitarea en tiempo compartido parecen
     ser simultáneas.



Sistema Operativo Monotareas.

Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto
anteriormente, es decir, solo pueden manejar un proceso en cada momento o que
solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora
esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas
instrucciones hasta que se termine la impresión.

Sistema Operativo Monousuario.

Los sistemas monousuarios son aquellos que nada más puede atender a un solo
usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo
de          aplicación             que         se          este           ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada,
salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que
las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo
usuario. Y están orientados principalmente por los microcomputadores.


Sistema Operativo Multiusuario.

Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los
sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que
comparten mismos recursos. Este tipo de sistemas se emplean especialmente en
redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

Secuencia por Lotes.

La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la
ejecución de una lista de comandos del sistema operativo uno tras otro sin
intervención del usuario. En los ordenadores más grandes el proceso de recogida de
programas y de conjuntos de datos de los usuarios, la ejecución de uno o unos
pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes
también puede referirse al proceso de almacenar transacciones durante un cierto
lapso antes de su envío a un archivo maestro, por lo general una operación separada
que se efectúa durante la noche.

Los sistemas operativos por lotes (batch), en los que los programas eran tratados por
grupos (lote) en ves de individualmente. La función de estos sistemas operativos
consistía en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se
realizaba el salto a una dirección de memoria desde donde reasumía el control del
sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera
el tiempo entre un trabajo y el otro disminuía considerablemente.

Tiempo Real.

Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y
una vez que han sido procesadas muestra el resultado. Este tipo tiene relación con
los sistemas operativos monousuarios, ya que existe un solo operador y no necesita
compartir         el        procesador          entre       varias          solicitudes.
Su característica principal es dar respuestas rápidas; por ejemplo en un caso de
peligro se necesitarían respuestas inmediatas para evitar una catástrofe.

Tiempo Compartido.

El tiempo compartido en ordenadores o computadoras consiste en el uso de un
sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta
programas separados de forma concurrente, intercambiando porciones de tiempo
asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de
multitareas que es común en la mayoría de los microordenadores o las
microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con
el acceso de varios usuarios a computadoras más grandes y a organizaciones de
servicios, mientras que la multitarea relacionada con las microcomputadoras implica
la realización de múltiples tareas por un solo usuario.
Estructura (Niveles o Estratos de
Diseño)
En informática, el núcleo (también conocido en español con el anglicismo kernel, de
raíces germánicas como kern) es la parte fundamental de un sistema operativo. Es el
software responsable de facilitar a los distintos programas acceso seguro al
hardware de la computadora o en forma más básica, es el encargado de gestionar
recursos, a través de servicios de llamada al sistema. Como hay muchos programas
y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué
programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo
que se conoce como multiplexado. Acceder al hardware directamente puede ser
realmente complejo, por lo que los núcleos suelen implementar una serie de
abstracciones del hardware. Esto permite esconder la complejidad, y proporciona
una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el
programador.

Funciones generalmente ejercidas por un núcleo:

Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los
procesos, las entradas/salidas y proponer un interfaz entre el espacio núcleo y los
programas del espacio del usuario.

Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos
siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de
ficheros o los servicios) necesariamente no son proporcionados por un núcleo de
sistema de explotación. Pueden establecerse estas funciones del sistema de
explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en
el núcleo se hace en el único objetivo de mejorar los resultados. En efecto, según la
concepción del núcleo, la misma función llamada desde el espacio usuario o el
espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de
función es frecuente, puede resultar útil integrar estas funciones al núcleo para
mejorar los resultados.
Hay que señalar que estas técnicas son utilizadas para atenuar defectos de los
núcleos como los elevados estados. En la medida de lo posible, es preferible escribir
un programa informático fuera del núcleo, en el espacio usuario. En efecto, el
espacio del núcleo, supone la ausencia de mecanismos como la protección de la
memoria. Es pues más complejo escribir un programa informático que funciona en el
espacio del núcleo, que en el espacio usuario; los errores y faltas de seguridad
pueden desestabilizar el sistema.

Tipos de núcleo :

No necesariamente se necesita un núcleo para usar una computadora. Los
programas pueden cargarse y ejecutarse directamente en una computadora «vacía»,
siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción del
hardware ni ninguna ayuda del sistema operativo. Ésta era la forma normal de usar
muchas de las primeras computadoras: para usar distintos programas se tenía que
reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empezó a dejar
en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares, como
el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida
que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a
ser los primeros núcleos de sistema operativo.

Hay cuatro grandes tipos de núcleos:

Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente
potentes y variadas.
Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de
abstracciones simples del hardware, y usan las aplicaciones llamadas servidores
para ofrecer mayor funcionalidad.
Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los
micronúcleos puros, excepto porque incluyen código adicional en el espacio de
núcleo para que se ejecute más rápidamente.
Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas
que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al
hardware.
Micronúcleos:
El enfoque micronúcleo consiste en definir una abstracción muy simple sobre el
hardware, con un conjunto de primitivas o llamadas al sistema que implementan
servicios del sistema operativo mínimos, como la gestión de hilos, el espacio de
direccionamiento           y           la       comunicación          entre     procesos.
El objetivo principal es la separación de la implementación de los servicios básicos y
de la política de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de
E/S se puede implementar con un servidor en espacio de usuario ejecutándose
encima del micronúcleo. Estos servidores de usuario, utilizados para gestionar las
partes de alto nivel del sistema, son muy modulares y simplifican la estructura y
diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero, y
se podrá reiniciar este módulo independientemente del resto. Sin embargo, la
existencia de diferentes módulos independientes origina retardos en la comunicación
debido a la copia de variables que se realiza en la comunicación entre módulos.

Algunos ejemplos de micronúcleos:

AIX La familia de micronúcleos L4 El micronúcleo Mach, usado en GNU Hurd y en
Mac    OS       X   BeOS       Minix    Morph    OS   QNX      Radi    OS?    VSTa   Hurd
Núcleos monolíticos en contraposición a micronúcleos:

Frecuentemente se prefieren los núcleos monolíticos frente a los micronúcleos
debido al menor nivel de complejidad que comporta el tratar con todo el código de
control del sistema en un solo espacio de direccionamiento. Por ejemplo, XNU, el
núcleo de Mac OS X, está basado en el núcleo Mach 3.0 y en Free BSD, en el
mismo espacio de direccionamiento para disminuir la latencia que comporta el diseño
de micronúcleo convencional.

A principios de los años 1990, los núcleos monolíticos se consideraban obsoletos. El
diseño de Linux como un núcleo monolítico en lugar de como un micronúcleo fue el
tema de una famosa disputa entre Linus Torvalds y Andrew Tanenbaum. Los
argumentos de ambas partes en esta discusión presentan algunas motivaciones
interesantes.

Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo
tanto pueden crecer más rápidamente que un sistema basado en micronúcleo, pero
hay casos de éxito en ambos bandos. Los micronúcleos suelen usarse en robótica
embebida o computadoras médicas, ya que la mayoría de los componentes del
sistema operativo residen en su propio espacio de memoria privado y protegido. Esto
no sería posible con los núcleos monolíticos, ni siquiera con los modernos que
permiten cargar módulos del núcleo.

Aunque Mach es el micronúcleo generalista más conocido, se han desarrollado otros
micronúcleos con propósitos más específicos. L3 fue creado para demostrar que los
micronúcleos no son necesariamente lentos. La familia de micronúcleos L4 es la
descendiente de L3, y una de sus últimas implementaciones, llamada Pistachio,
permite ejecutar Linux simultáneamente con otros procesos, en espacios de
direccionamiento                                                        separados.
QNX es un sistema operativo que ha estado disponible desde principios de los años
1980, y tiene un diseño de micronúcleo muy minimalista. Este sistema ha conseguido
llegar a las metas del paradigma del micronúcleo con mucho más éxito que Mach. Se
usa en situaciones en que no se puede permitir que haya fallos de software, lo que
incluye desde brazos robóticos en naves espaciales, hasta máquinas que pulen
cristal donde un pequeño error podría costar mucho dinero.

Mucha gente cree que como Mach básicamente falló en el intento de resolver el
conjunto de problemas que los micronúcleos intentaban subsanar, toda la tecnología
de micronúcleos es inútil. Los partidarios de Mach afirman que ésta es una actitud
estrecha de miras que ha llegado a ser lo suficientemente popular para que mucha
gente la acepte como verdad.

Núcleos híbridos (micronúcleos modificados):

Los núcleos híbridos fundamentalmente son micronúcleos que tienen algo de código
«no esencial» en espacio de núcleo para que éste se ejecute más rápido de lo que lo
haría si estuviera en espacio de usuario. Éste fue un compromiso que muchos
desarrolladores de los primeros sistemas operativos con arquitectura basada en
micronúcleo adoptaron antes que se demostrara que los micronúcleos pueden tener
muy buen rendimiento. La mayoría de sistemas operativos modernos pertenecen a
esta categoría, siendo el más popular Microsoft Windows. XNU, el núcleo de Mac OS
X, también es un micronúcleo modificado, debido a la inclusión de código del núcleo
de Free BSD en el núcleo basado en Mach. Dragon Fly BSD? es el primer sistema
BSD que adopta una arquitectura de núcleo híbrido sin basarse en Mach.

Algunos ejemplos de núcleos híbridos:

Microsoft Windows NT, usado en todos los sistemas que usan el código base de
Windows NT XNU (usado en Mac OS X) Dragon Fly BSD React OS?
Hay gente que confunde el término «núcleo híbrido» con los núcleos monolíticos que
pueden cargar módulos después del arranque, lo que es un error. «Híbrido» implica
que el núcleo en cuestión usa conceptos de arquitectura o mecanismos tanto del
diseño monolítico como del micronúcleo, específicamente el paso de mensajes y la
migración de código «no esencial» hacia el espacio de usuario, pero manteniendo
cierto código «no esencial» en el propio núcleo por razones de rendimiento.

Exonúcleos:

Los exonúcleos, también conocidos como sistemas operativos verticalmente
estructurados, representan una aproximación radicalmente nueva al diseño de
sistemas operativos.

La idea subyacente es permitir que el desarrollador tome todas las decisiones
relativas al rendimiento del hardware. Los exonúcleos son extremadamente
pequeños, ya que limitan expresamente su funcionalidad a la protección y el
multiplexado de los recursos. Se llaman así porque toda la funcionalidad deja de
estar residente en memoria y pasa a estar fuera, en bibliotecas dinámicas.

Los diseños de núcleos clásicos (tanto el monolítico como el micronúcleo) abstraen
el hardware, escondiendo los recursos bajo una capa de abstracción del hardware, o
detrás de los controladores de dispositivo. En los sistemas clásicos, si se asigna
memoria física, nadie puede estar seguro de cuál es su localización real, por
ejemplo.

La finalidad de un exonúcleo es permitir a una aplicación que solicite una región
específica de la memoria, un bloque de disco concreto, etc., y simplemente
asegurarse que los recursos pedidos están disponibles, y que el programa tiene
derecho a acceder a ellos.

Debido a que el exonúcleo sólo proporciona una interfaz al hardware de muy bajo
nivel, careciendo de todas las funcionalidades de alto nivel de otros sistemas
operativos, éste es complementado por una «biblioteca de sistema operativo». Esta
biblioteca se comunica con el exonúcleo subyacente, y facilita a los programadores
de aplicaciones las funcionalidades que son comunes en otros sistemas operativos.

Algunas de las implicaciones teóricas de un sistema exonúcleo son que es posible
tener distintos tipos de sistemas operativos (p.e. Windows, Unix) ejecutándose en un
solo exonúcleo, y que los desarrolladores pueden elegir prescindir de o incrementar
funcionalidades por motivos de rendimiento.

Actualmente, los diseños exonúcleo están fundamentalmente en fase de estudio y no
se usan en ningún sistema popular. Un concepto de sistema operativo es Nemesis,
creado por la Universidad de Cambridge, la Universidad de Glasgow, Citrix Systems
y el Instituto Sueco de Informática. El MIT también ha diseñado algunos sistemas
basados en exonúcleos. Los exonúcleos se manejan en diferente estructura dado
que también cumplen funciones distintas
Conclusión.
Luego de haber investigado y analizado se puede ver que se han desarrollado varios
tipos de sistemas operativos con diferentes interfaces y categorías. Pero hemos
podido observar que todos los sistemas operativos han sufrido cambios por parte de
los programadores, y siguen evolucionando.


El diálogo entre el usuario y la máquina suele realizarse a través de una interfaz de
línea de comandos o de una interfaz gráfica de usuario (GUI, siglas en inglés). Las
interfaces de línea de comandos exigen que se introduzcan instrucciones breves
mediante un teclado. Las GUI emplean ventanas para organizar archivos y
aplicaciones con iconos y menús que presentan listas de instrucciones. El usuario
manipula directamente estos objetos visuales en el monitor señalándolos,
seleccionándolos y arrastrándolos o moviéndolos con un Mouse.
El uso de las GUI es más sencillo que el de las interfaces de línea de comandos. Sin
embargo, la introducción de instrucciones con una GUI es más lenta, por lo que las
GUI suelen tener la opción de emplear un sistema equivalente al de línea de
instrucciones como alternativa rápida para los usuarios más expertos.


Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS-
DOS, OS/2, Windows 95 y Windows NT. El UNIX y sus clones permiten múltiples
tareas y múltiples usuarios. Otros SO multiusuario y multitarea son OS/2,
desarrollado inicialmente por Microsoft e IBM, Windows NT y Win95 desarrollados
por Microsoft. El SO multitarea de Apple se denomina Macintosh OS. El MS-DOS es
un SO popular entre los usuarios de PCs pero solo permite un usuario y una tarea.
Bibliografía.

Fundamentos de sistemas operativos. Silberschatz galvin gagne.


Sistemas Operativos: Diseño e Implementación, Segunda edición;
Prentice Hall; Andrew S. Tenenbaum, Albert S. Woodhull.


William Stalling. Prentice Hall.
Introducción a los Sistemas Informáticos.

Sistemas Operativos, Segunda edición;

Sistemas operativos: teoría y práctica,   Pablo Martínez Cobo, P. Martinez,
Ediciones Díaz de Santos, 1997

Mais conteúdo relacionado

Mais procurados

Lectura sistema operativo
Lectura sistema operativoLectura sistema operativo
Lectura sistema operativoing_ebeltran
 
Resumen software terminado posta
Resumen software terminado postaResumen software terminado posta
Resumen software terminado postamaiietchegoyen
 
Práctica cómputo
Práctica cómputoPráctica cómputo
Práctica cómputoEve Diaz
 
Trabajo de sistema operativo px el juevez[1]
Trabajo de sistema operativo px el juevez[1]Trabajo de sistema operativo px el juevez[1]
Trabajo de sistema operativo px el juevez[1]kaory22
 
operacion del equipo de computo.
operacion del equipo de computo.operacion del equipo de computo.
operacion del equipo de computo.Danytza Meza
 
Sistemas operativos. primera unidad
Sistemas operativos. primera unidadSistemas operativos. primera unidad
Sistemas operativos. primera unidadjanet290
 
Academia y administración. elaborar un cuadro comparativo que nos muestre l...
Academia y administración.  elaborar un cuadro comparativo que nos muestre l...Academia y administración.  elaborar un cuadro comparativo que nos muestre l...
Academia y administración. elaborar un cuadro comparativo que nos muestre l...INOCENCIO MELÉNDEZ JULIO
 

Mais procurados (13)

Lectura sistema operativo
Lectura sistema operativoLectura sistema operativo
Lectura sistema operativo
 
Resumen software terminado posta
Resumen software terminado postaResumen software terminado posta
Resumen software terminado posta
 
Práctica cómputo
Práctica cómputoPráctica cómputo
Práctica cómputo
 
SISTEMAS OPERATIVOS 1
SISTEMAS OPERATIVOS 1SISTEMAS OPERATIVOS 1
SISTEMAS OPERATIVOS 1
 
Trabajo de sistema operativo px el juevez[1]
Trabajo de sistema operativo px el juevez[1]Trabajo de sistema operativo px el juevez[1]
Trabajo de sistema operativo px el juevez[1]
 
Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
10 jh
10 jh10 jh
10 jh
 
Equipo1
Equipo1Equipo1
Equipo1
 
Unidad 1,2,3
Unidad 1,2,3Unidad 1,2,3
Unidad 1,2,3
 
Unidades 1 2 3
Unidades 1 2 3Unidades 1 2 3
Unidades 1 2 3
 
operacion del equipo de computo.
operacion del equipo de computo.operacion del equipo de computo.
operacion del equipo de computo.
 
Sistemas operativos. primera unidad
Sistemas operativos. primera unidadSistemas operativos. primera unidad
Sistemas operativos. primera unidad
 
Academia y administración. elaborar un cuadro comparativo que nos muestre l...
Academia y administración.  elaborar un cuadro comparativo que nos muestre l...Academia y administración.  elaborar un cuadro comparativo que nos muestre l...
Academia y administración. elaborar un cuadro comparativo que nos muestre l...
 

Destaque

Instalacion sistema operativo windows xp paso a paso.
Instalacion sistema operativo windows xp  paso a paso.Instalacion sistema operativo windows xp  paso a paso.
Instalacion sistema operativo windows xp paso a paso.Laura Karina Camargo Suarez
 
Word sistemas operativos grupo 2
Word sistemas operativos grupo 2Word sistemas operativos grupo 2
Word sistemas operativos grupo 2Rozana Jumbo
 
Funciones de los sistemas operativos de windows
Funciones de los sistemas operativos de windowsFunciones de los sistemas operativos de windows
Funciones de los sistemas operativos de windowsjuliana bello
 
Sistemasoperativos 141101201545-conversion-gate01
Sistemasoperativos 141101201545-conversion-gate01Sistemasoperativos 141101201545-conversion-gate01
Sistemasoperativos 141101201545-conversion-gate01Cecibel Curimilma
 
Unidad 3 fundamentos de sistemas de informacion
Unidad 3 fundamentos de sistemas de informacionUnidad 3 fundamentos de sistemas de informacion
Unidad 3 fundamentos de sistemas de informacionJuan Pavon ortiz
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativoselimechita
 
la evolucion de los sistemas operativos
la evolucion de los sistemas operativosla evolucion de los sistemas operativos
la evolucion de los sistemas operativosjacoboguap
 
Lizmerys hernandez wind.pdf
Lizmerys hernandez wind.pdfLizmerys hernandez wind.pdf
Lizmerys hernandez wind.pdflizzyhtorres
 
Monografia sistemas operativos
Monografia sistemas operativosMonografia sistemas operativos
Monografia sistemas operativossetwins
 
monografia sobre sistemas operativos
monografia sobre sistemas operativosmonografia sobre sistemas operativos
monografia sobre sistemas operativosangelitones
 
Loreana avilamago wind.pdf
Loreana avilamago wind.pdfLoreana avilamago wind.pdf
Loreana avilamago wind.pdfloreanamago
 
S.o. windows y linux
S.o. windows y linuxS.o. windows y linux
S.o. windows y linuxsther010
 

Destaque (19)

Manual windows Xp
Manual windows XpManual windows Xp
Manual windows Xp
 
Instalacion sistema operativo windows xp paso a paso.
Instalacion sistema operativo windows xp  paso a paso.Instalacion sistema operativo windows xp  paso a paso.
Instalacion sistema operativo windows xp paso a paso.
 
Word sistemas operativos grupo 2
Word sistemas operativos grupo 2Word sistemas operativos grupo 2
Word sistemas operativos grupo 2
 
Funciones de los sistemas operativos de windows
Funciones de los sistemas operativos de windowsFunciones de los sistemas operativos de windows
Funciones de los sistemas operativos de windows
 
Sistemasoperativos 141101201545-conversion-gate01
Sistemasoperativos 141101201545-conversion-gate01Sistemasoperativos 141101201545-conversion-gate01
Sistemasoperativos 141101201545-conversion-gate01
 
Unidad 3 fundamentos de sistemas de informacion
Unidad 3 fundamentos de sistemas de informacionUnidad 3 fundamentos de sistemas de informacion
Unidad 3 fundamentos de sistemas de informacion
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
la evolucion de los sistemas operativos
la evolucion de los sistemas operativosla evolucion de los sistemas operativos
la evolucion de los sistemas operativos
 
Jerarquia de Procesos
Jerarquia de ProcesosJerarquia de Procesos
Jerarquia de Procesos
 
Lizmerys hernandez wind.pdf
Lizmerys hernandez wind.pdfLizmerys hernandez wind.pdf
Lizmerys hernandez wind.pdf
 
Monografia sistemas operativos
Monografia sistemas operativosMonografia sistemas operativos
Monografia sistemas operativos
 
monografia sobre sistemas operativos
monografia sobre sistemas operativosmonografia sobre sistemas operativos
monografia sobre sistemas operativos
 
Monografia sistemas operativos
Monografia sistemas operativosMonografia sistemas operativos
Monografia sistemas operativos
 
Sistema operativo karlys
Sistema operativo karlysSistema operativo karlys
Sistema operativo karlys
 
Loreana avilamago wind.pdf
Loreana avilamago wind.pdfLoreana avilamago wind.pdf
Loreana avilamago wind.pdf
 
MONOGRAFÍA DE SISTEMAS OPERATIVOS
MONOGRAFÍA DE SISTEMAS OPERATIVOSMONOGRAFÍA DE SISTEMAS OPERATIVOS
MONOGRAFÍA DE SISTEMAS OPERATIVOS
 
S.o. windows y linux
S.o. windows y linuxS.o. windows y linux
S.o. windows y linux
 
Monografia de windows 7
Monografia de windows 7Monografia de windows 7
Monografia de windows 7
 

Semelhante a Sistemas operativos

Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosJavier Cp
 
Sistemas operativos123.
Sistemas operativos123.Sistemas operativos123.
Sistemas operativos123.Javier Cp
 
Informe de computacion 05.07.2014
Informe de computacion 05.07.2014Informe de computacion 05.07.2014
Informe de computacion 05.07.201421586985
 
El computador y sus partes
El computador y sus partesEl computador y sus partes
El computador y sus partesAraque_21
 
Software - Conceptos_basicos_-_2021
Software - Conceptos_basicos_-_2021Software - Conceptos_basicos_-_2021
Software - Conceptos_basicos_-_2021Don Augusto
 
225927917 1-definicion-de-software-clasificacion-de-software
225927917 1-definicion-de-software-clasificacion-de-software225927917 1-definicion-de-software-clasificacion-de-software
225927917 1-definicion-de-software-clasificacion-de-softwareUniversidad Veracruzana
 
Verrrrrrrrrrrrrrrrrrrrrrrrrr
VerrrrrrrrrrrrrrrrrrrrrrrrrrVerrrrrrrrrrrrrrrrrrrrrrrrrr
VerrrrrrrrrrrrrrrrrrrrrrrrrrJuan Perez
 
CONCEPTOS BASICOS DE SOFTWARE
CONCEPTOS BASICOS DE SOFTWARECONCEPTOS BASICOS DE SOFTWARE
CONCEPTOS BASICOS DE SOFTWAREbryan2082
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJunior
 
Conceptos básicos de software
Conceptos básicos de softwareConceptos básicos de software
Conceptos básicos de softwareRodrigo Rosas
 
Sistemas operativos1
Sistemas operativos1Sistemas operativos1
Sistemas operativos1Marjorti
 
Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.anaid0203
 
Diapositiva De Conceptos Basicos Informaticos
Diapositiva De Conceptos Basicos InformaticosDiapositiva De Conceptos Basicos Informaticos
Diapositiva De Conceptos Basicos Informaticosguest69b4d2
 

Semelhante a Sistemas operativos (20)

Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos123.
Sistemas operativos123.Sistemas operativos123.
Sistemas operativos123.
 
Informe de computacion 05.07.2014
Informe de computacion 05.07.2014Informe de computacion 05.07.2014
Informe de computacion 05.07.2014
 
El computador y sus partes
El computador y sus partesEl computador y sus partes
El computador y sus partes
 
Software - Conceptos_basicos_-_2021
Software - Conceptos_basicos_-_2021Software - Conceptos_basicos_-_2021
Software - Conceptos_basicos_-_2021
 
Software 2021
Software   2021Software   2021
Software 2021
 
Software concepto-tipos
Software concepto-tiposSoftware concepto-tipos
Software concepto-tipos
 
225927917 1-definicion-de-software-clasificacion-de-software
225927917 1-definicion-de-software-clasificacion-de-software225927917 1-definicion-de-software-clasificacion-de-software
225927917 1-definicion-de-software-clasificacion-de-software
 
Verrrrrrrrrrrrrrrrrrrrrrrrrr
VerrrrrrrrrrrrrrrrrrrrrrrrrrVerrrrrrrrrrrrrrrrrrrrrrrrrr
Verrrrrrrrrrrrrrrrrrrrrrrrrr
 
Conceptos basicos de software
Conceptos basicos de softwareConceptos basicos de software
Conceptos basicos de software
 
CONCEPTOS BASICOS DE SOFTWARE
CONCEPTOS BASICOS DE SOFTWARECONCEPTOS BASICOS DE SOFTWARE
CONCEPTOS BASICOS DE SOFTWARE
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Clasificacion de los sistemas opeatativos
Clasificacion de los sistemas opeatativos Clasificacion de los sistemas opeatativos
Clasificacion de los sistemas opeatativos
 
Sw
SwSw
Sw
 
Conceptos básicos de software
Conceptos básicos de softwareConceptos básicos de software
Conceptos básicos de software
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemas operativos1
Sistemas operativos1Sistemas operativos1
Sistemas operativos1
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.Presentacion final..... sistemas operativos.
Presentacion final..... sistemas operativos.
 
Diapositiva De Conceptos Basicos Informaticos
Diapositiva De Conceptos Basicos InformaticosDiapositiva De Conceptos Basicos Informaticos
Diapositiva De Conceptos Basicos Informaticos
 

Último

Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Gonella
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
tema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVtema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVChema R.
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoJosé Luis Palma
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptxfotofamilia008
 

Último (20)

Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024
 
Acuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptxAcuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptx
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
tema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVtema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XV
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro Delgado
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Unidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la InvestigaciónUnidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la Investigación
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
Mimos _
Mimos                                       _Mimos                                       _
Mimos _
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
 

Sistemas operativos

  • 1. s 2010 Sistemas Operativos Interfaz entre Hardware y Software En nuestros días, las computadoras son una parte esencial de nuestras vidas, son tan necesarias para la mayoría de los casos en la actualidad, estudiaremos en este documento la manera en que interactúa el Hardware con el software que conocemos, como son software de Ofimática, software de diseño, edición, mails, entre otros. Juan Manuel Pavon Ortiz Jamil Enríquez Deceano 23/10/2010
  • 2. Instituto Tecnológico Superior De Acayucan Ingeniería en Informática Fundamentos de investigación Sistemas Operativos Ing. Gerardo Paxtian Méndez I Semestre Juan Manuel Pavon Ortiz Jamil Enríquez Deceano Octubre 2010
  • 3. Introducción Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario o el usuario mismo para utilizar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como intermediario para las aplicaciones que se ejecutan. Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional. Uno de los más prominentes ejemplos de esta diferencia, es el SO Linux, el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. AmigaOS, beOS o MacOS como los pioneros de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D con programas como Imagine o Scala multimedia, entre muchos otros. Uno de los propósitos de un sistema operativo como intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (Teléfonos móviles, reproductores de DVD, computadoras, radios, etc.) Parte de la infraestructura de la World Wide Web está compuesta por el Sistema Operativo de Internet, creado por Cisco Systems para gestionar equipos de interconexión como los conmutadores y los enrutadores.
  • 4. Definición y Concepto. Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una definición exacta, es decir una que sea estándar; a continuación se presentan algunas: Se pueden imaginar un Sistema Operativo como los programas, instalados en el software o firmware+, que hacen utilizable el hardware. El hardware proporciona la “capacidad bruta de cómputo”; los sistemas operativos ponen dicha capacidad de cómputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento. Los Sistemas Operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware del computador; además de los procesadores, los medios de almacenamiento, los dispositivos de entrada / salida, los dispositivos de comunicación y los datos. ¿Que es Sistema Operativo? Es una colección de mecanismos de software destinados a servir de interface entre un sistema informático y sus usuarios, el cual ofrece herramientas y facilidades para simplificar las tareas de diseño codificación depuración, actualización, etc. ¿Que hace? Administrar todos los recursos hardware y software que constituyen el sistema informático a explotar. ¿Como nació? Nació con la necesidad de llevar el control de quien utiliza los recursos software usuario(s).
  • 5. Definición Global. Un Sistema Operativo es un programa que actúa como intermediario entre el usuario y el hardware del computador y su propósito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un Sistema Operativo es, lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. Un Sistema Operativo es un conjunto de programas que controla la ejecución de programas de aplicación y actúa como una interfaz entre el usuario y el hardware de una computadora, esto es, un Sistema Operativo explota y administra los recursos de hardware de la computadora con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema. En resumen, se podría decir que los Sistemas Operativos son un conjunto de programas que crean la interfaz del hardware con el usuario, y que tiene dos funciones primordiales, que son: Gestionar el hardware. Se refiere al hecho de administrar de una forma más eficiente los recursos de la máquina. Facilitar el trabajo al usuario. Permite una comunicación con los dispositivos de la máquina. El Sistema Operativo se encuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de código que se encuentra en el procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo que carga todos los programas de aplicación y software variado. Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen más memoria principal de la realmente disponible. Con esta técnica se emplea espacio en el disco duro para simular la memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere más tiempo que el acceso a la memoria principal, por lo que el funcionamiento del ordenador resulta más lento.
  • 6. Funciones y Características. Un sistema operativo (cuyo acrónimo es SO) es un conjunto de programas destinados a permitir la comunicación del usuario con un computador y gestionar sus recursos de una forma eficaz. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos. Las funciones básicas de un sistema operativo son: Como soporte para la ejecución de software de aplicación. Como elemento de diagnóstico de hardware. Como elemento de una red de computadoras. Como elemento que optimiza el aprovechamiento de los recursos lógicos y físicos de un sistema de cómputo. Evolución Histórica. Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario. Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, etc). Actualmente el concepto de computadora esta intrínsecamente relacionado al de sistema operativo, aunque éste existe en otros aparatos electrónicos y no sólo en las computadoras. Años 40 A finales de los años 40, con lo que podríamos llamar la aparición de la primera generación de computadoras, se accedía directamente a la consola de la
  • 7. 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 hacia en lenguaje de máquina. Años 50 A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, 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, 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.
  • 8. Años 60 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 computadores. 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 Tiempo compartido En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece de 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 otro aplicación. Con esto se consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de los usuarios no se sienten demasiado lentos por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente.
  • 9. 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 Permite trabajar con máquinas que poseen más de un microprocesador. Se denomina multiprocesador a un ordenador que cuenta con dos o más microprocesadores (CPUs). Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes. Los ordenadores multiprocesador presentan problemas de 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.
  • 10. 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. Sistemas operativos desarrollados Además del Atlas Supervisor y el OS/360, los sesenta 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 programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del proyecto, UNIX comienza a desarrollarse a partir de este a finales de la década. Años 70 Debido al avance de la electrónica, pudo empezar a crearse circuitos con miles de transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producir los primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años 70 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de usuario. En lo relativo a lenguajes de programación, es de señalar la aparición de Pascal y C, el último de los cuales se creó específicamente para reescribir por completo el código del sistema operativo 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 Prologramas, y en la revolucionaria orientación a objetos, Smalltalk. Inconvenientes de los sistemas existentes Se trataba de sistemas grandes 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
  • 11. multiprogramación y tiempo compartido. Características de los nuevos sistemas Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese que conocer ningún detalle de la circuitería. 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 sistemas operativos de tiempo compartido, que implementó un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y los procesos en memoria, y uno de los primeros sistemas multiprocesador. MVS (Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos de mainframes -ordenadores grandes, potentes y caros usados principalmente por grandes compañías para el procesamiento de grandes cantidades de datos- System/370 y System/390 de IBM, desarrollado también por IBM y lanzado al mercado por primera vez en 1974. Como características destacables, permitía la ejecución de múltiples tareas, además de que introdujo el concepto de memoria virtual y finalmente añadió la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria, de ahí su nombre. CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho pulgadas. Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió a que era portátil, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada.
  • 12. Estaba compuesto de dos subsistemas: CCP (Comand Control Processor): Intérprete de comandos que permitía introducir los mandatos con sus parámetros separados por espacios. 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. El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo. Años 80 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, 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. Apple Macintosh El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dólares. Muchos usuarios, al ver que estaba completamente diseñado para funcionar a través de una GUI (Graphic User Interface), acostumbrados a la línea de comandos, lo tacharon de juguete. A pesar de todo, el Mac se situó a la cabeza en el mundo de la edición a nivel gráfico.
  • 13. 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, a partir de la cual MS-DOS dejó de existir como tal y se convirtió en una parte integrada del sistema operativo Windows. Años 90 GNU/Linux En 1991 aparece la primer versión del núcleo de Linux. Creado por Linus Torvalds y un sinfín de colaboradores a través de Internet. Este sistema se basa en Unix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS. 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. Lo que permite utilizar linux de una forma visual atractiva. Microsoft Windows En 1985 se crea este sistema operativo pero hasta la salida de windows 95 no se le puede considerar un sistema operativo, solo era una interfaz gráfica del MS-DOS. Hoy en dia es el sistema operativo más difundido en el ámbito domestico aunque también hay versiones para servidores y Microsoft ha diseñado algunas versiones para superordenadores sin mucho exito.
  • 14. Clasificación. Sistema Operativo Multitareas. Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas. Sistema Operativo Monotareas. Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que
  • 15. solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión. Sistema Operativo Monousuario. Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores. Sistema Operativo Multiusuario. Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing). Secuencia por Lotes. La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecución de una lista de comandos del sistema operativo uno tras otro sin intervención del usuario. En los ordenadores más grandes el proceso de recogida de programas y de conjuntos de datos de los usuarios, la ejecución de uno o unos pocos cada vez y la entrega de los recursos a los usuarios. Procesamiento por lotes también puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envío a un archivo maestro, por lo general una operación separada que se efectúa durante la noche. Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en ves de individualmente. La función de estos sistemas operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se
  • 16. realizaba el salto a una dirección de memoria desde donde reasumía el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía considerablemente. Tiempo Real. Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relación con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes. Su característica principal es dar respuestas rápidas; por ejemplo en un caso de peligro se necesitarían respuestas inmediatas para evitar una catástrofe. Tiempo Compartido. El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por más de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es común en la mayoría de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras más grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realización de múltiples tareas por un solo usuario.
  • 17. Estructura (Niveles o Estratos de Diseño) En informática, el núcleo (también conocido en español con el anglicismo kernel, de raíces germánicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador. Funciones generalmente ejercidas por un núcleo: Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los procesos, las entradas/salidas y proponer un interfaz entre el espacio núcleo y los programas del espacio del usuario. Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionados por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en el núcleo se hace en el único objetivo de mejorar los resultados. En efecto, según la concepción del núcleo, la misma función llamada desde el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de función es frecuente, puede resultar útil integrar estas funciones al núcleo para mejorar los resultados.
  • 18. Hay que señalar que estas técnicas son utilizadas para atenuar defectos de los núcleos como los elevados estados. En la medida de lo posible, es preferible escribir un programa informático fuera del núcleo, en el espacio usuario. En efecto, el espacio del núcleo, supone la ausencia de mecanismos como la protección de la memoria. Es pues más complejo escribir un programa informático que funciona en el espacio del núcleo, que en el espacio usuario; los errores y faltas de seguridad pueden desestabilizar el sistema. Tipos de núcleo : No necesariamente se necesita un núcleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora «vacía», siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema operativo. Ésta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empezó a dejar en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a ser los primeros núcleos de sistema operativo. Hay cuatro grandes tipos de núcleos: Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.
  • 19. Micronúcleos: El enfoque micronúcleo consiste en definir una abstracción muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mínimos, como la gestión de hilos, el espacio de direccionamiento y la comunicación entre procesos. El objetivo principal es la separación de la implementación de los servicios básicos y de la política de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutándose encima del micronúcleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero, y se podrá reiniciar este módulo independientemente del resto. Sin embargo, la existencia de diferentes módulos independientes origina retardos en la comunicación debido a la copia de variables que se realiza en la comunicación entre módulos. Algunos ejemplos de micronúcleos: AIX La familia de micronúcleos L4 El micronúcleo Mach, usado en GNU Hurd y en Mac OS X BeOS Minix Morph OS QNX Radi OS? VSTa Hurd Núcleos monolíticos en contraposición a micronúcleos: Frecuentemente se prefieren los núcleos monolíticos frente a los micronúcleos debido al menor nivel de complejidad que comporta el tratar con todo el código de control del sistema en un solo espacio de direccionamiento. Por ejemplo, XNU, el núcleo de Mac OS X, está basado en el núcleo Mach 3.0 y en Free BSD, en el mismo espacio de direccionamiento para disminuir la latencia que comporta el diseño de micronúcleo convencional. A principios de los años 1990, los núcleos monolíticos se consideraban obsoletos. El diseño de Linux como un núcleo monolítico en lugar de como un micronúcleo fue el tema de una famosa disputa entre Linus Torvalds y Andrew Tanenbaum. Los argumentos de ambas partes en esta discusión presentan algunas motivaciones interesantes. Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo
  • 20. tanto pueden crecer más rápidamente que un sistema basado en micronúcleo, pero hay casos de éxito en ambos bandos. Los micronúcleos suelen usarse en robótica embebida o computadoras médicas, ya que la mayoría de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Esto no sería posible con los núcleos monolíticos, ni siquiera con los modernos que permiten cargar módulos del núcleo. Aunque Mach es el micronúcleo generalista más conocido, se han desarrollado otros micronúcleos con propósitos más específicos. L3 fue creado para demostrar que los micronúcleos no son necesariamente lentos. La familia de micronúcleos L4 es la descendiente de L3, y una de sus últimas implementaciones, llamada Pistachio, permite ejecutar Linux simultáneamente con otros procesos, en espacios de direccionamiento separados. QNX es un sistema operativo que ha estado disponible desde principios de los años 1980, y tiene un diseño de micronúcleo muy minimalista. Este sistema ha conseguido llegar a las metas del paradigma del micronúcleo con mucho más éxito que Mach. Se usa en situaciones en que no se puede permitir que haya fallos de software, lo que incluye desde brazos robóticos en naves espaciales, hasta máquinas que pulen cristal donde un pequeño error podría costar mucho dinero. Mucha gente cree que como Mach básicamente falló en el intento de resolver el conjunto de problemas que los micronúcleos intentaban subsanar, toda la tecnología de micronúcleos es inútil. Los partidarios de Mach afirman que ésta es una actitud estrecha de miras que ha llegado a ser lo suficientemente popular para que mucha gente la acepte como verdad. Núcleos híbridos (micronúcleos modificados): Los núcleos híbridos fundamentalmente son micronúcleos que tienen algo de código «no esencial» en espacio de núcleo para que éste se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario. Éste fue un compromiso que muchos desarrolladores de los primeros sistemas operativos con arquitectura basada en micronúcleo adoptaron antes que se demostrara que los micronúcleos pueden tener muy buen rendimiento. La mayoría de sistemas operativos modernos pertenecen a
  • 21. esta categoría, siendo el más popular Microsoft Windows. XNU, el núcleo de Mac OS X, también es un micronúcleo modificado, debido a la inclusión de código del núcleo de Free BSD en el núcleo basado en Mach. Dragon Fly BSD? es el primer sistema BSD que adopta una arquitectura de núcleo híbrido sin basarse en Mach. Algunos ejemplos de núcleos híbridos: Microsoft Windows NT, usado en todos los sistemas que usan el código base de Windows NT XNU (usado en Mac OS X) Dragon Fly BSD React OS? Hay gente que confunde el término «núcleo híbrido» con los núcleos monolíticos que pueden cargar módulos después del arranque, lo que es un error. «Híbrido» implica que el núcleo en cuestión usa conceptos de arquitectura o mecanismos tanto del diseño monolítico como del micronúcleo, específicamente el paso de mensajes y la migración de código «no esencial» hacia el espacio de usuario, pero manteniendo cierto código «no esencial» en el propio núcleo por razones de rendimiento. Exonúcleos: Los exonúcleos, también conocidos como sistemas operativos verticalmente estructurados, representan una aproximación radicalmente nueva al diseño de sistemas operativos. La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exonúcleos son extremadamente pequeños, ya que limitan expresamente su funcionalidad a la protección y el multiplexado de los recursos. Se llaman así porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinámicas. Los diseños de núcleos clásicos (tanto el monolítico como el micronúcleo) abstraen el hardware, escondiendo los recursos bajo una capa de abstracción del hardware, o detrás de los controladores de dispositivo. En los sistemas clásicos, si se asigna memoria física, nadie puede estar seguro de cuál es su localización real, por ejemplo. La finalidad de un exonúcleo es permitir a una aplicación que solicite una región específica de la memoria, un bloque de disco concreto, etc., y simplemente
  • 22. asegurarse que los recursos pedidos están disponibles, y que el programa tiene derecho a acceder a ellos. Debido a que el exonúcleo sólo proporciona una interfaz al hardware de muy bajo nivel, careciendo de todas las funcionalidades de alto nivel de otros sistemas operativos, éste es complementado por una «biblioteca de sistema operativo». Esta biblioteca se comunica con el exonúcleo subyacente, y facilita a los programadores de aplicaciones las funcionalidades que son comunes en otros sistemas operativos. Algunas de las implicaciones teóricas de un sistema exonúcleo son que es posible tener distintos tipos de sistemas operativos (p.e. Windows, Unix) ejecutándose en un solo exonúcleo, y que los desarrolladores pueden elegir prescindir de o incrementar funcionalidades por motivos de rendimiento. Actualmente, los diseños exonúcleo están fundamentalmente en fase de estudio y no se usan en ningún sistema popular. Un concepto de sistema operativo es Nemesis, creado por la Universidad de Cambridge, la Universidad de Glasgow, Citrix Systems y el Instituto Sueco de Informática. El MIT también ha diseñado algunos sistemas basados en exonúcleos. Los exonúcleos se manejan en diferente estructura dado que también cumplen funciones distintas
  • 23. Conclusión. Luego de haber investigado y analizado se puede ver que se han desarrollado varios tipos de sistemas operativos con diferentes interfaces y categorías. Pero hemos podido observar que todos los sistemas operativos han sufrido cambios por parte de los programadores, y siguen evolucionando. El diálogo entre el usuario y la máquina suele realizarse a través de una interfaz de línea de comandos o de una interfaz gráfica de usuario (GUI, siglas en inglés). Las interfaces de línea de comandos exigen que se introduzcan instrucciones breves mediante un teclado. Las GUI emplean ventanas para organizar archivos y aplicaciones con iconos y menús que presentan listas de instrucciones. El usuario manipula directamente estos objetos visuales en el monitor señalándolos, seleccionándolos y arrastrándolos o moviéndolos con un Mouse. El uso de las GUI es más sencillo que el de las interfaces de línea de comandos. Sin embargo, la introducción de instrucciones con una GUI es más lenta, por lo que las GUI suelen tener la opción de emplear un sistema equivalente al de línea de instrucciones como alternativa rápida para los usuarios más expertos. Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS- DOS, OS/2, Windows 95 y Windows NT. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Otros SO multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft e IBM, Windows NT y Win95 desarrollados por Microsoft. El SO multitarea de Apple se denomina Macintosh OS. El MS-DOS es un SO popular entre los usuarios de PCs pero solo permite un usuario y una tarea.
  • 24. Bibliografía. Fundamentos de sistemas operativos. Silberschatz galvin gagne. Sistemas Operativos: Diseño e Implementación, Segunda edición; Prentice Hall; Andrew S. Tenenbaum, Albert S. Woodhull. William Stalling. Prentice Hall. Introducción a los Sistemas Informáticos. Sistemas Operativos, Segunda edición; Sistemas operativos: teoría y práctica, Pablo Martínez Cobo, P. Martinez, Ediciones Díaz de Santos, 1997