Resumen Sop
Resumen Sop
Resumen Sop
El hardware y software utilizados para proporcionar aplicaciones a los usuarios se pueden ver
de forma jerárquica o en capas.
Desarrollo de programas.
Ejecución de programas.
Acceso a dispositivos de E/S.
Acceso controlado a los ficheros.
Acceso al sistema.
Detección y respuesta de errores.
Contabilidad.
EL SISTEMA OPERATIVO COMO GESTOR DE RECURSOS:
Las funciones del SO actúan de la misma forma que el resto del software, es decir, se
trata de un programa o conjunto de programas ejecutados por el procesador.
El SO frecuentemente cede el control y depende del procesador para volver a
retomarlo.
Una porción del SO se encuentra en la memoria principal. Esto incluye al kernel o núcleo, que
contiene las funciones del SO mas frecuentemente utilizadas y en cierto momento, otras
porciones del SO actualmente en uso. El resto de la memoria principal contiene programas y
datos de usuario.
*Las tareas se ejecutan secuencialmente una tras otra en una sola línea de tiempo.
Con los primeros computadores, desde finales de los años 40 hasta mediados de los años 50 el
programador interaccionaba directamente con el hardware del computador, no existía ningún
SO. Estas máquinas eran controladas desde una consola. Los programas en código maquina se
cargaban a través de un dispositivo de entrada. El programador podía entonces examinar los
registros del procesador y la memoria principal para determinar la causa del error.
Este modo de operación puede denominarse procesamiento serie, para reflejar el hecho
de que los usuarios acceden al computador en serie.
El primero fue desarrollado a mediados de los años 50 por General Motors para el uso de
un IBM 701 [WEIZ81].
La idea central es el uso de una pieza de software denominada monitor. Con este tipo de
SO, el usuario no tiene que acceder directamente a la máquina. En su lugar, el usuario
envía un trabajo a través de una tarjeta o cinta al operador del computador, que crea un
sistema por lotes con todos los trabajos enviados y coloca la secuencia de trabajos en el
dispositivo de entrada, para que lo utilice el monitor. Cuando un programa finaliza su
procesamiento, devuelve el control al monitor.
Punto de Vista del Monitor: el monitor controla la secuencia de eventos. Para ello,
una gran parte del monitor debe estar siempre en la memoria principal y
disponible para ejecución. Esta parte del monitor se denomina monitor residente.
El resto del monitor esta formado por un conjunto de utilidades y funciones
comunes que cargan subrutinas en uno de los trabajos desde el dispositivo de
entrada. Los resultados de cada trabajo se envían a un dispositivo de salida.
Punto de Vista del Procesador: en un cierto punto, el procesador ejecuta
instrucciones de la zona de memoria principal que contiene el monitor. Estas
instrucciones permiten que se lea el siguiente trabajo y se almacene en otra zona
de memoria principal, para que luego el procesador lo haga ejecutarse.
El problema del tipo de SO anterior es que los dispositivos d E/S son lentos comparados
con el procesador, malgastando así tiempo esperando a que los dispositivos E/S terminen
de transferir datos a y desde su fichero.
1. Procesos.
2. Gestión de Memoria.
3. Protección y Seguridad de la Información.
4. Planificación y Gestión de los Recursos.
5. Estructura del sistema.
1.4 DESARROLLOS QUE HAN LLEVADO A LOS SO MODERNOS:
Arquitectura Microkernel:
A diferencia de los sistemas operativos que usaban un gran núcleo monolítico que
proporcionaban la mayoría de las funcionalidades consideradas propias del SO, una
arquitectura micronúcleo asigna solo unas pocas funciones esenciales al núcleo, incluyendo los
espacios de almacenamiento, comunicaciones entre procesos y la planificación básica.
Multiheading/Multihilo:
Es una técnica en la cual un proceso, ejecutando una aplicación, se divide en una secuencia de
hilos o threads que pueden ejecutar concurrentemente. Se pueden hacer las siguientes
distinciones:
- Thread o hilo: se trata de una unidad de trabajo. Incluye el contexto del procesador y
su propia área de datos para una pila. Un hilo se ejecuta secuencialmente y se puede
interrumpir de forma que el procesador pueda dar paso a otro hilo.
- Proceso: es una colección de uno o mas hilos y sus recursos de sistema asociados.
La técnica de multiheading es útil para las aplicaciones que llevan a cabo un numero de tareas
esencialmente independientes que no necesitan ser serializadas.
Multiprocesamiento Simétrico:
Se lo puede definir como un sistema de computación aislado con las siguientes características:
El SO de un SMP planifica procesos o hilos a través de todos los procesadores. SMP tiene
diversas ventajas sobre las arquitecturas monoprocesador, entre las que se incluyen:
A nivel de SO, una estructura basada en objetos permite a los programadores personalizar un
SO sin eliminar la integridad del sistema.
HISTORIA:
MULTITAREA MONOUSUARIO:
Windows es un SO de microcomputadores.
Una de las características más significativas de estos SO es que, aunque están todavía pensados
para dar soporte a un único usuario interactivo, se trata de SO multitareas, este único usuario
puede realizar mas de una tarea simultáneamente.
Dos principales desarrollos han disparado la necesidad de la multitarea. En primer lugar, con el
incremento de la velocidad y la capacidad de memoria de los microprocesadores, junto al
soporte para memoria virtual, las aplicaciones se han vuelto mas complejas e
interrelacionadas.
Su estructura modular da a Windows una considerable flexibilidad. Se diseño para ejecutar una
variedad de plataformas hardware y da soporte a aplicaciones escritas para una gran cantidad
de SO.
Como virtualmente en todos los SO, Windows separa el software orientado a aplicación del
software del SO. La segunda parte, que incluye el sistema ejecutivo, el núcleo o kernel y la capa
de abstracción del hardware, ejecuta en modo núcleo. El resto del software ejecuta en modo
usuario.
Windows no tiene una arquitectura de micronúcleo pura, sino lo que Microsoft denomina
arquitectura micronúcleo definida. Windows en muy modular. Cada función del sistema se
gestiona mediante un único componente del SO. El resto del SO y todas las aplicaciones
acceden a dicha función a través del componente responsable y utilizando una interfaz
estándar.
Sistema Ejecutivo.
Núcleo.
Capa de Abstracción de Hardware (HAL).
Controladores de Dispositivo.
Gestión de Ventanas y Sistemas Gráficos.
Gestor de E/S.
Gestor de Cache.
Gestor de Objetos.
Gestor de Plug and Play.
Gestor de Potencia.
Monitor de Referencia de Seguridad.
Gestor de Memoria Virtual.
Gestor de Procesos e Hilos.
Utilidad de Llamada a Procedimiento Local (LPC).
Windows este estructurado para soportar aplicaciones escritas para Windows 2000 y versiones
superiores. Windows proporciona este soporte utilizando un solo sistema ejecutivo compacto a
través de subsistemas de entorno protegidos. Los subsistemas protegidos son aquellas partes
de Windows que interactúan con el usuario final.
MODELO CLIENTE/SERVIDOR:
Cada subsistema de entorno y subsistema del servicio ejecutivo se implementa como uno o
mas procesos. Cada proceso espera la solicitud de un cliente por uno de sus servicios. Un
cliente, que puede ser un programa u otro modulo del SO, solicita un servicio a través del envío
del mensaje. El mensaje se encamina a través del sistema ejecutivo al servidor apropiado. El
servidor lleva a cabo la operación requerida y devuelve resultados o información por medio de
otro mensaje, que se encamina de vuelta al cliente mediante el servicio ejecutivo.
HILOS Y SMP:
OBJETOS DE WINDOWS:
Windows se apoya enormemente en los conceptos del diseño orientado a objetos. Entre los
conceptos clave del diseño orientado a objetos utilizados por Windows se encuentran los
siguientes:
HISTORIA:
Las nuevas características de esta versión incluyen soporte al procesamiento en tiempo real,
clases de planificación de procesos, estructuras de datos dinámicos asignadas, gestión de la
memoria virtual, sistema de ficheros virtual y un núcleo expulsivo.
SOLARIS 9:
4.4BSD:
Se trata de una actualización importante de 4.3BSD, que incluye un nuevo sistema de memoria
virtual, cambios en la estructura del núcleo, y una larga lista de otras mejoras.
1.8 LINUX:
HISTORIA:
La mayoría de los núcleos Linux son monolíticos. Todos los componentes funcionales del
núcleo tienen acceso a todas las estructuras internas de datos y rutinas. Si los cambios se
hacen sobre cualquier porción de un SO monolítico, todos los módulos y rutinas deben volver a
enlazar y reinstalar y el sistema debe ser reiniciado para que los cambios tengas efecto.
Aunque Linux no utiliza una técnica de micronúcleo, logra muchas de las ventajas potenciales
de esta técnica por medio de su arquitectura modular particular. Linux esta estructurado como
una colección de módulos, algunos de los cuales pueden cargarse y descargarse
automáticamente bajo demanda. Estos bloques relativamente independientes se denominan
módulos cargables [GOYE99]. Esencialmente, un modulo es un fichero cuyo código puede
enlazarse y desenlazarse con el núcleo en tiempo real. Un modulo no se ejecuta como su
propio proceso o hilo, aunque puede crear los hilos del núcleo que necesite por varios
propósitos. En su lugar, un modulo se ejecuta en modo núcleo en nombre del proceso actual.
Por lo tanto, aunque Linux se pueda considerar monolítico, se estructura modular elimina
algunas de las dificultades para desarrollar y evolucionar el núcleo.
En la figura, cada caja indica un proceso separado, mientras que cada línea curvada con una
cabeza de flecha representa un hilo de ejecución.
El núcleo está compuesto por una colección de componentes que interaccionan, usando
flechas para indicar las principales interacciones.
CONCEPTO DE ARCHIVOS:
Los archivos son unidades lógicas de información creada por los procesos, cuyo tamaño se
expresa en Bytes.
La información que se almacena en los archivos debe ser persistente, es decir, que el programa
que los datos deben conservarse incluso después de que el programa que los creo o modifico
haya terminado de ejecutarse. Un archivo debe desparecer solo cuando su propietario lo
remueve de manera explícita.
Los archivos son administrados por el sistema operativo. La parte del SO que trata con los
archivos se conoce como sistema de archivos.
NOMENCLATURA DE ARVHICOS:
Algunos SO aceptan nombres de archivos en dos partes, separadas por un punto. La parte que
va después del punto se conoce como la extensión del archivo y por lo general indica algo
acerca de su naturaleza.
ESTRUCTURA DE ARCHIVOS:
Se pueden estructurar de varias formas, en este caso vamos a ver 3: secuencia de bytes,
secuencia de registros y árboles.
El modelo de secuencia de bytes, permite hacer que el sistema operativo considere los archivos
sólo como secuencias de bytes provee la máxima flexibilidad. Los programas de usuario
pueden colocar cualquier cosa que quieran en sus archivos y denominarlos de cualquier
manera conveniente. El sistema operativo no ayuda, pero tampoco estorba.
Por último, un archivo consiste de un árbol de registros, donde no todos son necesariamente
de la misma longitud; cada uno de ellos contiene un campo llave en una posición fija dentro del
registro. El árbol se ordena con base en el campo llave para permitir una búsqueda rápida por
una llave específica. La operación básica aquí no es obtener el “siguiente” registro, aunque eso
también es posible, sino obtener el registro con una llave específica.
TIPOS DE ARCHIVOS:
ACCESO A ARCHIVOS:
Es una tabla que contiene información referida a un archivo. Cada archivo tiene se propio i-
nodo. Los i-nodos tienen los siguientes contenidos: atributos, direcciones de los bloques que
almacenan los datos, direcciones indirectas (simplemente indirecta, doblemente indirecta y
triplemente indirecta).
Open, Close, Create, Delete, Read, Write, Append, Seek, Get attributes, Set attributes, Rename.
1) Registro de arranque: indica la info del volumen(tipo y longitud) con puntero a la MFT.
2) La MFT tiene la info de metadatos de todos los archivos del volumen. Tiene registros
de 1Kb cada uno.
3) Archivos inmediato