Vous êtes sur la page 1sur 12

c

UMSH
Universidad Michoacana San Nicolás de Hidalgo
Facultad de Contaduría y Ciencias Administrativas

SISTEMAS OPERATIVOS

Ê  Lic. Fco. Octavio Aparicio contreras


 Adriana Sosa Martínez.

Secc.44 4°sem.
ÍNDICE
1.c ISA 3
2.c KERNEL 3

ic Instalaciones Básicas del Núcleo


ic Problemas de Soporte del KERNEL para la Protección
ic KERNEL Monolíticos
ic MicroKernel
ic Núcleos Híbridos
ic Los Primeros Núcleos del Sistema Operativo

3.c MAQUINA VIRTUAL 7

ic Tipos de maquina virtual


ic Maquinas virtuales de sistema
ic Aplicaciones
ic Maquinas virtuales de proceso

4.c CHARLES BABBAGE 9

ic Diseño de computadoras
ic Maquina diferencial
ic Maquina analítica
ic Diseño

w               
ISA
Bus de 8 bits instalado en los primeros PC fabricados por IBM, que se amplió
posteriormente a 16 bits en los PCs AT. El bus permite la conexión de diferentes
dispositivos al sistema a través de ranuras de expansión.

Bus de expansión comúnmente utilizado en computadores personales. Acepta tarjetas de


conexión que controlan la presentación de video, disco y otros periféricos. La mayor parte
de las tarjetas de expansión de los computadores personales en el mercado son tarjetas ISA.

Originalmente, ISA se llamó bus AT, ya que fue el primero en emplearse en el AT de IBM,
extendiendo el bus original de ocho a 16 bits. La mayor parte de los computadores
personales ISA suministra una mezcla de ranuras de expansión de 8 bits y de 16 bits.

KERNEL
ic En computación, se refiere al núcleo o kernel de un sistema operativo.

El kernel es el componente central de la mayoría de ordenador sistemas operativos , es un


puente entre las aplicaciones y el procesamiento de datos reales de hacer a nivel de
hardware. núcleo de las responsabilidades de la incluyen la gestión del sistema de recursos
(la comunicación entre el hardware y software de componentes). Por lo general, como un
componente básico de un sistema operativo, un kernel puede proporcionar el nivel más bajo
capa de abstracción de los recursos (especialmente los procesadores y E / dispositivos de
entrada ) que el software de aplicación debe controlar para llevar a cabo su función. Por lo
general hace que estas instalaciones disponibles para la aplicación procesos a través de
procesos de comunicación entre los mecanismos y las llamadas al sistema .

Un núcleo conecta el software de aplicación para el hardware de una computadora

En la mayoría de los casos, el gestor de arranque comienza a ejecutar el kernel en modo


supervisor . El núcleo inicializa y luego se inicia el primer proceso. Después de esto, el
kernel no suele ejecutar directamente, sólo en respuesta a eventos externos (por ejemplo, a
través de llamadas al sistema que utilizan las aplicaciones para solicitar los servicios del
núcleo, o por medio de interrupciones usado por el hardware para notificar al núcleo de los
acontecimientos). Además, el kernel proporciona típicamente un bucle que se ejecuta cada
vez que hay procesos están disponibles para su ejecución, lo que a menudo se llama el
proceso de inactividad.

El desarrollo del kernel es considerado uno de los complejos y difíciles tareas más en la
programación. Su posición central en un sistema operativo implica la necesidad de un buen
rendimiento, que define el núcleo como una pieza clave de software y hace su correcto
diseño y ejecución de difícil. Por diversas razones, un núcleo podría incluso no ser capaz
de utilizar la abstracción de los mecanismos que proporciona a otro software. Estas razones
incluyen la memoria de gestión se refiere (por ejemplo, un modo de función de usuario
puede confiar en ser objeto de memoria a la demanda de paginación , pero a medida que el
núcleo se dispone que las facilidades que éste no puede usarlo, porque entonces no podría
permanecer en la memoria para disponer que ) y la falta de reentrada , con lo que su
desarrollo aún más difícil para los ingenieros de software.

Un núcleo generalmente proporcionan características de bajo nivel de programación de los


procesos (el envío), proceso de comunicación interpersonal , el proceso de sincronización ,
el cambio de contexto , la manipulación de los bloques de control de procesos , interrumpir
la manipulación, el proceso de creación y destrucción, y la suspensión del proceso y la
reanudación

ic        

El objetivo principal del núcleo El es la gestión de los recursos de la computadora y


permitir que otros programas para ejecutar y utilizar estos recursos. Por lo general, los
recursos constituidos por:

‰c      
 Esta es la parte más central de un sistema
informático, responsable de dirigir o ejecutar programas en él. El núcleo tiene la
responsabilidad de decidir en cualquier momento cuál de los muchos programas en
ejecución deben asignarse al procesador o procesadores (cada uno de los cuales por
lo general sólo se puede ejecutar un programa a la vez)
‰c j 

 Memoria se utiliza para almacenar datos e instrucciones.
Normalmente, ambos tienen que estar presentes en la memoria para que un
programa a ejecutar. A menudo, varios programas se quiere tener acceso a la
memoria, con frecuencia exigen más memoria que el equipo tiene a su disposición.
El kernel es responsable de decidir que la memoria de cada proceso puede utilizar, y
la determinación de qué hacer cuando no hay suficiente.
‰c Cualquier entrada / salida (E / S) los dispositivos presentes en el equipo, como
teclado, ratón, discos duros, impresoras, pantallas, etc. El núcleo asigna las
peticiones de las aplicaciones que realizan E / S a un dispositivo adecuado (o
subsección de un dispositivo, en el caso de los archivos en un disco o ventanas en
una pantalla) y proporciona los métodos convenientes para el uso del dispositivo
(normalmente extraída hasta el punto en que la aplicación no tiene por qué saber los
detalles de implementación del dispositivo
ic 
      

Una consideración importante en el diseño de un núcleo es el apoyo que brinda protección


contra fallas ( tolerancia a fallos ) y de comportamientos maliciosos ( de seguridad ). Estos
dos aspectos no suelen distinguirse claramente, y la adopción de esta distinción en el diseño
del núcleo conduce a la desestimación de una estructura jerárquica para la protección .

Los mecanismos o políticas previstas por el núcleo se pueden clasificar de acuerdo a varios
criterios, como: estáticos (aplicado en tiempo de compilación ) o dinámica (aplicado en
tiempo de ejecución ), o después de la detección preventiva, de acuerdo con los principios
de protección que cumplan (es decir, Denning), ya sean de hardware o el apoyo basado en
el lenguaje, si son más un mecanismo abierto o una política de unión, y muchos más.

ic Mj jÊ 
En un kernel monolítico, todos los servicios del sistema operativo de ejecución junto con el
hilo del núcleo principal, por tanto, también residentes en la misma área de memoria. Este
enfoque proporciona acceso a los hardwares ricos y poderosos. Algunos desarrolladores,
tales como UNIX desarrollador Ken Thompson, sostienen que es "más fácil de implementar
un kernel monolítico" de micronúcleos. Las principales desventajas de los núcleos
monolíticos son las dependencias entre los componentes del sistema - un fallo en un
controlador de dispositivo se puede bloquear todo el sistema - y el hecho de que los granos
de gran tamaño puede llegar a ser muy difícil de mantener.

ic Ê  Mj j

En el microkernel planteamiento, el núcleo sólo proporciona la funcionalidad básica que


permite la ejecución de servidores , programas independientes que asumen las funciones
del núcleo antiguo, como controladores de dispositivos, servidores de interfaz gráfica de
usuario, etc.

El enfoque micronúcleo consiste en definir una abstracción simple sobre el hardware, con
un conjunto de primitivas o llamadas al sistema para poner en práctica un mínimo de
servicios del sistema operativo como de gestión de memoria , multitarea y comunicación
entre procesos . Otros servicios, incluidos los que normalmente se prestan por el núcleo,
tales como la creación de redes , se implementan programas en el espacio del usuario,
conocidas como servidores. Micronúcleos son más fáciles de mantener que los núcleos
monolíticos, pero el gran número de llamadas al sistema y cambios de contexto puede
ralentizar el sistema, ya que generan más gastos que las llamadas de la función normal.

Un microkernel permite la aplicación de la parte restante del sistema operativo como un


programa de aplicación normal por escrito en un lenguaje de alto nivel , y el uso de
diferentes sistemas operativos en la parte superior del núcleo misma e invariable. También
es posible de forma dinámica cambiar entre sistemas operativos y tener más de un activo al
mismo tiempo

ic j!w "

Granos híbridos son un compromiso entre el diseño monolítico y micronúcleo. Esto


implica la ejecución de algunos servicios (como la pila de red o el sistema de archivos ) en
espacio de kernel para reducir la sobrecarga de rendimiento de un micronúcleo tradicional,
pero sigue ejecutando el código del kernel (como controladores de dispositivos) como
servidores en espacio de usuario

ic  Êj j"j jÊj  #

En sentido estricto, un sistema operativo (y por lo tanto, un núcleo) no está obligado a


ejecutar una computadora. Los programas pueden ser directamente cargado y ejecutado en
la "bare metal" de la máquina, siempre que los autores de esos programas están dispuestos a
trabajar sin ningún tipo de abstracción de hardware o soporte del sistema operativo. La
mayoría de los primeros ordenadores operados de esta manera durante la década de 1950 y
comienzos de 1960, que se restablece y vuelve a cargar entre la ejecución de diferentes
programas. Con el tiempo, pequeños programas auxiliares, tales como cargadores del
programa y depuradores se quedaron en la memoria entre ejecuciones, o cargado de ROM .
A medida que estos se desarrollaron, formaron la base de lo que se convirtió a principios de
funcionamiento núcleos de sistema. El "bare metal" enfoque todavía se utiliza hoy en
algunas consolas de videojuegos y sistemas embebidos , pero, en general, los nuevos
equipos utilizan los sistemas operativos modernos y los granos.

En 1969, el RC 4000 multiprogramación sistema introducido la filosofía de diseño del


sistema de un pequeño núcleo "sobre los sistemas operativos para diferentes propósitos se
puede construir de una manera ordenada", lo que se llamaría el enfoque micronúcleo.


Ê$% # 

Una máquina virtual es un software que emula a una computadora y puede ejecutar
programas como si fuese una computadora real. Este software en un principio fue definido
como "un duplicado eficiente y aislado de una máquina física". La acepción del término
actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con
ningún hardware real.

Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están
limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no
pueden escaparse de esta "computadora virtual".

Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas
operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que
queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac
OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin
miedo a que se desconfigure el sistema operativo primario.

ic  
 &  

Las máquinas virtuales se pueden clasificar en dos grandes categorías según su


funcionalidad y su grado de equivalencia a una verdadera máquina.

ic Máquinas virtuales de sistema (en inglés System Virtual Machine)

ic Máquinas virtuales de proceso (en inglés Process Virtual Machine)

ic Ê &   




Las máquinas virtuales de alivio sistema, también llamadas máquinas virtuales de


hardware, permiten a la máquina física subyacente multiplexarse entre varias máquinas
virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que
permite la virtualización se la llama monitor de máquina virtual o "hypervisor". Un monitor
de máquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un
sistema operativo ("host operating system").
ic      
 &   

c

Varios sistemas operativos distintos pueden coexistir sobre la misma computadora, en


sólido aislamiento el uno del otro, por ejemplo para probar un sistema operativo nuevo sin
necesidad de instalarlo directamente.

ic La máquina virtual puede proporcionar una arquitectura de instrucciones (ISA) que


sea algo distinta de la verdadera máquina. Es decir, podemos simular hardware.

ic Varias máquinas virtuales (cada una con su propio sistema operativo llamado
sistema operativo "invitado" o "guest"), pueden ser utilizadas para consolidar
servidores. Esto permite que servicios que normalmente se tengan que ejecutar en
computadoras distintas para evitar interferencias, se puedan ejecutar en la misma
máquina de manera completamente aislada y compartiendo los recursos de una
única computadora. La consolidación de servidores a menudo contribuye a reducir
el coste total de las instalaciones necesarias para mantener los servicios, dado que
permiten ahorrar en hardware.

ic La virtualización es una excelente opción hoy día, ya que las máquinas actuales
(Laptops, desktops, servidores) en la mayoría de los casos están siendo "sub-
utilizados" (gran capacidad de disco duro, memoria RAM, etc.), llegando a un uso
de entre 30% a 60% de su capacidad. Al virtualizar, la necesidad de nuevas
máquinas en una ya existente permite un ahorro considerable de los costos
asociados (energía, mantenimiento, espacio, etc).

ic Ê &  

Una máquina virtual de proceso, a veces llamada "máquina virtual de aplicación", se


ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso.
La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se
detiene para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de ejecución
independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles
de la plataforma subyacente y permita que un programa se ejecute siempre de la misma
forma sobre cualquier plataforma.

El ejemplo más conocido actualmente de este tipo de máquina virtual es la máquina virtual
de Java. Otra máquina virtual muy conocida es la del entorno .Net de Microsoft que se
llama "Common Language Runtime".
! jwww'j
Charles Babbage FRS Teignmouth, Devonshire, Gran Bretaña, 26 de diciembre de 1791 -
18 de octubre de 1871) fue un matemático británico y científico de la computación. Diseñó
y parcialmente implementó una máquina a vapor, de diferencias mecánicas para calcular
tablas de números. También diseñó, pero nunca construyó, la máquina analítica para
ejecutar programas de tabulación o computación; por estos inventos se le considera como
una de las primeras personas en concebir la idea de lo que hoy llamaríamos una
computadora, por lo que se le considera como "El Padre de la Computación

ic " (
   

Babbage intentó encontrar un método por el cual se pudieran hacer cálculos


automáticamente por una máquina, eliminando errores debidos a la fatiga o aburrimiento
que sufrían las personas encargadas de compilar las tablas matemáticas de la época. Esta
idea la tuvo en 1812. Tres diversos factores parecían haberlo influido: una aberración al
desorden, su conocimiento de tablas logarítmicas, y los trabajos de máquinas calculadoras
realizadas por Blaise Pascal y Gottfried Leibniz. En 1822, en una carta dirigida a Sir
Humphry Davy en la aplicación de maquinaria al cálculo e impresión de tablas
matemáticas, discutió los principios de una máquina calculadora. Además diseño un plano
de computadoras

ic Ê    

Presentó un modelo que llamó máquina diferencial en la Royal Astronomical Society en


1822. Su propósito era tabular polinomios usando un método numérico llamado el método
de las diferencias. La sociedad aprobó su idea, y apoyó su petición de una concesión de
1.500 £ otorgadas para este fin por el gobierno británico en 1823. Babbage comenzó la
construcción de su máquina, pero ésta nunca fue terminada. Dos cosas fueron mal. Una era
que la fricción y engranajes internos disponibles no eran lo bastante buenos para que los
modelos fueran terminados, siendo también las vibraciones un problema constante. La otra
fue que Babbage cambiaba incesantemente el diseño de la máquina. En 1833 se habían
gastado 17.000 £ sin resultado satisfactorio.
En 1991 el Museo de Ciencias de Londres, construyó una máquina diferencial basándose en
los dibujos de Babbage y utilizando sólo técnicas disponibles en aquella época. La máquina
funcionó sin problemas.[cita requerida]

ic Ê    

Charles Babbage también logró resultados notables en criptografía. Rompió la cifra auto
llave de Vigenère, así como la cifra mucho más débil que se llama cifrado de Vigenère hoy
en día. La cifra del auto llave fue llamada "la cifra indescifrable", aunque debido a la
confusión popular muchos pensaron que la cifra apolialfabética más débil era indescifrable.
El descubrimiento de Babbage fue usado en campañas militares inglesas, y era considerado
un secreto militar. Como resultado, el mérito por haber descifrado esta clave le fue
otorgado a Friedrich Kasiski, quien descifró también este sistema criptográfico algunos
años después.

La máquina analítica es el diseño de un computador moderno de uso general fue


inicialmente descrita en 1816, aunque Babbage continuó refinando el diseño hasta su
muerte en 1872. La máquina no pudo ser construida debido a razones de índole politico,
hubo detractores por un posible uso de la máquina para fines bélicos. Computadores que
fueran lógicamente comparables a la máquina analítica sólo pudieron ser construidos 100
años más tarde.

ic " (

El primer intento de Charles Babbage para diseñar una máquina fue la máquina diferencial,
que fue un computador diseñado específicamente para construir tablas de logaritmos y de
funciones trigonométricas evaluando polinomios por aproximación. Si bien este proyecto
no vio la luz por razones económicas y personales, Babbage comprendió que parte de su
trabajo podía ser aprovechado en el diseño de un computador de propósito general, de
manera que inició el diseño de la máquina analítica.

La máquina analítica debía funcionar con un motor a vapor y hubiera tenido 30 metros de
largo por 10 de ancho. Para la entrada de datos y programas había pensado utilizar tarjetas
perforadas, que era un mecanismo ya utilizado en la época para dirigir diversos equipos
mecánicos. La salida debía producirse por una impresora, un equipo de dibujo y una
campana. La máquina debía también perforar tarjetas que podrían ser leídas posteriormente.
La máquina analítica trabajaba con una aritmética de coma fija en base 10, poseía una
memoria capaz de almacenar 1.000 números de 50 dígitos cada uno. Una unidad aritmética
estaría encargada de realizar las operaciones aritméticas.

El lenguaje de programación que sería utilizado era similar a los actuales lenguajes
ensambladores. Era posible realizar bucles y condicionales de manera que el lenguaje
propuesto hubiera sido Turing-completo. Se utilizaban tres tipos diferentes de tarjetas
perforadas: una para operaciones aritméticas, una para constantes numéricas y otra para
operaciones de almacenamiento y recuperación de datos de la memoria, y la transferencia
de datos entre la unidad aritmética y la memoria. Se disponía de tres lectores diferentes para
los tres tipos de tarjetas.

En 1842, el matemático italiano Luigi Menabrea, quien se había encontrado con Babbage
durante un viaje de éste por Italia, escribió una descripción de la máquina en francés. En
1843, esa descripción fue traducida al inglés y anotada de forma extensa por Ada King,
Condesa de Lovelace, quien ya se había interesado en la máquina unos años antes. Como
reconocimiento a su trabajo, ella ha sido descrita en muchas ocasiones como la primera
programadora. El Lenguaje de programación Ada actualmente utilizado lleva su nombre.

La máquina analítica fue prácticamente olvidada salvo por tres inventores: Percy Ludgate,
Leonardo Torres y Quevedo y Vannevar Bush que independientemente propusieron, a
principios del siglo XX, diseños de máquinas analíticas basados en la de Babbage.

Los trabajos de George Stibitz de Bell Laboratories en Nueva York justo antes de la
Segunda Guerra Mundial y de Howard Aiken en la Universidad de Harvard, durante y justo
después de la guerra están estrechamente relacionado con el trabajo de Babbage sobre la
máquina analítica. Ambos construyeron computadores electromagnéticos estrechamente
relacionados con la máquina analítica, si bien ninguno de estos equipos puede ser
considerado como un computador programable moderno. La máquina de Aiken fue
financiada por IBM y fue llamada el Harvard Mark I.
w w ' )

ic www.isainformatica.com
ic Roch, Benjamín (2004). "Kernel monolítico vs. Microkernel" (PDF).
ic Deitel, Harvey M. (1984) [1982]. Una introducción a los sistemas operativos
ic Apuntes sobre máquinas virtuales de la UNED (Universidad Nacional de Educación
a Distancia (España))
ic Diferencias entre emulador y máquina virtual
ic http://es.wikipedia.org/wiki/M%C3%A1quina_anal%C3%ADtica

Vous aimerez peut-être aussi