Arquitectura de Sistemas

Documentos relacionados
Introducción a los sistemas operativos

Usando el Sistema Operativo

Capítulo 2 Introducción a los sistemas operativos

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Ficheros

Cambio de hebra. Gustavo Romero. 13 de febrero de Arquitectura y Tecnología de Computadores. Voluntario Involuntario

Introducción a los Sistemas Operativos

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

Procesos. Gustavo Romero. 25 de octubre de Arquitectura y Tecnología de Computadores. Definición Control Estado IPC

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino

Hilos Secciones Stallings:

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion.

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Sistemas operativos Tema 3: Estructura del sistema operativo

Fundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana

Tema III: Componentes de un Sistema Operativo

Arquitectura de Sistemas

Arquitectura de Sistemas

Tecnología de software para sistemas de tiempo real

ESCUELA DE INGENIERIA Informática Y Sistemas

Concurrencia y paralelismo

LINUX fork() execv() wait() exit() kill signal pipe creat close open read write fstat Chmod getuid, setuid, getgid setgid

Cap.2. Kernel Sistemas Operativos - Viña del Mar.

Sistemas Operativos. Curso Página Web: Asignaturas de programación en el plan de estudios

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Programación de Multitareas utilizando Hilos

Contenidos. Para el usuario. Para el programador. Para el desarrollador del sistema operativo.

Tema 4: Gestión de Procesos

Conceptos y Estructuras de Sistemas Operativos

UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO INGENIERÍA EN COMPUTACIÓN

ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware

Sistemas Operativos. Tema 2

Biblioteca de sistema

Programación Concurrente Recopilación de teoría referente a la materia

Cuestionario 1-Parte 1

Interfaces y Manejadores de Dispositivos

Unidad de Competencia I Elementos de Competencia Requerimientos de información

Llamadas al sistema de ficheros

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

Arquitectura de Sistemas

Sumario Prólogo Unidad didáctica 1. Introducción a los sistemas operativos Objetivos de la Unidad... 12

Sistema de Ficheros SOA

FUNDAMENTOS DE SISTEMAS OPERATIVOS

PROGRAMA DE CURSO. Horas de Cátedra ,5 5,5. Resultados de Aprendizaje

Historia de los sistemas operativos

Tema 12: El sistema operativo y los procesos

12/06/2013 USUARIO. /dev /bin /usr /usr/bin /usr/lib /usr/spool /sbin y /usr/sbin /stand /var

Arquitectura de Sistemas

Gestión de Entrada-salida

Introducción a los Sistemas Operativos S.O.

Sistema Operativo. Introducción a los Sistemas Operativos. El Sistema Operatico como Interfaz Usuario/Computador. Objetivos del Sistema Operativo

Prácticas de Periféricos Interfaces y Buses

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

1- UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES. Tecnicatura Universitaria en Programación de Sistemas

Sistemas Operativos sesión 12: tuberías

Necesidad de Protección

Conceptos de Sistemas Operativos. Sistema Operativo

Sistemas Operativos. Introducción. Tema 6

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Sistemas Operativos. S.O. Estructura Básica. S.O. Como Administrador de Recursos. Multiprogramación. Multiprogramación y Procesos

Apartado Puntuación. No Presentado

ENTRADA/SALIDA. Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona

Sistemas operativos: una visión aplicada. Capítulo 3 Procesos

Mercedes Fernández Redondo

Herramientas Informáticas I Software: Sistemas Operativos

Programación Concurrente y Paralela. Unidad 1 Introducción

PROCESOS E HILOS - Hilo

Introducción a Sistemas Operativos: Ficheros

Computación 1. Conociendo la herramienta de cálculo La Computadora (II)

6. Enumere tres ventajas de los ULT frente a los KLT.

FUNCIONAMIENTO DEL ORDENADOR

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Julio 2015

División Académica de Informática y Sistemas

INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

Universidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali

Diseño de los servicios del sistema

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional I.

Sistemas Operativos II Convocatoria ordinaria 24 de Enero de 2001 Escuela Universitaria de Informática (Grupo K)

División Académica de Informática y Sistemas División Académica Multidisciplinaria de los Ríos Ingeniería en Informática Administrativa

Tema 1: Introducción a los Sistemas Operativos

La secuencia de referencias a páginas para el proceso B es:

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4)

Clases 04 y 05: Repaso de programación de sistemas basados en UNIX

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y

Administración de memoria.

Informática Electrónica Concurrencia

Modelo de procesamiento

Informática. Informática = Hardware + Software. Hardware + Software. Hardware = Parte física. Software = Parte lógica

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 5

Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos

SISTEMAS OPERATIVOS Arquitectura de computadores

Programación de sistemas El sistema de archivo de UNIX

Entrada/Salida y bloqueo mutuo. Dr. Alonso Ramírez Manzanares 19-Oct-2010

Sistemas operativos: una visión aplicada. Capítulo 2 Introducción a los sistemas operativos

Sistemas Operativos. Daniel Rúa Madrid

Introducción a los Sistemas Operativos

Transcripción:

Índice Arquitectura de Sistemas Introducción a los sistemas operativos 1. Abstracciones 2. Llamadas al sistema Gustavo Romero López Actualizado: 11 de mayo de 2018 Arquitectura y Tecnología de Computadores 2 Lecturas recomendadas Espacio de direcciones Tanuenbaum Sistemas Operativos Modernos (1) Silberschatz Fundamentos de Sistemas Operativos (2) Stallings Sistemas Operativos (2) Memoria utilizable por un proceso. Unidad de protección de memoria. Habitualmente formado por 3 componentes: código:.text datos:.data,.bss y heap pila: stack variables locales marcos de procedimientos Tamaño: código: tamaño fijo datos: pueden crecer hacia arriba pila: pueden crecer hacia abajo 3 4

Procesos y hebras Comunicación entre procesos (Porción de) un programa en ejecución. Instancia de un programa ejecutándose. Hebra/hilo/fibra: mínima unidad de ejecución. Proceso/tarea: unidad de posesión/protección de recursos. 5 Tipos: Ficheros: tuberías, sockets. Paso de mensajes. Memoria compartida. Ejemplo: comunicación entre procesos mediante tubería. cat alumnos.txt sort A deja de escribir cuando la tubería está llena. B deja de leer cuando la tubería está vacía. 6 Concurrencia y paralelismo Gestión de memoria Varios procesos pueden ejecutarse... en paralelo en un multiprocesador. de forma concurrente en un uniprocesador. Los procesos multihebra pueden ser ejecutados de forma paralela o concurrente en función de... el número de procesadores. el modelo de hebras: usuario o núcleo. Podrán aparecer condiciones de carrera si no manejamos cuidadosamente la concurrencia necesitaremos métodos de sincronización de procesos y hebras. La memoria RAM es limitada. Problema: los procesos no saben qué posición ocuparán en la RAM. Responsabilidad del compilador y del SO. Solución: código relocalizable. Problema: las necesidades de memoria de todos los procesos activos pueden ser mayores que la RAM. Solución: memoria virtual. 7 8

Memoria virtual Permite al programador direccionar memoria de forma razonable encuanto a... Cantidad: los procesos creen disponer de toda la RAM. Seguridad: los espacios de direcciones son independientes: Memoria virtual Las aplicaciones creen tener un espacio de direcciones plano. La memoria física se divide en porciones. Las regiones no necesitan mapearse de forma contigua. excepción: E/S mapeada en memoria (controladores). una misma dirección virtual en dos espacios de direcciones puede ser mapeada en diferentes posiciones en la RAM. El mapeado de porciones de memoria virtual en memoria física se hace de forma automática liberación para el programador. El funcionamiento eficiente de la memoria virtual necesita soporte hardware. 9 10 Planificación/gestión de recursos Gestión de E/S Equidad: Proporcionar cantidades iguales de recurso a todos los usuarios. Tiempo de respuesta: Discriminar entre clases de trabajos: tiempo real, interactivos, por lotes... Eficiencia: Maximizar el rendimiento. Minimizar el tiempo de respuesta. Permitir tantos usuarios simultáneos como sea posible. Diferencia entre políticas y mecanismos: planificación despacho paginación reemplazo interacción comunicación Clasificación de dispositivos de E/S: Dispositivos de caracteres: puerto serie, módem, ratón,... Dispositivos de bloques: discos duros, tarjetas de red,... Papel de la gestión de dispositivos interfaz: Proporcionar una interfaz genérica... como en UNIX. Proporcionar una interfaz específica para cada tipo de dispositivo... como en Windows. Componentes de un controlador de dispositivo (software): Código de inicialización. Llamada al sistema para responder a las peticiones de usuario. Manejador de interrupción para responder a las peticiones del controlador de dispositivo (hardware). 11 12

Ficheros Interacción de los componentes del sistema Implementación del almacenamiento persistente o a largo plazo. Las unidades almacenadas persistentemente son objetos como... Ficheros. Directorios. Tipos de ficheros: Tradicionales: gestionados a través de s al sistema. Mapeados en memoria: gestionados como el resto de la memoria principal. 13 14 Interacción de los componentes del sistema Interfaz de programación de aplicaciones (API) Existen dos interfaces de programación para acceder a los servicios proporcionados por el núcleo del SO: Llamadas al sistema: interfaz directa con el núcleo. API: interfaz indirecta escrita en algún lenguaje de alto nivel funciones de biblioteca. Las 3 APIs más conocidas son: Win32. POSIX: Portable Operating System Interface (UNIX). Java. 15 16

API: ejemplo de uso de POSIX en Linux Paso de parámetros.data msg :.string " cognito, ergo sum\n" tam :.int. - msg.text.global _start : _start mov $1, %rax # write mov $1, %rdi # stdout mov $msg, %rsi # texto mov tam, %rdx # tamaño syscall # a write mov $60, %rax # exit xor %rdi, %rdi # 0 syscall # a exit A menudo es necesaria más información que la identificación de la al sistema El tipo y cantidad de información varia entre s. Métodos de paso de parámetros: Registros: método rápido pero de poca capacidad. Memoria: la aplicación agrupan los parámetros en un área de memoria y pasa la localización de dicha área mediante un registro. Pila: los parámetros son apilados por la aplicación y desapilados por la al sistema. # include <iostream > int main () { std :: cout << "cognito, ergo sum" << std :: endl ; } El empleo de memoria tiene la ventaja de no limitar el número ni el tamaño de los parámetros, pero es más lenta que los registros (velocidad+copia). 17 18 Gestión de procesos Gestión de ficheros pid = fork() waitpid(pid, estado, opciones) estado = execve(fichero, argumentos, entorno) exit(estado) crea un proceso hijo y devuelve su identificador espera la finalización de un proceso hijo reemplaza el núcleo de un proceso finaliza un proceso y devuelve un valor de estado descriptor = open(nombre, modo) estado = close(descriptor) cantidad = read(descriptor, bufer, bytes) cantidad = write(descriptor, bufer, bytes) posicion = lseek(descriptor, desplazamiento, desde) estado = stat(nombre, &búfer) abre un fichero y devuelve su descriptor cierra un fichero lee datos de un fichero escribe datos en un fichero mueve el puntero del fichero obtener información de estado 19 20

Gestión de directorios Otras s al sistema estado = mkdir(nombre, modo) crea un nuevo directorio estado = rmdir(nombre) estado = link(nombre1, nombre2) estado = unlink(nombre) estado = mount(origen, destino, tipo, opciones) borra un directorio vacio crea un enlace borra una entrada de directorio monta un sistema de ficheros estado = chdir(nombre) estado = chmod(nombre, modo) estado = kill(pid, señal) segundos = time(&segundos) cambia el diretorio de trabajo cambia los bits de protección envía una señal a un proceso nº de segundos desde 1/1/1970 estado = umount(destino) desmonta un sistema de ficheros 21 22 Comparativa POSIX/Win32 POSIX Win32 chdir SetCurrentDirectory cambia el directorio actual chmod cambia los permisos close CloseHandle cierra un fichero execve CreateProcess cambia la imagen de un proceso exit ExitProcess finaliza la ejecución de un proceso fork CreateProcess crea un nuevo proceso kill envía una señal link crea un enlace lseek SetFilePointer mueve el puntero de fichero mount monta un sistema de ficheros mkdir CreateDirectory crea un directorio open OpenFile crea/abre un fichero read ReadFile lee de un fichero rmdir RemoveDirectory borra un directorio stat GetFileAttributesEx obtener atributos de un fichero time GetLocalTime obtiene la hora unlink DeleteFile borra un fichero unmount desmonta un sistema de ficheros waitpid WaitForSingleObjet espera la finalización de un proceso write WriteFile escribe en un fichero 23