280 likes | 439 Views
SISTEMAS OPERATIVOS. Elementos que Integran un sistema computarizado. CPU . Ejecuta los programas almacenados en la memoria . Efectúa cálculos lógicos y artiméticos. Se encarga de controlar a los demás componentes. Memoria RAM.
E N D
Elementos que Integran un sistema computarizado • CPU. • Ejecuta los programas almacenados en la memoria . • Efectúa cálculos lógicos y artiméticos. • Se encarga de controlar a los demás componentes. • Memoria RAM. • Almacena los programas y los datos que van a ser procesados por la CPU. • Periféricos. • Comunica la CPU con el mundo exterior desde donde envía y recibe datos. • Bus • Comunica eléctricamente las tres partes de la computadora. CPU Memoria Periféricos Bus
Equipos simples. Con un único programa se accede a la memoria y a uno o más periféricos de simple control. Los programas son escritos una única vez. Software Hardware
Equipos Complejos. • Pueden ejecutar varios programas. • Deben controlar elementos hardware diverso y de alta complejidad (unidades de disco, pantallas, etc. que el control de los mismos depende de los fabricantes). • Deben administrar seguridad de datos y accesos. • Para facilitar el manejo y la programación de los sistemas computarizados complejos se introduce el concepto de Software de Aplicación y de Sistema Operativo. La aplicación efectua una Llamada al Sistema Operativo Software de Aplicación El S.O lo envía a la aplicación Sistema Operativo El Sistema Operativo interacciona con el hardware Hardware El hardware devuelve al S.O lo solicitado.
Shell Aplicaciones ESTRUCTURA DE UN SISTEMA OPERATIVO Conjunto de funciones que hacen de interfase entre una aplicación y las llamadas a las funciones del núcleo. Llamadas al Sistema Sistema Operativo Núcleo (Kernel) El manejo del hardware se realiza únicamente en modo protegido Conjunto de funciones del SO que trabajan en modo protegido y que son ejecutadas a través de las funciones de la capa anterior Hardware Shell. Es un programa utiliza el sistema operativo para ejecutar tareas de mantenimiento y administración, lanzar programas, etc. Se carga y ejecuta inmediatamente después que se inicia el sistema operativo o cuando un usuario comienza una sesión. En Windows tenemos el Explorer.exe (GUI) y cmd.exe (consola), en Linux GNome, Kde, etc (GUI) y bash, sh, scs, etc (consola).
OPERACION DUAL Los microprocesadores pueden trabajar en varios modos y el SO utiliza esta propiedad de los microprocesadores para poder funcionar en dos modos: Modo kernel: se accede a todas las instrucciones del microprocesador. Modo usuario: Se accede solo a algunas instrucciones del juego del microprocesador. Todos las aplicaciones en modo usuario funcionan de la siguiente manera Proceso Usuario Modo Usuario Ejecutando procesos de usuario Llamada al Sistema Regreso de la llamada al sistema Kernel (núcleo) Modo Kernel Función del Sistema Operativo
QUE ES UN SISTEMA OPERATIVO? • Es un programa que manipula los recursos de la computadora los cuales pueden ser de hardware o de software. • Existen diversos tipos de sistemas operativos. Pueden clasificarse según las dimensiones del equipo. • Integrados. Agendas electrónicas, celulares, etc.(symbian, Windows CE) • Tiempo Real. Procesos industriales.(QNX) • Computadoras personales. • Servidores. • Mainframes. • Además los SO pueden ser multi o mono usuario o multi o mono tarea de acuerdo a que puedan operar una computadora uno o más usuarios y cada usuario pueda ejecutar uno o más programas.
Trabajos del Sistema Operativo Manipulación del procesador Crear y eliminar Procesos. Suspender y activar a los procesos.(multitarea). Facilitar mecanismos para que los procesos se comuniquen entre si. Manipulación de la memoria. Conocer que partes de la memoria está disponible o no. Decidir cuáles procesos deben ser cargados en la memoria y cuales deben ser desalojados. Manipulación de los dispositivos de almacenamiento externo. Sistemas de Archivo. Protección y Seguridad Protección. Mecanismos que permiten controlar el acceso de los usuarios y los procesos a los recursos del sistema Seguridad. Mecanismos para protegerse de alguien que quiera violar las protecciones.
Crear y eliminar procesos. Un proceso es un programa en ejecución. Cada proceso tiene asignado un rango de direcciones de memoria minimo y máximo llamado espacio de direcciones que el proceso puede leer y escribir en ellas. El espacio de direcciones puede llegar a ser el del direccionamiento máximo de la memoria. Por ejemplo en un sistema de 32 bits un programa puede tener un espacio de direcciones de hasta 4 GBytes. El SO divide el espacio de direcciones en páginas y las lleva a memoria cuando estas son solicitadas. (fallo de página) 0xFFFF Pila Hueco Datos Código 0x Manipulación del Procesador
Manipulación del Procesador • Suspender y activar los procesos. • Cuando se trabaja con multitarea el SO es el encargado de asignar ranuras tiempo de ejecución para cada proceso. • A su turno un proceso es activado por el SO y se ejecuta hasta que: • Se le acaba el tiempo asignado. • Efectúa un llamado al Kernel que consume tiempo. • Un cambio de proceso implica: • Detener su ejecución. • Guardar el estado de los registros del microprocesador. • Tomar los valores de las variables, manipuladores de archivos abiertos y sus punteros correspondientesy guardarlos en una tabla de procesos. • Restaurar los valores del proceso al que le toca continuar.
Manipulación del Procesador • En los sistemas multitarea los procesos tienen la capacidad de crear y lanzar procesos llamados subprocesos o procesos hijos y éstos a su vez también pueden crear sus subprocesos. Estos comparten el mismo espacio de dirección y el padre lleva un rastro de quienes son sus hijos. • Comunicación entre procesos • Problemas de competencia. Los procesos a veces deben compartir espacios de memoria, archivos, etc. eso hace que hayan problemas de competencia. (Qué pasa si dos procesos acceden a una zona compartida al mismo tiempo? ). • Bloqueos irreversibles. Pueden darse condiciones especiales en que dos procesos se interfieran mutuamente y ambos queden bloqueados indefinidamente Por ejemplo un proceso A que esté bloqueado esperando se libere un recurso que está utilizando un proceso B, y simultáneamente B esté bloqueado esperando que se libere un recurso que está utilizando A.
Manipulación del Procesador • Area crítica. Es la parte de un proceso donde se accede a recursos compartidos (En adelante abreviado como AC). • Semáforo. Es una variable que un proceso decrementa el semáforo (down) antes de ingresar a un área crítica. Si el semáforo estaba en cero quiere decir que otro proceso ingresó al AC, en dicho caso el proceso se desactiva (“duerme”). Cuando un proceso sale del AC este incrementa el semáforo (up) y activa un proceso “dormido”. • Mutex. Similar al semáforo pero solamente tiene dos estados la variable. Bloqueada o Desbloqueada. Al ingresar al AC el proceso llama a mutex_lock y al salir a mutex_unlock. Si al llamar a mutex_lock el mutex ya está bloqueado el proceso se desactiva hasta recibir un mutex_unlock. • Monitores. Es una colección de procedimientos, variables y estructuras de datos que se agrupan en un tipo especial de módulo o paquete. Los procesos pueden invocar a los procedimientos de un monitor cuando lo deseen, pero no pueden acceder en forma directa a sus estructuras de datos internos desde procedimientos declarados fuera de dicho monitor.
MANIPULACIÓN DE DISPOSITIVOS Sistema de Archivos Los sistemas operativos se encargan de lidiar con los distintos dispositivos de almacenamiento masivo (discos rígidos, memorias flash, CD, puertos de impresoras, etc ) y le presentan al usuario un modelo simplificado del manejo de todos ellos. En todos los medios el usuario almacena los datos bajo la forma de archivos en directorios (o carpetas) y para trabajar con ellos crea, abre, cierra, modifica el apuntador de archivo, establece permisos, etc., despreocupándose de las características físicas (sectores, cilindros, cabezas, segundos, sectores dañados, redundancia cíclica, etc.) Otros dispositivos. Cuando se agregan otros dispositivos a la computadora, por lo general el fabricante provee los programas necesarios para controlarlos (drivers). Generalmente estos se los ubica como complemento del kernel del SO. En Unix por lo general estos programas instalan recompilando el Kernel. En Windows se los incluye en una lista de dispositivos y se los integra al Kernel en el momento de inicio de la Computadora o cuando se lo conecta.
SISTEMA DE ARCHIVOS • Consta de dos partes: • Estructura Lógica: Es el formato provisto por el SO utilizado como interfase por el usuario para acceder a los archivos en cualquier dispositivo de almacenamiento de datos. • Estructuras de Directorios (Carpetas) y archivos. Por lo general jerárquicas y en forma de árbol. • Estructuras de seguridad. Permisos de lectura, escritura, ejecución, cuotas de uso, listas de control de acceso (ACL). • Estructura Física: Es la forma que el SO implementa físicamente la estructura lógica del sistema de archivos, o sea cómo se manejan los datos físicamente para implementar la estructura de archivos. Existen diferentes sistemas de implementar el sistema de archivos. Algunos dependen del hardware, otros no. Las implementaciones más conocidas son FAT, NTFS, UFS (Unix File System) ext1, ext2, ext3. etc.
Estructura Física de una Unidad de Disco Duro Plato: cada uno de los discos que hay dentro del disco duro. Cara: cada uno de los dos lados de un plato. Cabeza: número de cabezales. Pistas: una circunferencia dentro de una cara; la pista 0 está en el borde exterior. Cilindro: conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara). Sector : cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar actual 512 bytes, aunque próximamente serán 4 KB. Antiguamente el número de sectores por pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que en las pistas exteriores pueden almacenarse más sectores que en las interiores. Así, apareció la tecnología ZBR (grabación de bits por zonas) que aumenta el número de sectores en las pistas exteriores, y utiliza más eficientemente el disco duro.
Organización Genérica de un Sistema de Archivos Los sistemas de archivo pueden prescindir de algunos de los elementos mostrados. Bloque de Arranque. Se utiliza para cargar el Sistema Operativo si está en la partición. Está siempre presente.Superbloque. Puede estar presente o no y da información importante acerca de algunos sistemas de archivos.(tipo de sistema de archivos, numeros de bloques de la particion, etc.)Adm. de Espacio Libre. Algunos sistemas de archivos llevan una lista de sectores libres del disco. Puede estar presente o no.Nodos-i. Estructura utilizada por UNIX para describir los archivos. Los sistemas Microsoft utilizan otro tipo de identificadores de archivos
SECTOR CERO (Master Boot Record MBR) Es utilizado para guardar el programa que permite cargar al Sistema Operativo (Gestor de Arranque) o la tabla de Particiones. Primer sector físico del disco Registro de la tabla de Particiones
Sistema de Archivos FAT (File Allocation Table) Los bloques de disco que ocupa un archivo están escritos en una tabla llamada FAT. El primer bloque se guarda en un directorio y hace las veces de nodo de cabecera para una lista enlazada donde figura los números de bloques que ocupa un archivo. El último sector está marcado con un símbolo especial. También la FAT lleva un registro de los espacios vacíos y los bloques defectuosos del disco. La copia 2 es una copia idéntica a la primera y se pone por seguridad puesto que si se daña la FAT no se localizan más los archivos. Las FAT, el sector de arranque y el directorio raíz se crean mediante el proceso de formateo.
El Directorio en los Sistemas de Archivo FAT Entrada de Directorio del Sistema Operativo DOS El número del primer bloque indica donde comenzar a buscar en la FAT
Búsqueda del archivo Prueba.exe mediante la FAT Sectores / Clústeres ocupados por otros archivos FAT Sector 0 Sector/Clúster defectuoso Sector no utilizado
Sistemas de Archivos que Utilizan Nodos-i (UNIX) Administración de Espacio Libre. Puede ser un mapa de bits o una tabla que indique que bloques están libres. Nodos-i. Son nodos que indican en qué bloque están los datos. Todos los nodos-i están en dicha sección. Directorio Raíz. Ídem Sistema FAT pero la estructura cambia
Localización del archivo prueba en el esquema de Nodos-i Nodo-i N° 7 Nodos-i Directorio
SISTEMA DE ARCHIVOS NTFS • Creado por MIcrosoft a partir de Windows 2000. Se utiliza en todos los Sistemas Operativos posteriores. • Características generales. • Cada partición es dividida en bloques (clústeres) de diferentes tamaños. El tamaño más común es de 4 KBytes. • El tamaño de cada partición puede llegar a alcanzar 16 exabytes 216 Bytes (18.000.000.000 de GBytes). • Descripción General. NTFS está basado en un único archivo llamado Master File Table (MFT) que puede estar localizada en cualquier parte del disco. El bloque donde comienza MFT está indicado en el sector de arranque de la partición y se genera cuando se la crea. • Características de la MFT • Está compuesta de registros de 1 Kbyte de tamaño. • Los primeros 16 registros contienen definiciones de NTFS como tamaño, atributos, etc. (Registros de Metadatos). • El resto muestra los bloques donde se encuentran los archivos, directorios y otros datos.
SISTEMA DE ARCHIVOS NTFS Estructura de un registro MFT. Está compuesto de una serie un encabezado de registro y una serie de encabezado de atributos y atributos.