ARQUITECTURA DE SISTEMAS OPERATIVOS.

Slides:



Advertisements
Presentaciones similares
Introducción Principios del Software E/S Principios del Hardware E/S
Advertisements

GESTION DE PROCESOS Procesos y tareas
TEMA 1 Introducción a la Programación Concurrente
Arquitectura de Sistema de E/S
VI Unidad. Sistema Operativo
Administración de procesos Lic. Orlando Zamora Rdz.
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Introducción al software
Modelo de procesos de dos estados
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Detalles del sistema operativo
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Introducción al Software
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Unidad 7 Entrada/Salida
UNIDAD 3 Conceptos de Sistemas Operativos.
Profesor: Rodrigo Sanhueza Figueroa
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
BASE DE DATOS BY: Julián Villar Vázquez.
SISTEMA OPERATIVO 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.
Lenguaje de Programación cap. 1 Estructura del Computador.
Programación I MC José Andrés Vázquez Flores
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
Hilos En La Computación. (THREADS).
Introducción a los Sistemas Operativos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
LENGUAJES DE PROGRAMACIÓN
Gestión de procesos Sistemas Operativos Edwin Morales
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
COMPONENTES DEL SISTEMA OPERATIVO.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
W w w. i n a c a p. c l FUNDAMENTOS DE SISTEMAS OPERATIVOS LUIS ALEJANDRO PACHECO TORO.
Sistemas Operativos Oscar Bedoya
Estructura de los Sistemas Operativos
Clasificación y estructura. Alejandra Rivero Esteban
María José Freire Mayra Coello Juan Francisco Pérez
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
Procesos ITS - Informática Sistemas Operativos II Javier Sellanes.
Unidad 2 – Gestión de Procesos
Sistemas Operativos.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
INTERRUPCIONES – ABRAZO MORTAL
Naime Cecilia del Toro Alvarez
Licenciatura Tecnologías de la Información y Comunicación
Elementos y tipos de sistemas operativos
DOCENTE: DAISY KATERINE RODRÍGUEZ DURÁN. CONTENIDO TEMÁTICO SISTEMAS OPERATIVOS PAQUETES INTEGRADOS DE OFICINA PROCESOS Y PROCEDIMIIENTOS DE UNIDAD ADMINISTRATIVA.
Funciones principales!
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
ELEMENTO DE COMPETENCIA 3
TECNICO EN SISTEMAS NUMERO DE FICHA:
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
Fundamentos de Programación Unidad I Conceptos Básicos.
Instituto de Ciencias y Humanidades Tabasco. El software Coordinar el uso del hardware Coordinar el uso del hardware Ejercer el control Programas de aplicación.
SOFTWARE DE COMPUTADORAS
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Estructura del sistema operativo
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran.
Transcripción de la presentación:

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

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

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.

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.

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.

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.

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.

Diagrama de estados de un proceso.

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.

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.

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.

Ejemplo: disposición en memoria de tres procesos.

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

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.

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?

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).

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.

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.

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

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

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);

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.

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).

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.

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,…

SHELL de LINUX / UNIX

SHELL de LINUX / UNIX