Sistemas Operativos 2018 - Resumen Final PDF

Title Sistemas Operativos 2018 - Resumen Final
Course Sistemas Operativos
Institution Universidad Nacional de La Rioja
Pages 31
File Size 896.3 KB
File Type PDF
Total Downloads 1
Total Views 148

Summary

Programa de la Catedra Sistemas Operativos 2018 Unidad 1: El sistema operativo como extendida El sistema operativo como administrador de recursos. Historia de los sistemas operativos. Conceptos Procesos Espacios de direcciones Entrada Salida El Shell Unidad 2: Procesos Procesos: El modelo de proceso...


Description

Programa de la Catedra Sistemas Operativos 2018 Unidad 1: Introducción El sistema operativo como máquina extendida – El sistema operativo como administrador de recursos. Historia de los sistemas operativos. Conceptos básicos: Procesos – Espacios de direcciones – Archivos– Entrada Salida – protección – El Shell Unidad 2: Procesos Procesos: El modelo de procesos – Creación de un proceso – Terminación de procesos – Jerarquía de procesos – Estados de un proceso – Implementación de los procesos Modelación de la multiprogramación. Comunicación: Condiciones de carrera – Regiones críticas – Exclusión mutua con espera ocupada – Dormir y despertar – Semáforos – Planificación: Introducción a la planificación - Planificación en sistemas de procesamiento por lotes – Planificación en sistemas interactivos – Planificación en sistemas de tiempo real. Problemas clásicos de comunicación entre procesos. Problema de los filósofos – Problema de los lectores y escritores Unidad 3: Memoria Abstracción de memoria: Espacios de direcciones: La noción de un espacio de direcciones – Intercambio. Memoria virtual: Paginación – Tablas de página. Segmentación: Implementación de segmentación pura Unidad 4: Archivos Archivos: Nomenclatura de archivos – Estructura de archivos – Tipos de archivos – accesos a archivos – Atributos de archivos – Operaciones de archivos. Directorios: Sistemas de directorios de un solo nivel – Sistema de directorios jerárquicos – Nombres de rutas – Operaciones de directorios Seguridad y protección. Unidad 5: Entrada/Salida Entrada/salida: Principios del hardware de E/S: Dispositivos de E/S – Controladores de dispositivos – E/S por asignación de memoria – Acceso directo a memoria. Fundamentos del software de E/S: Objetivos del software de E/S – E/S programada – E/S controlada por interrupciones - E/S mediante el uso del DMA.

Uni dad1-I nt r oducci on ¿Que es un Sistema Operativo? Es un sistema o conjunto de programas con fines diversos que se agrupan en subsistemas y cada uno cumple con una misión específica, que esta siendo supervisados por un programa que cumple la función de control de la actividad de la CPU, denominado supervisor. El supervisor reside en memoria central y sin su presencia el equipo sería incapaz de procesar.

Diseño de Estructuras de Sistema Operativo

a. Diseño Monolítico: Es la arquitectura más simple para un sistema operativo. Este sistema contiene todas las rutinas y funcionalidades disponibles (sistema de archivos, manejo de drivers, gestión de memoria y CPU, etc.) juntas dentro de un gran programa o núcleo.

b. Diseño Por Capas: Es una generalización del modelo de estructura simple para un sistema monolítico. En esta arquitectura, el sistema operativo se divide en una jerarquía de capas, donde cada capa solamente utiliza los servicios de la capa inferior y se enfoca en ofrecerle una interfaz clara y bien definida a la capa superior. En cada capa se encapsulan funciones específicas, así cada capa se encarga de una función individual del sistema operativo.

c.

Diseño Cliente-Servidor: 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 parte del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, y 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.

d. Máquina Virtual:

En este modelo, mediante software, se proporciona a los programas la emulación de un sistema el cual se quiere reproducir. El software emulador traduce las peticiones hechas a la máquina virtual en operaciones sobre la máquina real.

Se separan totalmente las funciones de multiprogramación y de máquina virtual. Existe un elemento central llamado monitor de la máquina virtual que: 1) Ejecuta en el hardware. 2) Realiza la multiprogramación. 3) Proporciona varias máquinas virtuales a la capa superior. Las máquinas virtuales instrumentan copias exactas del hardware, con su modo

núcleo/usuario, E/S, interrupciones y todo lo demás que posee una máquina real.

Pueden ejecutar cualquier sistema operativo que se ejecute en forma directa sobre el hardware.

Según su Estructura el SO se puede clasificar en:  

Monoprogramación: ejecuta y atiende a un solo programa-problema a la vez. Multiprogramación: ejecuta y atiende a más de un programa-problema a la vez; cada cierto números de ciclos ejecuta una tarea (grupo de instrucciones)

Supervisor El supervisor, analiza en cada instante cuál es la situación global del procesador, transfiriendo el control a algún programa u otro componente del SO. A) Administradores: Recibe el control la CPU por:  Transferencia de Control de Supervisor.  Por medio de una llamada desde otro subsistema. Entrega el Control acorde a: Al supervisor, si el procedimiento que realizaron fue completo.  A otro subsistema, si es necesario. B) Administrador de Memoria: Cumple con 3 Actividades básicas 1. Direccionamiento de la memoria 2. Asignación de Espacio a. Espacio asignado a cada tarea b. Que tarea ocupa cada espacio de memoria 3. Verificación de autoridad o capacidad de uso a. Impedir accesos no autorizados a programas a memora b. Impedir que un programa direccione en espacios que no le pertenecen. C) Administrador de Interrupciones  Interrupciones de Entrada/Salida 1. Solicitud de E/S de datos 2. Finalización de una operación de E/S de datos  Interrupciones para recuperación de errores o Ocasiones por errores en el sistema  Hardware  Analiza el error, determina la falla, el tipo de error, posibilidad de recupero y transferencia de control al administrador de errores lógicos.  Software 

o Analiza el error para determinar el tipo de error, quien lo produce, si es recuperable y transfiere el control al administrador de errores lógicos.  Interrupción por llamada al Sistema (System Call) o al Supervisor  Interrupción incondicional D) Administrador de Errores: interactúa con otros componentes recibiendo y entregando el control, los errores que se pueden presentar pueden ser:  Errores lógicos o del Software o Operaciones de Datos (División por 0) o Errores de direccionamiento (direcciones erróneas o inexistentes) o Errores de Manejos de Datos (Archivos/Datos incompatibles)  Errores Físicos o del Hardware o Transporte de los datos (lost in bus) o Mal funcionamiento de un componente físico

Procesadores de Lenguajes Tienen por misión fundamental de realizar sobre un Programa-Problema todas las actividades necesarias para convertirlas en una tarea a) Ensambladores: convierten en código objeto el código fuente b) Compiladores: traduce un programa escrito en lenguaje fuente a instrucciones de código de máquina. a. Funciones: i. Inspección del programa fuente ii. Traducción del programa fuente iii. Listar el código objeto y los errores (es opcional) c) Enlazadores o Linkeadores: convierten un programa que ya no esta en código objeto en una unidad completa en si misma que sea ejecutable. d) Cargador o Loader: Tiene la función de tomar un programa ya traducido y vinculado (el ejecutable) y lo convierte en una tarea para el sistema (lo ejecuta). Recibe ese nombre por la actividad de cargar un ejecutable en memoria central y habilitarlo para su procesamiento. e) Intérpretes: combina las actividades de un Compilador-Ensamblador-Cargador, con la diferencia de que no trabaja con programas completos, sino con una sentencia. Actividades: a. Toma una sentencia del programa fuente b. la traduce a código abierto c. la ensambla (linker), si es necesario d. la ejecuta

Utilitarios

El objetivo es de realizar tareas utilitarias, las tareas rutinarias y de propósitos específicos, las cuales no tiene sentido que cada programador de aplicación las tenga que codificas y son las siguientes: a) SORT b) BACKUP c) RESTORE

Alternativas de carga de un SO   

Supervisor en ROM: llamado software de estado sólido (firmware) Carga Automática del SO (Booting): una rutina en ROM inicia la carga desde un dispositivo periférico. Carga de SO de Gran Magnitud (IPL): 1. Para SO de magnitudes considerables, la residencia del so esta en varias unidades periféricas de acceso directo. (seguridad, fallas, etc.) 2. Su principio es el booting, pero con la posibilidad de seleccionar por medio de una rutina desde que up se cargara.

Se pueden clasificar también los SO, teniendo en cuenta su carga en la memoria central 1. Totalmente residentes en memoria 2. Paginables-recurrentemente transferidos A. Paginación B. Segmentación C. Mixtos

Componentes de un Sistema Operativo 1. 2. 3. 4. 5.

Administrador de recursos – control del hardware Administrador de tareas - controla la ejecución de los programas de usuarios Administrador de archivos – control de carpetas y archivos Interfaz de usuario – el control de la pantalla que se ve Soporte – actualiza y controla los programas

A. Sistema Operativo como Maquina Extendida: La arquitectura de la mayoría de las computadoras en el lenguaje de máquina, es primitiva y difícil de programar, sobre todo para Entrada/Salida. Los comandos más básicos son Read y Write. Estos parámetros especifican cosas como: 1. Dirección del bloque del disco que se va a leer 2. Numero de sectores por pista 3. Modo de grabación empleado en el medio físico 4. El espaciado de la brecha entre sectores

5. Qué hacer con una marca de “Dirección de Datos Eliminadas” B. Sistema Operativo como Administrador de Recursos: La función más relevante del sistema operativo es ofrecer a los usuarios una interfaz cómoda, eso se lo definiría como Visión Descendente. Una visión ascendente, propone que el SO esta para administrar todos los componentes de un sistema complejo. Esta visión lo que asegura es un reparto ordenado y controlado de los procesadores, memorias y dispositivos de E/S. Cuando una computadora tiene múltiples usuarios, la necesidad de administrar y proteger la memoria, dispositivos de E/S y los demás recursos en aun mayor, ya que los usuarios podrían interferirse. Además, es frecuente que los usuarios no solo comparten hardware, sino que también información. Historia de los Sistemas Operativos A. Años 40: A finales de los años 40, con lo que podríamos llamar la aparición de la primera generación de computadoras, se accedía directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitían introducir directamente el programa en la memoria de la computadora. Por aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el hardware del computador sin ayuda externa. B. Años 50: A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal. C. Años 60: En los años 60 se produjeron cambios notorios en varios campos de la informática, con la aparición del circuito integrado la mayoría orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban técnicas de lo más diversas: 1. Multiprogramación 2. Tiempo Compartido 3. Tiempo Real 4. Multiprocesador 5. Sistemas Operativos Desarrollados D. Años 70:

Debido al avance de la electrónica, pudo empezar a crearse circuitos con miles de transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producir los primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años 70 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de usuario.

E. Años 80: Con la creación de los circuitos LSI -integración a gran escala-, chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales. En éstos se dejó un poco de lado el rendimiento y se buscó más que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS (Micro Soft Disk Operating), escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacían uso del Motorola 68000. F. Años 90: GNU/Linux La idea de un Sistema Operativo Libre para la humanidad nace en 1984, impulsada por Richard Stallman, ex-empleado del MIT. Motivado por esta idea comienza la construcción y desarrollo de las herramientas elementales que componen un Sistema Operativo, a esta parte del desarrollo del Sistema Operativo se le conoce como proyecto GNU. En esta etapa Richard Stallman cuenta con la colaboración de miles de programadores a nivel mundial. En 1991 aparece la primera versión del núcleo Linux. Creado por Linus Torvalds, pero antes de que este apareciera ya existía la mayoría de las herramientas que componían al Sistema Operativo, pero aun así el núcleo Linux tiene una importancia fundamental para el proyecto, es tal la importancia de este que el

proyecto termina llamándose GNU/Linux, dando un 50% de importancia a ambas partes. Microsoft Windows A mediados de los años 80 se crea este sistema operativo, pero no es hasta la salida de Windows 95 que se le puede considerar un sistema operativo, solo era una interfaz gráfica del MS-DOS. Hoy en día es el sistema operativo más difundido en el ámbito doméstico aunque también hay versiones para servidores como Windows NT. Microsoft ha diseñado también algunas versiones para superordenadores, pero sin mucho éxito. Años después se hizo el Windows 98 que era el más eficaz de esa época Después se crearía el sistema operativo de Windows ME (Windows Millenium Edition) aproximadamente entre el año 1999 y el año 2000. Un año después se crearía el sistema operativo de Windows 2000 en ese mismo año. Después le seguiría el sistema operativo más utilizado en la actualidad, Windows XP y otros sistemas operativos de esta familia especializados en las empresas. Ahora el más reciente es Windows Vista, que, actualmente, tiene muchas críticas. Anteriormente estuvo en desarrollo el sistema operativo Windows 7, actualmente está en desarrollo Windows 10.

Llamadas al Sistema La interfaz entre el sistema operativo y los programas de usuario está definida por un conjunto de “Operaciones Extendidas” que el mismo sistema operativo ofrece. Estas instrucciones tradicionalmente se llaman Llamadas al Sistema.

Procesos Un proceso es básicamente un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones, una lista de posiciones de memoria desde algún mínimo hasta algún máximo, que el proceso puede leer y escribir. Cada proceso se asocia un conjunto de registros, que tienen el contador de programa, el apuntador de la pila y otros registros de hardware, así como toda la demás de información necesaria para ejecutar el programa. En muchos sistemas operativos, toda la información de un proceso, aparte de la del contenido de su propio espacio de direcciones, existe una tabla llamada Tabla de Procesos, que es un arreglo (o lista enlazada) de estructuras. Un proceso (suspendido) consiste en su espacio de direcciones, por lo regular llamado Imagen de Núcleo, y su entrada en la tabla de procesos, que tienen sus registros. Un proceso llamado Intérprete de Comandos o Shell, lee comandos de un terminal. Si un proceso puede crear 1 o más procesos distintos, denominados Procesos Hijos, y estos a su vez pueden crear Procesos Hijos, esto daría lugar a la creación de Árbol de Procesos. Los procesos relacionados están cooperando para realizar alguna tarea y

necesitan comunicarse entre sí y sincronizar sus actividades, esta se llama Comunicación de Procesos.

Archivos Es un conjunto de bits que son almacenados en un dispositivo. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Se necesitan llamadas al sistema para crear, eliminar, leer y escribir archivos. Cada archivo dentro de la jerarquía de directorios se puede especificar dando su nombre de ruta a partir del tope de la jerarquía de directorios, el director raíz. La manera en que un sistema operativo organiza, da nombre, almacena y manipula los archivos se denomina globalmente como su sistema de archivos. Todos los sistemas operativos tienen al menos un sistema de archivos; algunos sistemas operativos permiten usar varios sistemas de archivos diferentes.

Unidad 2 - Procesos Procesos Un proceso es cualquier programa en ejecución. Este necesita ciertos recursos para realizar satisfactoriamente su tarea:     

Tiempo de CPU. Memoria. Archivos. Dispositivos de E/S. Ejemplos: o Programas de Usuario o Lectura de Disco o Impresión o Etc.

Las obligaciones del SO como gestor de procesos son:    

Creación y eliminación de procesos. Planificación de procesos (procurando la ejecución de múltiples procesos maximizando la utilización del procesador). Establecimiento de mecanismos para la sincronización y comunicación de procesos. Manejo de bloqueos mutuos.

Modelo de Procesos   

Todos los programas se ejecutan en secuencia o Resguardar para cada uno: contador, registros internos y variables Cada proceso tiene una CPU virtual Multiprogramación: simula un pseudoparalelismo. Modelo de los 3 estados (MEF)

Para poder manejar convenientemente una administración de procesador es necesario contar con un cierto juego de datos. Ese juego de datos será una tabla (BCP o en inglés PCB) en la cual se reflejará en qué estado se encuentra el proceso, por ejemplo,

si está ejecutando o no. Los procesos, básicamente, se van a encontrar en este caso, en tres estados: -Ejecutando: utiliza el CPU en un instante dado - Listos: se detiene en forma temporal para que se ejecute otro proceso, a la espera de CPU disponible. - Bloqueados: no se puede ejecutar debido a la ocurrencia de algún evento externo, aunque el CPU esté disponible. Pueden ser por, un problema técnico o es inherente al programa. Sobre la base de estos estados se construye lo que se denomina Diagrama de Transición de Estado (DTE). Estar en la cola de Listos significa que el único recurso que a ese proceso le está haciendo falta es el recurso procesador. O sea, una vez seleccionado de esta cola pasa al estado de Ejecución. Se tiene una transición al estado de Bloqueados cada vez que el proceso pida algún recurso. Una vez que ese requerimiento ha sido satisfecho, el proceso pasará al estado de Listo porque ya no necesita otra cosa más que el recurso procesador. Modelo de los 5 Estados

El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar, como una operación de Entrada/Salida. Los cinco estados de este diagrama son los siguientes: 

Nuevo (new): el proceso se está creando.



En ejecución (running): el proceso está en la CP...


Similar Free PDFs