Download sistemas operativos

Document related concepts

Sistema operativo wikipedia , lookup

Núcleo (informática) wikipedia , lookup

Arquitectura de Windows NT wikipedia , lookup

Anillo (seguridad informática) wikipedia , lookup

Windows NT wikipedia , lookup

Transcript
SISTEMAS OPERATIVOS
CONCEPTOS
CARLOS MAURICIO DIAZ ROYERTH
INGENIERO DE SISTEMAS
ESPECIALISTA EN INVESTIGACION APLIACADA A LA EDUCACION
Por qué se estudian los sistemas
operativos?
Los sistemas operativos son sistemas de software
complejos. El entendimiento de los conceptos
utilizados y la implementación de estos programas
proporcionan desafíos y ejemplos para cualquier
persona.
El conocimiento de los sistemas operativos permite
realizar aplicaciones que aprovechen los recursos
eficientemente.
Para el diseño de sistemas operativos.
Para la creación de sistemas operativos personales
con base en los sistemas operativos existentes.
(Personalización de versiones)
CONCEPTOS
Un Sistema Operativo es el software encargado de ejercer
el control y coordinar el uso del hardware entre diferentes
programas de aplicación y los diferentes usuarios. Es un
administrador de los recursos de hardware del sistema.
Es un sistema que consiste en ofrecer una distribución ordenada
y controlada de los procesadores, memorias y dispositivos de E/S
entre los diversos programas que compiten por ellos.
CONCEPTOS DE S. O.
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.
Un sistema operativo es el código que acompaña la ejecución de cualquier aplicación.
Un sistema operativo es un programa que dirige y administra los recursos de un sistema
computacional. Provee un conjunto de cualidades que facilitan el acceso de las aplicaciones a
estos recursos, buscando siempre independencia del hardware.
Un sistema operativo es la parte del sistema de cómputo que administra el hardware y el
software.
Un sistema operativo es un conjunto de programas que ordenadamente relacionados entre
si, contribuyen a que el hardware de la computadora lleve a cabo su trabajo correctamente.
Un sistema operativo es el soporte lógico que controla el funcionamiento del equipo físico.
Estructura de un sistema
computacional
FUNCIONES DE LOS SISTEMAS OPERATIVOS.
•Interpreta los comandos que permiten al usuario
comunicarse con el ordenador.
•Coordina y manipula el hardware de la
computadora, como la memoria, las impresoras, las
unidades de disco, el teclado o el mouse.
•Organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros,
discos compactos o cintas magnéticas.
•Gestiona los errores de hardware y la pérdida de
datos.
•Servir de base para la creación del software
logrando que equipos de marcas distintas funcionen
de manera análoga, salvando las diferencias
existentes entre ambos.
•Configura el entorno para el uso del software y los
periféricos
OTROS CONCEPTOS
Llamadas al sistema
Las instrucciones de E/S son privilegiadas y por lo tanto sólo las puede ejecutar el S.O.
¿Cómo ejecutar e/s? Solicitando al S.O. a través de una llamada al sistema.
Las llamadas al sistema se usan en general para solicitar cualquier servicio al S.O.
(Se tratan en este capítulo )
Una llamada al sistema genera una interrupción (trap) a una dirección específica del
vector de interrupciones.
Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupción
(excepción) de software. Los parámetros se pasan vía registro o direcciones de memoria.
LLAMADAS AL SISTEMA
Las llamadas al sistema se clasifican normalmente
en dos categorías generales:
Aquellas que se relacionan con procesos y las
que lo hacen con el sistema de archivo
Shell (intérprete de comandos)
El Shell es el intérprete de comandos, a pesar de no ser parte del
sistema operativo (está íntimamente ligado con este), hace un uso
intenso de muchas características del sistema operativo y por tanto
sirve como un buen ejemplo de la forma en que se pueden utilizar las
llamadas al sistema. También es la interfaz primaria entre un usuario
situado frente a su terminal y el sistema operativo.
CARACTERISTICAS
-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.
-Administración de dispositivos (gestionar a través del kernel). Coordinando y manipulando
los dispositivos conectados al ordenador. El sistema operativo se debe encargar de comunicar
a los dispositivos periféricos, cuando el usuario así lo requiera. Además debe organizar los
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.
-Técnicas de recuperación de errores. Gestiona los errores de hardware y la pérdida de los
datos.
-Gestión de permisos y de usuarios. Adjudica los permisos de acceso a los usuarios y evita
que las acciones de uno afecten el trabajo que está realizando otro. El sistema operativo
evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo
ocupada por otro usuario.
-Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el
software y la información almacenada en los sistemas.
-Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el
mismo recurso.
-Administración de memoria. Asigna memoria a los procesos y gestiona su uso.
-Generación de estadísticas.
-Control de la ejecución de los programas. Para ello, acepta los trabajos, administra la
manera en que se realizan, les asigna los recursos y los conserva hasta su finalización.
- Administración de periféricos.
Núcleos de sistemas operativos
El núcleo (Kernel) de un sistema operativo es un conjunto de rutinas
cuya misión es la de gestionar el procesador, la memoria, la
entrada/salida y el resto de procesos disponibles en la instalación. Toda
esta gestión la realiza para atender al funcionamiento y peticiones de
los trabajos que se ejecutan en el sistema.
Todas las operaciones en las que participan procesos son controladas
por la parte del sistema operativo denominada núcleo (nucleus, core o
kernel, en inglés). El núcleo normalmente representa sólo una pequeña
parte de lo que por lo general se piensa que es todo el sistema
operativo, pero es tal vez el código que más se utiliza. Por esta razón, el
núcleo reside por lo regular en la memoria principal, mientras que
otras partes del sistema operativo son cargadas en la memoria
principal sólo cuando se necesitan.
Funciones del núcleo
•Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de procesos.
•Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos.
• Apoyo para el mecanismo de llamada y retorno de un
procedimiento.
• Apoyo para ciertas funciones de contabilidad del sistema.
Categorías de los núcleos
Los núcleos (kernels) de los sistemas operativos se pueden ubicar en dos categorías:
Monolíticos o,
Micronúcleos (microkernels).
CLASIFICACIÓN DE LOS
SISTEMAS OPERATIVOS
Sistemas Operativos de multiprogramación (o Sistemas Operativos de
multitarea).
Es el modo de funcionamiento disponible en algunos sistemas operativos,
mediante el cual una computadora procesa varias tareas al mismo
tiempo.
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.
Sistemas Operativos por lotes.
Los Sistemas Operativos por lotes, procesan una gran cantidad de
trabajos con poca o ninguna interacción entre los usuarios y los
programas en ejecución. Se reúnen todos los trabajos comunes para
realizarlos al mismo tiempo, evitando la espera de dos o más trabajos
como sucede en el procesamiento en serie.
Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son aquellos en los cuales no
tiene importancia el usuario, sino los procesos. Por lo general, están
subutilizados sus recursos con la finalidad de prestar atención a los
procesos en el momento que lo requieran. se utilizan en entornos donde
son procesados un gran número de sucesos o eventos.
Sistemas Operativos de tiempo compartido.
Permiten la simulación de que el sistema y sus recursos son
todos para cada usuario. El usuario hace una petición a la
computadora, esta la procesa tan pronto como le es posible, y
la respuesta aparecerá en la terminal del usuario.
Sistemas Operativos distribuidos.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto
de procesadores. Puede ser que este conjunto de procesadores
esté en un equipo o en diferentes, en este caso es trasparente
para el usuario.
Sistemas Operativos de red.
Son aquellos sistemas que mantienen a dos o más computadoras
unidas a través de algún medio de comunicación (físico o no), con el
objetivo primordial de poder compartir los diferentes recursos y la
información del sistema.
Sistemas Operativos paralelos.
En estos tipos de Sistemas Operativos se pretende que cuando existan
dos o más procesos que compitan por algún recurso se puedan realizar
o ejecutar al mismo tiempo.
COMPONENTES DE UN SISTEMA
OPERATIVO
Gestión de proceso
Gestión de la memoria principal
Gestión
del
almacenamiento
secundario
El sistema de E/S
Sistema de archivos
Sistema de protección
Sistema de comunicaciones