Llamadas al sistema (3), Estructura de SO. Dr. Alonso Ramírez Manzanares 31-Ago-2010

Documentos relacionados
No obstante, incluso en los sistemas monolíticos es posible tener al menos un poco de estructura. Los servicios (llamadas al sistema) proporcionados

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

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Conceptos y Estructuras de Sistemas Operativos

SISTEMAS OPERATIVOS Arquitectura de computadores

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

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

Estructura Windows NT

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

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. Estructura de los sistemas operativos

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

Unidad Nº I Revisión de conceptos de. Sistemas Operativos

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Sistemas Operativos. Curso 2017 Estructura de los sistemas operativos

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

Conceptos de Sistemas Operativos. Sistema Operativo

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

ESCUELA DE INGENIERIA Informática Y Sistemas

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero

Entrada / Salida. Relojes y terminales. Dr. Alonso Ramírez Manzanares 4-Nov-2010

Sistemas operativos Tema 3: Estructura del sistema operativo

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Herramientas Informáticas I Software: Sistemas Operativos

Parte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación

Convivencia Introducción

Unidad V: Sistemas de archivos 5.1 Concepto

Introducción de SO. Dr. Alonso Ramírez Manzanares 10-Ago-2010

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Procesos Definición y Estados

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Introducción a los Sistemas Operativos

Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos. Introducción. Tema 6

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Administración de Linux

Manipulación de procesos

Capítulo 1 Conceptos arquitectónicos

Unidad II: Administración de Procesos y del procesador

Introducción a los Sistemas Operativos

1. Sistema Operativo Unix

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

Tema 12: El sistema operativo y los procesos

Evolución del software y su situación actual

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

Usando el Sistema Operativo

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Sistema Operativo Linux

SISTEMAS OPERATIVOS. Informática Básica

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Unidad 1: Conceptos generales de Sistemas Operativos.

Sistemas Operativos. Procesos

S i s t e m a s e n t i e m p o r e a l. Autores: Pisana, Pablo Picca, Ezequiel Díaz Vélez, Agustín Saavedra, Walter Elías

Introducción a GNU/Linux

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

Unidad 1: Conceptos generales de Sistemas Operativos.

Threads, SMP y Microkernels. Proceso

Hilos Secciones Stallings:

SERVICIO NFS INDICE. Introducción Configuración del Servidor NFS Modo texto Modo Gráfico Configuración del Cliente NFS

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

Problemas que resuelve un S.O. (2)

Organización del Sistema Operativo

Tema 1. Conceptos fundamentales de los Sistemas Operativos

3. Sistemas operativos

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

En particular para WORD y POWER POINT se recomienda leer los manuales de WORD 2010 y POWER POINT 2010 que fueron la base del curso normal.

Sistemas Operativos. Daniel Rúa Madrid

Sistemas Operativos. Curso 2016 Sistema de Archivos

Gestión de Entrada-salida

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Introducción a los Sistemas Operativos

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS


BUAP FACULTAD DE CIENCIAS DE LA COMPUTACIÓN SISTEMAS OPERATIVOS 2 PRACTICA 2 JAIME MORALES FLORES

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros

Computación Conociendo la herramienta de cálculo

Fundamentos de Programación. Sabino Miranda-Jiménez

Sistemas Operativos. Curso 2013 Virtualización

Sistemas Operativos. Dr. Wenceslao Palma M.

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

Velocidades Típicas de transferencia en Dispositivos I/O

Introducción a los Sistemas Operativos

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

3. Sistemas operativos

El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Introducción a la arquitectura de computadores

CONCEPTOS BÁSICOS COMPUTADORA

Memoria Virtual. Ing. Jorge Castro-Godínez

BIBLIOGRAFIA. Sistemas Operativos. Informática E.P.S. Universidad de Sevilla TEMA 4: Bibliografía básica de referencia:

Convivencia Gestión de Procesos

Ejercicio 1: Windows En este primer ejercicio primero vamos a ver que es el Sistema Operativo Windows, qué es un Sistema Operativo y para que sirve.

Qué es un programa informático?

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Introducción a los Sistemas Operativos

Transcripción:

Llamadas al sistema (3), Estructura de SO Dr. Alonso Ramírez Manzanares 31-Ago-2010

Llamadas al SO de administración de directorios. La instrucción mount, por ejemplo para montar una unidad de disco mount( /dev/fd0, /mnt, 0); Tambien se pueden monar así discos duros o particiones de discos duros. Cuando se deja de utilizar se puede usar UMOUNT.

Llamadas al SO de administración de directorios. Minix tiene un caché en la memoria pricipal donde almacena los bloques mas usados, evitando con esto leer cada vez. Si se modifica un bloque y el sistema se cae antes de actualizar el HD (un apagón por ejemplo) el sistema de archivos se dañará. Se debe de desalojar el caché periodicamente. La llamada al SO SYNC hace lo anterior. Cuando se inicia Minix se ejecuta update en segundo plano, el cual desaloja el cache cada 30 segs.

Llamadas al SO de administración de directorios. Tenemos también: CHDIR, que cambia el directorio actual. CHROOT que cambia el directorio raiz, es decir desde donde se referencia /. Esto solo lo puede hacer el superusuario.

Llamadas al SO para proteccion Tenemos chmod( archivo,0644); Pero ademas de los 9 bits anteriores tenemos 2 mas: 02000 y 04000, que son SETGID y SETUID (permitir poner id efectivo de grupo y de usuario, respectivamente). Esto no cambia para nada el id real. Cuando SETUID esta activado y el ID efectivo se cambia de el del usuario al del propietario del archivo durante la ejecución del proceso. Esto se usa para permitir que usuarios ejecuten procesos de SU, por ejemplo, crear directorios, es decir MKDIR (de SU con prop. 04755) llama internamente a MKNOD en forma restringida.

Llamadas al SO para proteccion Se puede investigar cual el el ID efectivo y real de un proceso con: GETUID, GETEUID, GETGID y GETEGID, que regresan id reales y efectivos. Los usuarios no pueden cambiar su uid, excepto cuando ejecutan programas con el bit SETUID activado, pero el SU si puede usando: int setuid(uid_t uid); Que pone tanto el uid real como efectivo.

Llamadas al SO para proteccion El superusuario puede cambiar el propietario de un archivo con CHOWN. Usuarios standard pueden llamar umask(022) que enmascará las futuras creaciones de archivos y directorios, asi, la llamada creat ( f.dat,0777) realmente asignará 0755 a las propiedades de acceso.

Llamadas al SO para proteccion Es posible verificar si se puede accesar un determinado archivo por un uid real con la llamada al sistema ACCESS (qué pasa si probamos abrirlo y el programa es de SU con SETUID prendido? Pues no obtenemos información). El parámetro MODE puede verificar lectura(4), escritura(2) y ejecución(1).

Llamadas al SO para administracion del tiempo TIME, develve el número de segundos desde 1970 STIME, permite al SU poner la hora. UTIME, permite al propietario cambiar el tiempo almacenado en el i-node de un archivo (es la que usa TOUCH). y TIMES, que permite contabilizar el tiempo de CPU de un proceso.

Estructura del SO

Estructura del SO Los 4 diseños más importantes son: sistemas monolíticos sistemas por capas máquinas virtuales sistemas cliente-servidor

Sistemas monolíticos Es un esquema desordenado. Es una colección de procedimentos donde cualquiera puede llamar a cualquiera (se debe proveer una definición de interfaz con parámetros y resultados). No hay ocultación de información. Los servicios se solicitan colocando los parámetros en lugares definidos (registros) y haciendo una llamada al kernel (conocida como captura, trampa o trap), la cual conmuta del modo de usuario al modo de kernel dando el control al SO.

Sistemas monolíticos - Luego el SO examina parámetros para determinar que llamada se ejecutará. - Después busca en la tabla de procedimientos y lo ejecuta. - Finalmente se devuelve el control al usuario.

Sistemas monolíticos La organización anterior sugiere: Aqui se hacen las llamads al SO Entonces, para cada llamada al SO hay un procedimiento de servicio.

Sistemas por capas Generalizando la estructura anterior, se puede diseñar una jerarquía por capas: SO THE (1968)

Sistemas por capas CAPA 0: reparto del procesador, conmutando cuando ocurrian interrupciones o expiraban temporizadores, es decir todo lo de multi-programación. Arriba de la capa 0 el sistema consiste en procesos secuenciales. CAPA 1: Administra la memoria, mas arriba de la capa 1, no se necesita saber en que parte de la memoria se estaba corriendo.

Sistemas por capas CAPA 2: Maneja la comunicación entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tenia su propia consola de operador. CAPA 3: Encargada de administrar los dispositivos de E/S y de colocar en buffers las corrientes de información. Arriba de la capa 3 cada proceso cuenta con dispositivos de E/S abstractos (amigables).

Sistemas por capas CAPA 4: Aqui se encuentran los programas de usuario que no se tienen que preocupar de todo lo que se provee abajo. CAPA 5: Aqui se encuentra el proceso del operador del sistema (que ejecuta programas de usuario).

Sistemas por capas El sistema por capas evolucionó a sistema de anillos en MULTICS, donde los anillos externos hacen llamadas al sistema para obtener servicios de anillos internos. En MULTICS el hardware permitía desinar segmentos de memoria como protegidos contra lectura, escritura o ejecución (memoria donde se tenían procesos).

Máquinas Virtuales El sistema VM/370 se basa en proveer a) multiprogramación y b) una máquina extendida con una interfaz más cómoda que el hardware tal cual. Donde se separan esas dos funciones. El monitor de máquina virtual proporciona varias máquinas virtuales, pero no daban una máquina extendida:, sino que proporciona copias exactas del hardware tal cual, con modo kernel/usuario, E/S, interrupciones, etc.

Máquinas Virtuales Como cada máquina es idéntica al hardware, puede ejecutar cualquier SO. Muchas veces se ejecutaba CMS (Sistema de Monitoreo de Conversaciones). De esta manera se separó multiprogramacion y máquina extendida. Este concepto se usó luego en Windows para simular MS-DOS (pero en una máquina inferior, no idéntica).

Modelo cliente-servidor La idea anterior de mandar código a capas superiores simplificando el kernel se lleva mas allá implementando la mayor parte de de las funciones del SO en procesos de usuario (ahora llamados proceso cliente): Entonce el kernel maneja la comunicación entre clientes y servidores.

Modelo cliente-servidor El hecho de que los servidores se ejecuten en modo usuario, hace que si se cae un servidor, no se cae la máquina completa. La otra ventaja es su adaptabilidad a sistemas distribuidos.

Modelo cliente-servidor En la realidad algunos procesos de servidor críticos (por ejemplo los controladores de disp. E/S) se ejecutan realmente en modo de kernel, pero usando el mecanismo de mensajes normal.

Procesos

PROCESOS Todo gira alrededor de los procesos, por eso es imporante entenderlos a detalle. Todas las computadoras actuales hacen muchas tareas al mismo tiempo. En un instante dado el CPU solo ejecuta un programa, de ahi el concepo de pseudo paralelismo, a diferencia del esquema de multiprocesamiento. Todo el software (a veces inculido el SO) esta organizado en procesos secuenciales.

Procesos El proceso no es mas que un programa en ejecución que incluye los valores actuales de contador de programa, registros y las variables. Con este esquema, el tiempo de ejecución de un proceso no es necesariamente uniforme ni reproducible.

Procesos Cuál es la diferencia entre un programa (un algoritmo) y un proceso (una actividad). Entonces el proceso tiene: programa, entrada, salida y un estado. Y por lo tanto, el procesador se puede compartir entre varios procesos no necesariamente finiquitados.

Jerarquía de Procesos En la mayoria de los SO, se necesita crear nuevos procesos y destruir procesos. En MINIX se usa FORK. Todos los procesos tienen padre, y de cero a n hijos. En MINIX el proceso especial INIT esta presente en la imagen de arranque. INIT lee cuantas terminales hay y bifurca un proceso por c/u de ellas lanzando login. Si login tiene exito crea un proceso shell, donde los comandos pueden crear nuevos procesos. Por lo tanto todos los procesos pertenecen al mismo arbol con init en su raiz.

Estados de procesos Aunque los procesos son entidades independientes, se comunican entre si, ejemplo: cat a1 a2 a3 grep alonso donde GREP se debe de auto-bloquear hasta que le lleguen datos de CAT. Tambien un proceso que esta listo se puede bloquear porque el SO ha decidido asignar el CPU a otro proceso.

Estados de procesos Por lo tanto tenemos 3 estados con las siguientes transiciones: En este modelo de transiciones, las interrupciones juegan un papel primordial.

Estados de procesos Lo anterior da lugar al siguiente modelo, capa baja es el planificador (interrupciones, inicio, parada y comunicación de procesos) con una serie de procesos arriba de él.

Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos toda la información para poder hacer la conmutación.

Cómo funciona el planificador? Cada clase de disp. E/S tiene un vector de iterrupción que contiene la dirección del procedimiento de servicio de interrupción. Al dispararse una interrupción, el hardware de interrupciones mete el contador de programa, la palabra de estado de programa y registros en la pila actual. Luego, la computadora salta a la dirección especificada en el vector de interrupciones.

Cómo funciona el planificador? Lo primero que hace el procedimiento de servicio es guardar todo lo del proceso actual (en la tabla). El proceso actual se almacena en variables globales para acceso rápido. Continuara...