Download Diapositiva 1

Document related concepts

Arquitectura de Windows NT wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Sistema operativo wikipedia , lookup

Windows NT wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Transcript
Un sistema operativo es un programa que actúa como
intermediario entre el usuario y el hardware de un
computador y su propósito es proporcionar un entorno en
el cual el usuario pueda ejecutar programas.
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,
el sistema operativo despierta a la computadora y hace
que reconozca a la CPU, la memoria, el teclado, el sistema
de vídeo y las unidades de disco. Además, proporciona la
facilidad para que los usuarios se comuniquen con la
computadora y sirve de plataforma a partir de la cual se
corran programas de aplicación.


Proporcionar ya sea una interfaz de línea de comando o una
interfaz gráfica al usuario, para que este último se pueda
comunicar con la computadora. Interfaz de línea de
comando: tú introduces palabras y símbolos desde el
teclado de la computadora, ejemplo, el MS-DOS. Interfaz
gráfica del Usuario (GUI), seleccionas las acciones mediante
el uso de un Mouse para pulsar sobre figuras llamadas
iconos o seleccionar opciones de los menús.
Administrar los dispositivos de hardware en la
computadora. Cuando corren los programas, necesitan
utilizar la memoria, el monitor, las unidades de disco, los
puertos de Entrada/Salida (impresoras, módems, etc.). El
SO sirve de intermediario entre los programas y el
hardware.


Administrar y mantener los sistemas de archivo de disco.
Los SO agrupan la información dentro de compartimientos
lógicos para almacenarlos en el disco. Estos grupos de
información son llamados archivos. Los archivos pueden
contener instrucciones de programas o información creada
por el usuario. El SO mantiene una lista de los archivos en
un disco, y nos proporciona las herramientas necesarias
para organizar y manipular estos archivos.
Apoyar a otros programas. Otra de las funciones
importantes del SO es proporcionar servicios a otros
programas. Estos servicios son similares a aquellos que el
SO proporciona directamente a los usuarios. Por ejemplo,
listar los archivos, grabarlos a disco, eliminar archivos,
revisar espacio disponible, etc. Cuando los programadores
escriben programas de computadora, incluyen en sus
programas instrucciones que solicitan los servicios del SO.
Estas instrucciones son conocidas como "llamadas del
sistema"
Se puede decir que hay cuatro
Estructuras distintas que ya han
sido probadas, con el fin de tener
una idea más extensa de cómo
esta estructurado el sistema
operativo. A continuación se
resumirán cada una de ellas
También llamados sistemas monolíticos. La estructura
consiste en que no hay estructura alguna. El sistema
operativo se escribe como una colección de procedimientos,
cada uno de los cuales puede llamar a los demás cada vez
que así lo requiera. Cuando se usa esta técnica, cada
procedimiento del sistema tiene una interfaz bien definida
en términos de parámetros y resultados y cada uno de ellos
es libre de llamar a cualquier otro, si este ultimo
proporciona cierto cálculo útil para el primero. Sin embargo
incluso en este tipo de sistemas es posible tener al menos
algo de estructura. Los servicios , llamadas al sistema, que
proporciona el sistema operativo se solicitan colocando los
parámetros en lugares bien definidos, como en los registros
o en la pila, para después ejecutar una instrucción especial
de trampa de nombre llamada al núcleo o llamada al
supervisor.
Organización básica del sistema operativo:
 un programa principal que llama al procedimiento del
servicio solicitado.
 un conjunto de procedimientos de servicio que llevan a
cabo las llamadas al sistema.
 un conjunto de procedimientos utilitarios que ayudan al
procedimiento de servicio
Las funciones centrales de un SO son controladas por el
núcleo (kernel) mientras que la interfaz del usuario es
controlada por el entorno (shell). Por ejemplo, la parte más
importante del DOS es un programa con el nombre
"COMMAND.COM" Este programa tiene dos partes. El
kernel, que se mantiene en memoria en todo momento,
contiene el código máquina de bajo nivel para manejar la
administración de hardware para otros programas que
necesitan estos servicios, y para la segunda parte del
COMMAND.COM el shell, el cual es el interprete de
comandos. Las funciones de bajo nivel del SO y las
funciones de interpretación de comandos están separadas,
de tal forma que puedes mantener el kernel DOS corriendo,
pero utilizar una interfaz de usuario diferente.

El sistema por "capas" consiste en organizar el sistema
operativo como una jerarquía de capas, cada una
construida sobre la inmediata inferior. El primer sistema
construido de esta manera fue el sistema THE (Technische
Hogeschool Eindhoven), desarrollado en Holanda por E. W.
Dijkstra (1968)que consta de l capas.
Capa 0 Asignación del procesador y multiprogramación:
trabaja con la asignación del procesador y alterna entre los
procesos cuando ocurren las interrupciones o expiran los
cronómetros. Sobre la capa 0, el sistema consta de
procesos secuénciales, cada uno de los cuales se podría
programar sin importar que varios procesos estuvieran
ejecutándose en el mismo procesador, la capa 0
proporcionaba la multiprogramación básica de la CPU.





Capa 1 Administración de la memoria y del disco: Asignaba
el espacio de memoria principal para los procesos y un
recipiente de palabras de 512K se utilizaba para almacenar
partes de los procesos (páginas) para las que no existía
lugar en la memoria principal. Por encima de la capa 1, los
procesos no debían preocuparse si estaban en la memoria o
en el recipiente; el software de la capa 1 se encargaba de
garantizar que las páginas llegaran a la memoria cuando
fueran necesarias
Capa2 Comunicación operador-proceso se encargaba de la
comunicación entre cada proceso y la consola del operador.
Por encima de esta capa, cada proceso tiene su propia
consola de operador.
Capa3 Control de entrada/salida: cada proceso puede
trabajar con dispositivos exactos de E/S con propiedades
adecuadas, en vez de dispositivos reales con muchas
peculiaridades.
Capa 4 Programas del usuario: donde estaban los
programas del usuario, estos no tenían que preocuparse
por el proceso, memoria, consola o control de E/S. el
proceso operador del sistema se localizaba en la capa 5
Capa 5 El operador.
Una tendencia de los sistemas operativos modernos es la
de explotar la idea de mover el código a capas superiores y
eliminar la mayor parte posible del sistema operativo para
mantener un núcleo mínimo. El punto de vista usual es el
de implantar la mayoría de las funciones del sistema
operativo en los procesos del usuario. Para solicitar un
servicio, como la lectura de un bloque de cierto archivo, un
proceso del usuario (denominado proceso cliente) envía la
solicitud a un proceso servidor, que realiza entonces el
trabajo y regresa la respuesta. En este modelo lo único que
hace el núcleo es controlar la comunicación entre los
clientes y los servidores. Al separar el sistema operativo en
partes, cada una de ellas controla una faceta del sistema,
como el servicio a archivos, servicios a procesos, servicio a
terminales o servicio a la memoria, cada parte es pequeña
y controlable. Además como todos los servidores se
ejecutan como procesos en modo usuario y no en modo
núcleo, no tienen acceso directo al hardware. En
consecuencia si hay un error en el servidor de archivos,
éste puede fallar, pero esto no afectará en general a toda la
máquina.









Aceptar todos los trabajos y conservarlos hasta su finalización.
Interpretación de comandos: Interpreta los comandos que
permiten al usuario comunicarse con el ordenador.
Control de recursos: Coordina y manipula el hardware de la
computadora, como la memoria, las impresoras, las unidades de
disco, el teclado o el Mouse.
Manejo de dispositivos de E/S: Organiza los archivos en diversos
dispositivos de almacenamiento, como discos flexibles, discos
duros, discos compactos o cintas magnéticas.
Manejo de errores: Gestiona los errores de hardware y la pérdida
de datos.
Secuencia de tareas: El sistema operativo debe administrar la
manera en que se reparten los procesos. Definir el orden. (Quien
va primero y quien después).
Protección: Evitar que las acciones de un usuario afecten el
trabajo que esta realizando otro usuario.
Multiacceso: Un usuario se puede conectar a otra máquina sin
tener que estar cerca de ella.
Contabilidad de recursos: establece el costo que se le cobra a un
usuario por utilizar determinados recursos.






Conveniencia. Un Sistema Operativo hace más conveniente
el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos
de la computadora se usen de la manera más eficiente
posible.
Habilidad para evolucionar. Un Sistema Operativo deberá
construirse de manera que permita el desarrollo, prueba o
introducción efectiva de nuevas funciones del sistema sin
interferir con el servicio.
Encargado de administrar el hardware. El Sistema
Operativo se encarga de manejar de una mejor manera los
recursos de la computadora en cuanto a hardware se
refiere, esto es, asignar a cada proceso una parte del
procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a través del kernel). El
Sistema Operativo se debe encargar de comunicar a los
dispositivos periféricos, cuando el usuario así lo requiera.
Organizar datos para acceso rápido y seguro.



Manejar las comunicaciones en red. El Sistema Operativo
permite al usuario manejar con alta facilidad todo lo
referente a la instalación y uso de las redes de
computadoras.
Procesamiento por bytes de flujo a través del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe
hacerle fácil al usuario el acceso y manejo de los
dispositivos de Entrada/Salida de la computadora.