La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE SISTEMAS OPERATIVOS.

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE SISTEMAS OPERATIVOS."— Transcripción de la presentación:

1 ARQUITECTURA DE SISTEMAS OPERATIVOS.
Unidad I: Introducción.

2 I.1-Conceptos Básicos. Sistema Operativo. Procesos. Archivos.
Llamadas al Sistema. Tipos de Sistemas Operativos. Shell: ✓Linux ✓Unix ✓Windows

3 Definición: Concepto de Sistema Operativo.
¿Qué es un Sistema Operativo? Es una capa de software cuya labor es administrar todos los dispositivos y proporcionar a los programas de usuario una interfaz que les permita comunicarse con el hardware. El Sistema Operativo tiene dos funciones independientes: 1- Extender la máquina. Facilita la comunicación hombre – máquina, permitiendo al programador cierto nivel de abstracción en el manejo de dispositivos y recursos del sistema de cómputo al “ocultarle la verdad” acerca del hardware. 2- Administrar recursos. Administra todos los elementos de un sistema complejo: procesadores, memoria, temporizadores, discos, interfaces de red, periféricos de E/S, etc. efectuando un reparto ordenado y controlado entre los distintos programas que compiten por obtenerlos.

4 Hardware+Instrucciones
Lenguaje de Máquina: Hardware+Instrucciones III Instruction Set Arquitecture Usualmente son 50 a 300 instrucciones que permiten: trasladar datos, realizar operaciones aritméticas y lógicas, etc Microarquitectura: Se agrupan los dispositivos físicos para formar unidades funcionales. Ejemplo: registros de la CPU y ruta de datos que contiene una unidad aritmético lógica. Dispositivos Físicos: Hechos con circuitos integrados, cables, fuentes de potencia, tubos de rayos catódicos, etc.

5 Básicamente, es un programa en ejecución.
¿Qué es un Proceso? Básicamente, es un programa en ejecución. Tiene asignado un espacio de direcciones de memoria donde puede leer y/o escribir. Allí se encuentra: su código ejecutable, sus datos y su pila. También tiene asignado un conjunto de registros (CISC: IP, SP, BP, CS, DS, AX, BX, CX, DX, etc.) y guarda toda la información necesaria para ejecutar el programa.

6 Las obligaciones del SO como gestor de procesos son:
Un sistema consiste en una colección de procesos que podrían ejecutarse concurrentemente. 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 y maximizando la utilización del procesador). Establecimiento de mecanismos para la sincronización y comunicación entre procesos. Manejo de bloqueos mutuos.

7 A medida que un proceso se ejecuta cambia de estado
A medida que un proceso se ejecuta cambia de estado. Cada proceso puede estar en uno de los siguientes estados: Nuevo (new): el proceso se está creando. En ejecución(running): el proceso está en la CPU ejecutando instrucciones. Bloqueado (waiting, en espera): proceso esperando a que ocurra un suceso (ejemplo: terminación de E/S o recepción de una señal). Preparado (ready, listo): esperando que se le asigne a un procesador. Terminado (terminated): finalizó su ejecución, por tanto no ejecuta más instrucciones y el SO le retirará los recursos que consume.

8 Diagrama de estados de un proceso.

9 Para que un programa se ejecute, el SO debe crear un proceso para él
Para que un programa se ejecute, el SO debe crear un proceso para él. En un sistema con multiprogramación el procesador ejecuta código de distintos programas que pertenecen a distintos procesos. Aunque dos procesos estén asociados al mismo programa, se consideran dos secuencias de ejecución separadas, cada una de las cuales se considera un proceso. Llamamos traza de un proceso al listado de la secuencia de instrucciones que se ejecutan para el mismo. Nota: Sólo un proceso puede estar ejecutándose en cualquier procesador en un instante dado, pero muchos procesos pueden estar listos y esperando.

10 Los sucesos que pueden dar lugar a una transición de estados en este modelo son los siguientes:
Ninguno a nuevo: se crea un nuevo proceso para ejecutar un programa. Nuevo a preparado: el sistema está preparado para aceptar un proceso más porque dispone de recursos para ello. Preparado a ejecución: el sistema elige uno de los procesos en estado preparado para llevarlo a ejecución. Ejecución a terminado: el proceso que se está ejecutando es finalizado por el SO si indica que terminó, se abandona o se cancela. Ejecución a preparado: el proceso ha agotado su tiempo de ejecución, cede voluntariamente su tiempo de ejecución o se interrumpe para atender a otro de mayor prioridad.

11 Los sucesos que pueden dar lugar a una transición de estados en este modelo son los siguientes: …(Continuación)… Ejecución a bloqueado: el proceso solicita algo por lo que debe esperar. Bloqueado a preparado: se produce el suceso por el que el proceso estaba esperando. Preparado a terminado (no aparece en la figura): un padre puede terminar con un proceso hijo en cualquier momento, o bien, si el padre termina todos sus hijos se pueden terminar. Bloqueado a terminado: el mismo criterio que el anterior.

12 Ejemplo: disposición en memoria de tres procesos.

13 Ejemplo: estados asociados a la traza de los tres procesos.

14 Sería necesario disponer (como mínimo) de dos colas: una de listos y otra de bloqueados. Los procesos nuevos que se van admitiendo pasan a la cola de listos, el sistema elige de esta cola alguno para pasarlo a ejecución. Cuando ocurre un suceso, todos los procesos que esperan por él pasan de la cola de bloqueados a la cola de listos.

15 Aspectos importantes a tener en cuenta durante la ejecución de procesos:
 Asignación o administración de los recursos del sistema a los procesos. ¿Cómo manejar los requerimientos de Entrada/Salida? ¿De qué forma se deben administrar los recursos de memoria necesarios para la ejecución de los procesos?  Posibilidad de que ocurran interbloqueos. - ¿Qué problemas puede ocasionar un interbloqueo? - ¿Cómo evitar los interbloqueos? ¿Cómo asegurar la comunicación entre procesos?

16 Sistema de Archivos (o Ficheros)
El SO oculta a los usuarios las peculiaridades del manejo de los discos y otros dispositivos de E/S, presentando al programador un modelo abstracto, bueno y claro de archivos independientes de los dispositivos. De esto se encarga el SISTEMA DE FICHEROS (ARCHIVOS).

17 Sistema de Archivos (o Ficheros) …(Continuación)…
Un archivo puede contener un texto, programas ejecutables, código intermedio, código fuente de programas, hojas de cálculo, documentos, imágenes, audio, video, información financiera y/o económica, información y/o datos en general, etc. Los ARCHIVOS (también conocidos como FICHEROS) se guardan en memoria externa. Para ello se les da nombre nemotécnicos y se agrupan en CARPETAS o DIRECTORIOS.

18 Sistema de Archivos (o Ficheros) …(Continuación)…
Los directorios o carpetas también son manejados como un tipo especial de archivos: son archivos que contienen otros archivos o directorios. Mediante llamadas al sistema es posible: - Crear Archivos. - Eliminar Archivos. - Leer y/o Escribir (Modificar) Archivos.

19 Sistema de Archivos (o Ficheros) …(Continuación)…

20 Sistema de Archivos (o Ficheros) …(Continuación)…

21 Llamadas al Sistema. La interfaz entre el SO y los programas de usuario está definida por el conjunto de llamadas al sistema ofrecidas por el SO. Estas llamadas pueden variar de un SO a otro pero los conceptos tienden a mantenerse. Generalmente, las llamadas al sistema se invocan desde programas en C llamando a un procedimiento de biblioteca que tiene el mismo nombre de la llamada al sistema. Ejemplos de llamadas al sistema en UNIX: fd = open(“mifichero”, O_RDONLY); cuenta = read(fd, buffer, nbytes);

22

23 Llamadas al Sistema. …(Continuación)…
En general, las interfaces con los servicios del sistema operativo se distinguen porque: En el caso del programador, las llamadas al sistema se realizan invocando a un procedimiento de biblioteca en lenguaje de máquina o en alto nivel. En los casos de los usuarios, las llamadas al sistema se hacen mediante: Intérprete de órdenes. Programas del sistema. El SO ofrece una gama de servicios a los programas, que acceden a ellos mediante llamadas al sistema. Son la interfaz entre el programa en ejecución y el SO. Única forma en la que un programa puede solicitar operaciones al SO.

24 Llamadas al Sistema. …(Continuación)…
Implantación de las llamadas al sistema: ¿Cómo se implanta la llamada? Habitualmente, mediante una instrucción especial de la máquina (syscall, int, trap, ...). La instrucción cambia automáticamente a modo privilegiado. Si programamos en un lenguaje de alto nivel escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instrucción de máquina correspondiente. Muchas llamadas necesitan parámetros ¿cómo los pasamos al SO?: Usando registros de la máquina. En una tabla en memoria principal. Poniéndolos en la pila (stack).

25

26 SHELL del Sistema Operativo
Sistema Operativo Windows: - Entorno gráfico. - Línea de comandos. - Ventana al DOS. Sistema Operativo Linux: - Entorno gráfico. - Consolas / Terminales.

27

28 SHELL de LINUX / UNIX En LINUX / UNIX, el intérprete de órdenes es un programa que se ejecuta como un proceso de usuario. Ejemplos: sh, bash, ksh, csh,…

29 SHELL de LINUX / UNIX

30 SHELL de LINUX / UNIX


Descargar ppt "ARQUITECTURA DE SISTEMAS OPERATIVOS."

Presentaciones similares


Anuncios Google