Llamadas al Sistema. Laboratorio de Arquitectura de Ordenadores
|
|
- Cristián Nieto Prado
- hace 7 años
- Vistas:
Transcripción
1 Llamadas al Sistema Laboratorio de Arquitectura de Ordenadores
2 Índice Introducción Procesos Señales Sistema de ficheros Bibliografía 2
3 Introducción Llamadas al Sistema: Un API compuesto por una serie de funciones, que permiten obtener una serie de servicios del Sistema Operativo. Cada función con parámetros entrada y salida. POSIX (Portable Operating System Interface) : Estandar del IEEE que define un API específico de llamadas al sistema. Implementación del API puede ser en cualquier lenguaje de programación 3
4 Introducción UNIX se programó en C En C tenemos un conjunto de funciones con parámetros y un valor devuelto (puede también ser void) Valor que devuelve una función en UNIX suele ser si hay error (-1) o no (0), no nos dice que error es, pero hay variable global del sistema que indica el error producido 4
5 Introducción En un programa de usuario en C podemos usar: Llamadas al sistema. Interfaz con el SO (Páginas del manual:2) Funciones del sistema. (Páginas del manual:3) POXIS: Llamadas al sistema comunes a varios SO (son las que veremos). En particular UNIX tiene estas llamadas (aparte tiene más) 5
6 Procesos: Introducción Proceso: unidad mínima expedida por el planificador. Proceso formado por: - Programa ejecutable - Datos asociados al programa (variables, buffers,etc) - El contexto de ejecución del programa 6
7 Procesos: Introducción Imagen de un proceso: Datos Usuario Almacena datos programa, pila usuario, etc... Programa Programa a ejecutar Pila Pila sistema: paso parámetros al proceso. BCP Información control proceso: identificación proceso, estado del proceso,... 7
8 Procesos: Introducción Modelo procesos 5 estados: Pasar a Ejecución Nuevo Adm itir Listo Ejecución Liberar Terminado Ocurre Suceso Tim e-out Espera Suceso Bloqueado 8
9 Procesos: Introducción Modelo procesos 6 estados: Pasar a Ejecución Nuevo Adm itir Listo Ejecución Liberar Terminado Tim e-out Activar Ocurre Suceso Espera Suceso Suspendido Suspender Bloqueado 9
10 Procesos: Definiciones Procesos en el sistema en un determinado momento pueden estar: 1) Preparado para ejecutarse o ejecutándose 2) Bloqueado 3) Terminado sin liberar memoria (ha hecho exit). Zombie 4) Terminado y liberado memoria (proceso muerto) (ha hecho exit y su proceso padre actual le lanza un wait) 10
11 Procesos: Definiciones Todo proceso tiene un identificador en el sistema que es el pid Un nuevo proceso adquiere un nuevo pid, pero no tiene porqué ser consecutivos Proceso init tiene el primer identificador y está continuamente lanzando waits a todos sus hijos Proceso cuyo padre muere es heredado inmediatamente por el proceso init 11
12 Procesos: POSIX pid=fork() exit(status) pid=getpid() pid del propio proceso pid=getppid() pid del proceso padre pid=waitpid(pid, &status, opts) s=execve(name, argv, envp) 12
13 Procesos: fork() Es la única llamada para crear procesos Cada proceso en UNIX se le asigna un número. INIT es el primer proceso en el sistema, tiene el número 1. Número para los demás procesos es un criterio Criterio establecido para práctica: Primer proceso que creemos el número 100 los sucesivos que se creen incrementan en 1 13
14 Procesos:fork() Proceso que se crea con fork es una copia exacta de su padre, tanto en el código del programa como en los datos. Unica diferencia valor devuelto en x (hijo vale 0, padre vale el pid del hijo). Si hay error no se crea el hijo y devuelve -1 (p ej. si el sistema no permite crear nuevo proceso por falta de recursos) Ejemplo: y=30; x=fork(); printf(y); 14
15 Procesos: Arbol de procesos Un árbol de procesos es un diagrama que nos muestra la estructura y evolución de los procesos en el sistema Cada proceso se representa por un círculo y tiene dentro un número. Están numerados según el orden de creación De todo proceso padre sale una línea hacia su hijo 15
16 Procesos: Arbol de Procesos Criterios: Primer proceso nº 100 y numeración creciente en orden de aparición (101, 102, etc.) Si dos procesos van ejecutándose en paralelo y es aleatorio (dependerá del planificador), deberemos establecer un criterio 16
17 Procesos: Criterio de Planificación Criterios de planificación: i) De entre los procesos que estén preparados para ejecución en un momento t se elige primero para ejecutarse aquel cuya siguiente línea a ejecutar esté más retrasada en el código del programa y en caso de empate el de menor número. ii) Una vez que un proceso ejecuta una instrucción el planificador saca a ese proceso y, pasa a elegir un nuevo proceso entre los que estén preparados para ejecución siguiendo el criterio i) Excepción: bucle infinito: Menor prioridad para ejecutar ese proceso que ningún otro 17
18 Procesos: Tabla de variables Es una tabla n x m donde n es el número de variables del programa y m es el número de procesos que ha habido en el programa durante la ejecución del mismo En una casilla (i,j) se rellenará la sucesión de valores de la variable i correspondiente (ordenados según el cambio en el tiempo) en el proceso j 18
19 Ejemplo for (i==0, i<3, i++) { var[i]=fork(); if ((var[i]!=0)&&(i==0)) { b=fork(); if (b==0){ b=2; b=5; exit (0); } } } 19
20 Procesos: Diagrama de Procesos
21 Procesos: Tabla de variables var [0] , var 0, 0, [1] var [2] 0, 105 b 0, 102 0, , 2, 5 0 0, 107 0,
22 Procesos: exit(status) Cuando un proceso termina su ejecución realiza un exit status marca el código de salida. 0 si es correcto o un número del 1 al 255 Si un proceso hace un exit, el resto de código si lo hubiera no se ejecuta Si un proceso se ejecuta y llega al final de su código, aunque no ponga nada en el código es como si realizara un exit(0) 22
23 Procesos: pid=waitpid(pid, &status, opts) Proceso que lo lanza a la espera que uno de sus hijos termine (si pid=-1) o bien que reciba una señal. Si no tiene hijos la llamada da un error (código -1) Si pid es distinto a -1 espera sólo por el hijo con ese pid concreto Proceso se bloquea hasta que un hijo termine o bien reciba una señal En status devuelve 2 bytes. El más alto es el código del EXIT y el más bajo el número de señal. Tenemos 3 opciones: (0,0) (n,0) (0,n) Opts: acción realiza el proceso llamante: bloquearse (0) o no bloquearse. 23
24 Procesos: n=execve(name, argv, envp) No crea nuevos procesos, utiliza el que había Es una llamada sin retorno. En caso de éxito el código del programa actual se elimina y se carga el nuevo programa Si hay error quedamos con el mismo código y obtendremos el valor de la n name: nombre del programa a ejecutar argv: Array de parámetros que son los argumentos que se le pasan al programa envp: Array de entorno 24
25 Señales Mecanismo software informa proceso del acontecimiento suceso asíncrono. Las señales pueden enviarlas los procesos a otros procesos y también se pueden generar automáticamente (Ej. Al pulsar tecla DEL o llamada al sistema KILL) Proceso cuando recibe señal puede: ignorar la señal, realizar una acción por defecto o asociar una rutina específica de tratamiento a esa señal. 25
26 Señales: Acciones por defecto Las acciones por defecto asociadas a una señal cuando un proceso la recibe (acción pueden darse como una combinación de varias de las siguientes) : A: Terminación del proceso, B: Ignorar la señal, C: Volcar un fichero core, D: Parar el proceso, E: La rutina de servicio no puede modificarse F: La señal no puede ser ignorada 26
27 Señales:Tipos Están numeradas, cada una tiene un nombre dependiendo lo que representa 15: SIGTERM (A) (terminación amistosa) 9: SIGKILL (AEF) (eliminación a la fuerza) 3: SIGQUIT (AC) (salir) 2: SIGINT (A) (Interrupción) 19: SIGSTOP (DEF) (Para el proceso) 27
28 Señales: POSIX s=sigaction(sig, &act, &oldact) s=signal(sig, fname) s=kill(pid, sig) s=alarm(seconds) s=pause() 28
29 Señales: s=sigaction(sig, &act,&oldact) Sirve para que un proceso trate una señal y no se realice la acción por defecto sig es el número de la señal a tratar (no SIGKILL ni SIGSTOP pq no se pueden bloquear) act es la nueva acción que se instala para tratar a la señal. Puede ser un FLAG con la acción a desempeñar (SIG_IGN ignora todas las llegadas consecutivas de la señal y SIG_DFL para reestablecer acción por omisión de la señal cuando llegue) Existen versiones de UNIX que reensamblan 29
30 Señales: s=signal(sig, fname) Sirve para que un proceso trate una señal y no se realice la acción por defecto cuando la reciba sig es el número de la señal a tratar (no SIGKILL ni SIGSTOP porque no se pueden bloquear) fname es la función que tratará la señal o bien un FLAG con la acción a desempeñar (SIG_IGN ignora todas las llegadas consecutivas de la señal y SIG_DFL para reestablecer acción por omisión de la señal cuando llegue) Existen versiones de UNIX que reensamblan 30
31 Señales: s=kill(pid, sig), alarm(seconds), pause() s=kill(pid, sig): Manda al proceso con PID pid el número de señal sig alarm(seconds): tras un tiempo de seconds segundos se envía la señal SIGALARM al proceso que lo invocó pause(): suspende un proceso hasta que le llegue una señal 31
32 Señales: Ejemplo signal (15, SIG_IGN); for (i==0, i<3, i++) { var[i]=fork(); if (var[i]!= 0) { kill(var[i], 15); } if ((var[i]!=0)&&(i==0)) { b=fork(); } } if (b==0){ } b=2; b=5; exit (0); 32
33 Diagrama de Procesos con señales Se toma como base el diagrama de procesos tal y como se ha explicado y se añaden flechas discontinuas que van desde el proceso origen hacia el proceso destino receptor de la señal acompañando el número de señal a la flecha Si se manda más de una vez la misma señal entre los procesos se indicará al mismo lado de la señal el número de veces que se ha enviado. Se indica el par como (numseñal, numveces) 33
34 Procesos: Diagrama de Procesos con Señales
35 Sistema de ficheros Cada proceso tiene una tabla de descriptores de ficheros numeradas. Cuando un proceso va a acceder por primera vez a un fichero le pone un número de descriptor de fichero, que será el primero que esté libre Un proceso tiene sus tres primeros descriptores de su tabla asignados de antemano. El 0 para la entrada estándar (por defecto es el teclado). El 1 para la salida estándar (por defecto es la pantalla). El 2 para la salida de error (por defecto es la pantalla) 35
36 Sistema de ficheros fd=creat(name, mode) fd=mknod(name, mode, addr) fd=open(nombref, flags) fd= open (nombref, flags, permisos) s=close(fd) 36
37 Sistema de ficheros n=read(fd, buffer, nbytes) n=write(fd, buffer, nbytes) pos=lseek(fd, offset, whence) s=stat(name,&buf) s=fstat(fd,&buf) fdb=dup(fda) s=pipe(descr[]) 37
38 Sistema de ficheros s=ioctl(fd, request, argp) s=access(name, mode) s=mkdir(name, mode) s=rmdir(name) s= unlink(name) s=chdir(dirname) s=chroot(dirname) 38
39 Sistema de ficheros: find (I) if(strcmp(argv2[0],"find")==0){ count=0; j=0; if (argc2!=3){ printf("error: Number of parameters of %s is incorrect\n", argv2[0]); continue; } len=strlen(argv2[2]); bufaux[len]='\0'; //This establish the end of a chain 39
40 Sistema de ficheros: find (II) fd2=open(argv2[1],o_rdonly); if (fd2==-1){ printf("error while opening %s\n", argv2[1]); continue; } 40
41 Sistema de ficheros: find (III) while (j<len){ lseek(fd2, j++, SEEK_SET); while (number=read (fd2,bufaux, len)>0){ if (strcmp(argv2[2],bufaux)==0){ count++; } for (l=0;l<len;l++){ bufaux[l]='\0'; }} 41
42 Sistema de ficheros: find (IV) } close(fd2); printf ("The word %s has been founded %d times in the %s file \n", argv2[2], count, argv2[1]); continue; } // end find if 42
43 Bibliografía Arquitectura de Ordenadores Procesos Parte de Señales de Comunicación Entre procesos A. S. Tanembaum, A. B. Woodhall, Sistemas Operativos: Diseño e implementación, 2ª Ed. Prentince Hall, 1998 Silberschatz, J. Peterson, P.galvin "Sistemas Operativos: Conceptos fundamentales", Addison Wesley 3ª Edición 43
Procesos y Señales. Laboratorio de Arquitectura de Ordenadores
Procesos y Señales Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Bibliografía Marzo 2006 Dep.Ing.Telemática (UC3M) 2 Introducción Proceso: unidad mínima expedida por el
Más detallesTema 4: Gestión de Procesos
Tema 4: Gestión de Procesos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo
Más detallesFunciones POSIX (I): Introducción
Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria
Más detallesSISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos
SISTEMAS OPERATIVOS: PROCESOS Planificación de procesos ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza
Más detallesBoletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos
Boletín 5- Señales Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción 2. Envío de señales desde la shell: kill 3. Llamadas al Sistema kill: envío de señal a un proceso raise: autoenvío
Más detallesTeoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
Grupos Realización Entrega/Evaluación Lunes 22 de Febrero, 1, 8, 15 de Marzo 22 de Marzo Martes 23 de Febrero, 2, 9 y 16 de Marzo 23 de Marzo Miércoles 24 de Febrero, 3, 10 y 17 de Marzo 24 de Marzo Viernes
Más detallesSISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos
SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato María Gregoria
Más detallesSistemas Operativos. Tema 2
SOP2.20 Sistemas Operativos Tema 2 Interfaces del sistema Operativo. Llamadas al sistema Para gestión de procesos Relacionadas con señales Para gestión de ficheros Para gestión de directorios Para protección
Más detallesProcesos Definición y Estados
Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).
Más detallesMC Hilda Castillo Zacatelco PROCESOS
MC Hilda Castillo Zacatelco hildacz@gmail.com PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña
Más detallesUNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una
Más detalles1. Sistema Operativo Unix
1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad
Más detallesCominicación entre Procesos: SEÑALES
Cominicación entre Procesos: SEÑALES LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Enero marzo 2012 Interrupciones Las interrupciones pueden ser: de hardware: señales electrónicas
Más detallesProcesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)
Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado
Más detallesBiblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
Más detallesUn ejemplo: UNIX PROCESOS UNIX
PROCESOS UNIX Un ejemplo: UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación de procesos
Más detallesSistemas Operativos Practica 1: procesos y concurrencia.
Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo
Más detallesEjercicios sobre tuberías
Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son
Más detallesPrácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, Sergio Segura y José Ángel Bernal Boletín 4: Procesos Curso
Más detallesSistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos
Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión
Más detallesUsando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Más detallesSistemas Operativos I Manual de prácticas
Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...
Más detallesTema 4: Padre e hijo
Tema 4: Padre e hijo Enrique Soriano Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 11 de marzo de 2010 (cc) 2010 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este
Más detallesPrácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de
Más detallesPrácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas
Más detallesSistemas operativos: una visión aplicada. Capítulo 3 Procesos
Sistemas operativos: una visión aplicada Capítulo 3 Procesos Contenido Procesos Multitarea Información del proceso Formación de un proceso Estados del proceso Procesos ligeros Planificación Señales y excepciones
Más detallesFundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana
Fundamentos de los Sistemas Operativos Tema 2. Procesos 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana Contenidos del Tema 2 Qué es un proceso Estructuras de datos para gestionar procesos
Más detallesClases 04 y 05: Repaso de programación de sistemas basados en UNIX
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof.
Más detallesTema 4 : señales. Sistemas Operativos: Programación de Sistemas. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez.
Tema 4 : señales Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Señales Las señales son un mecanismo para comunicar eventos
Más detallesSistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid
Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele
Más detallesIntroducción y Gestión de Procesos
Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo
Más detallesTema 4: Gestión de Procesos
Tema 4: SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo de 2006 Índice Concepto
Más detallesSistemas Operativos - IPC
Sistemas Operativos - IPC Técnicas Digitales III Ing. Gustavo Nudelman 2012 Creación de procesos Un proceso puede crear a otro mediante la llamada al sistema fork() (no es la única manera de crear procesos)
Más detallesExamen Final de SO Grau
Preguntas cortas 1. (0,5 puntos) Asumiendo que ninguna llamada devuelve error, representa las entradas nuevas de la TFA que aparecerán tras la ejecución del siguiente código: fork(); mknod( pipe, S_IFIFO
Más detallesHilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Más detallesPRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión
Universidad de Murcia Facultad de Informática Departamento de Ingeniería y Tecnología de Computadores Área de Arquitectura y Tecnología de Computadores PRÁCTICAS DE SS.OO. I.I./I.T.I. Sistemas/I.T.I. Gestión
Más detallesSistemas Operativos sesión 12: tuberías
Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios
Más detallesSistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detallesSISTEMAS OPERATIVOS: PROCESOS. Señales
SISTEMAS OPERATIVOS: PROCESOS Señales ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza que el alumno
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesSistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h
Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Sen deben contestar correctamente
Más detallesPráctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores
Práctica 1: Intérprete de mandatos Introducción Desarrollo de un intérprete de mandatos (minishell) en UNIX/Linux en lenguaje C. Debe permitir: Ejecución de mandatos simples ls, cp, mv, rm, etc. Ejecución
Más detallesSistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
Más detallesProcesos y API. Rodolfo Baader. Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina
Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Sistemas Operativos, segundo cuatrimestre de 2016 (2) Dónde estamos Vimos... SO = administrador de recursos + interfaz
Más detallesProcesos en UNIX. LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale
LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Un proceso en Unix es un programa en ejecución que tiene los siguientes atributos: Área de código, Área de datos, Área de stack,
Más detalles1. Sistema Operativo Unix
. Sistema Operativo Unix. Introducción al S.O. Unix y su entorno.2 Subsistema de Archivos.3 Subsistema de Procesos.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad
Más detallesSISTEMAS. Ciclo 2014 Plan 2012
Lic. en Sistemas de Información SISTEMAS OPERATIVOS Ciclo 2014 Plan 2012 UNIDAD 2 (Parte A) PROCESOS y PLANIFICADOR DEL PROCESADOR ING. AGUILERA SERGIO OMAR ALGUNOS CONCEPTOS PROGRAMA: CONJUNTO DE OPERACIONES
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detallesSISTEMAS OPERATIVOS INTRODUCCIÓN. Pedro de Miguel Anasagast
SISTEMAS OPERATIVOS INTRODUCCIÓN Pedro de Miguel Anasagast INTRODUCCIÓN AL SISTEMA OPERATIVO MÁQUINA DESNUDA Máquina desnuda: Término que se aplica a un computador carente de sistema operativo. El término
Más detallesSistemas Operativos. Grado Ingeniería Informática. TGR Procesos.
Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. 1.-Considerar los siguientes procesos con los tiempos de llegadas, prioridades y ráfagas de cpu. Proceso Ráfaga de CPU Prioridad Tiempo
Más detallesEntrada y Salida de Archivos
Entrada y Salida de Archivos E/S Básica de Archivo El servicio básico es sin buffering, a diferencias de la E/S estándar (stdio.h), dado que las primeras generan llamadas al sistema (read y write). Son
Más detallesSistemas Operativos Primer Examen Parcial 13/07/15
Dpto. 1.- El siguiente código intenta representar la solución a la siguiente problemática: Un proceso crea un conjunto de procesos descendientes y le asigna a cada uno una tarea determinada, cada proceso
Más detallesNombre alumno: Ventajas: Inconvenientes:
Preguntas cortas (justifica todas las respuestas) (2 puntos) 1. Define qué es la buffer cache, qué tipo de información encontramos y cuál es su objetivo 2. Explica qué ventajas e inconvenientes tendría
Más detallesÁrea de Arquitectura y Tecnología de Computadores. Universidad Carlos III de Madrid SISTEMAS OPERATIVOS. Ejercicio. Programación en bash
Área de Arquitectura y Tecnología de Computares Universidad Carlos III de Madrid SISTEMAS OPERATIVOS Ejercicio. Programación en bash Gra de Ingeniería en Informática Curso 2016/2017 AUTORES (Nombre, Apellis,
Más detallesConcurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX
Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, había
Más detallesParticipantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
Más detallesHilos (threads) Realizado por M. Curiel
Hilos (threads) Realizado por M. Curiel Definiciones Un proceso es una entidad que posee 2 características importantes: - Recursos: un espacio de direcciones (programas, datos, pila y un PCB), archivos,
Más detallesTaller de Sistemas Operativos. Procesos 2012
Taller de Sistemas Operativos Procesos 2012 Agenda Introducción PCB (task_struct) Agrupaciones de procesos Estado de un proceso Cambio de proceso (task switch) Creación y destrucción de un proceso Threads
Más detallesApellidos: Nombre: DNI: Parte Sistema Ficheros (Se deben contestar correctamente todas las cuestiones de cada pregunta para puntuar la misma).
Apellidos: Nombre: DNI: Sistemas Operativos Grado Ingeniera Informática UDC. Julio 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Se
Más detallesProcesos e Hilos en C
Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.
Más detallesExamen 2015/16-1. Asignatura Código Fecha Hora inicio Sistemas operativos /01/ :00
grapa Examen 2015/16-1 75.097 23 01 16 EX Espacio para la etiqueta identificativa con el código personal del estudiante. Examen Ficha técnica del examen Comprueba que el código y el nombre de la asignatura
Más detallesProcesos e hilos y señales en C de GNU/Linux
Emilio José Calvo Carrasco Procesos e hilos y señales en C de GNU/Linux 1 de 12 Procesos e hilos y señales en C de GNU/Linux En este pequeño tutorial vamos a ver cómo se gestionan múltiples procesos y
Más detallesBoletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5.
Más detallesLINUX fork() execv() wait() exit() kill signal pipe creat close open read write fstat Chmod getuid, setuid, getgid setgid
LINUX El sistema operativo Linux nace en la Universidad de Helsinki, en Finlandia de las manos de Linux Trovalds que contaba con la ayuda de muchos colaboradores expertos en Unix. Este sistema operativo
Más detallesPRACTICA # 3 PROCESOS (CONTINUACION)
PRACTICA # 3 PROCESOS (CONTINUACION) 1. OBJETIVO Aprender cómo manipular procesos por medio de las funciones wait() y kill(); además del uso de señales del sistema Linux. 2. INTRODUCCIÓN Estados de un
Más detallesLinux 101 Gestión de Procesos
Gestión de Procesos Entendiendo el Kernel El kernel de linux es el corazón de todo sistema linux, es el encargado de que el software y el hardware puedan trabajar juntos. Administración de memoria para
Más detallesTema 2. Administración de procesos
Sistemas Operativos Tema 2. Administración de procesos Objetivo: El alumno identificará los tipos de procesos y sus estados. Describirá las diferentes técnicas de comunicación y sincronización de procesos
Más detallesSegundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas ( puntos) 1) En un sistema de ficheros basado en inodos a) Explica qué relación hay entre
Más detallesSistemas Operativos Tema 5. Procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 5. Procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Concepto de proceso Estructuras de datos: BCP y colas de procesos Niveles de planificación
Más detallesIntroducción a Sistemas Operativos: Ficheros
Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,
Más detallesLlamadas al Sistema para la Creación de Procesos
Llamadas al Sistema para la Creación de Procesos Transparencias realizadas por M. Curiel. Se utiliza material ya publicado en la WEB y elaborado por todos los prof. que hemos dado el curso. Llamada al
Más detallesConvivencia Gestión de Procesos
Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos
Más detallesUNIVERSIDAD DE BELGRANO FAC. ING. Y TECNOLOGIA INFORMATICA SISTEMAS OPERATIVOS UNIDAD 2 PROCESOS - CONCEPTOS
SISTEMAS OPERATIVOS UNIDAD 2 PROCESOS - CONCEPTOS Un elefante es un ratón con MVS como sistema operativo. (Anónimo) 1 PROCESO - CONCEPTOS PROGRAMA: CONJUNTO DE OPERACIONES APLICABLE A UN ESPACIO DE NOMBRES
Más detallesSISTEMAS OPERATIVOS PROCESOS. Pedro de Miguel Anasagast
SISTEMAS OPERATIVOS PROCESOS Pedro de Miguel Anasagast ÍNDICE Conceptos generales de procesos Multitarea Servidores y demonios Servicios UNIX de gestión de procesos Señales y temporizadores Servicios UNIX
Más detallesExamen Final de Teoría. Grupo de teoría:
Preguntas Cortas (2 puntos) 1. Respecto a la optimización de gestión de memoria CoW, explica brevemente: a. Qué soporte hardware utiliza el sistema para poder implementarla? b. Qué permisos aplica el sistema
Más detallesMonoalgorítmez: modelo funcional
Monoalgorítmez 1. Características 2. Modelo funcional Interfaz del usuario Interfaz del programador: llamadas al sistema 3. Modelo estructural Estructura del núcleo Proceso de arranque 4. Modelo procesal
Más detallesBoletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada
Más detallesINTRODUCCIÓN A LAS LLAMADAS AL SISTEMA OPERATIVO UNIX
INTRODUCCIÓN A LAS LLAMADAS AL SISTEMA OPERATIVO UNIX Introducción de llamadas al sistema operativo UNIX ÍNDICE 1.- Introducción 2.- Conceptos generales Ficheros Programas y procesos Identificadores de
Más detallesSegundo control de teoría Q1
Segundo control de teoría --Q JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO : Preguntas cortas ( puntos) ) En un sistema de ficheros basado en inodos a) Explica
Más detallesUnidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo
Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo Hilo (theread) llamado también proceso ligero o subproceso, es la unidad de ejecución de un proceso y esta asociado con una secuencia
Más detallesPRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS
PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS v1.3.0 Rodrigo García Carmona Antes de empezar la práctica, copia los ficheros que se encuentran en la carpeta SOS-Practica_1-Materiales al directorio
Más detallesCapítulo 2 Introducción a los sistemas operativos
Sistemas operativos: una visión aplicada Capítulo 2 Introducción a los sistemas operativos Contenido Qué es un sistema operativo? Arranque del computador Componentes y estructura de un sistema operativo
Más detallesSistemas Operativos Primer Parcial Tema2
Dpto. 1: Realice la gráfica de la estructura de procesos generada por el siguiente código, en la gráfica asigne PID a cada proceso. (2) int n = 4;pid_t pid; while( n!= 0){ if ( pid == 0 ) break; n--; return
Más detallesGestión de procesos en Linux
Gestión de procesos en Linux Un proceso en Linux es, en resumen, un programa en ejecución. Un proceso puede crear a su vez otros procesos. Al proceso que genera otro proceso se le llama proceso padre.
Más detallesConcurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Más detallesApellidos: Nombre: DNI:
Apellidos: Nombre: DNI: Sistemas Operativos Grado Ingeniera Informática UDC. Junio 2017 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Se
Más detallesRedirecciones y Tuberías
Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen
Más detallesProcesos. Procesos. Sistemas Operativos Procesos KMC 2017
Procesos Procesos Concepto de Proceso Planificación de Proceso Operaciones sobre Procesos Comunicaciones Interprocesos (IPC) Ejemplos de Sistemas de IPC Comunicación en un Sistema Cliente-Servidor 1 Concepto
Más detallesPrácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 5: Señales Curso 2006/07 Índice 1. Introducción 2 2.
Más detallesProgramación Aplicada
Programación Aplicada Clase 11: Manipulación de PROCESOS en LINUX Nombre unidad de aprendizaje: Programación avanzada de SCRIPTS Escuela de Informática y Telecomunicaciones 2008, DuocUC Objetivos Objetivos
Más detallesTEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Más detallesLlamadas a Sistema para procesos
Llamadas a Sistema para procesos SistOp 2012 Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 5 de Septiembre de 2012 El Cajón de Arena: los procesos Comandos simples con y sin background
Más detallesFunciones POSIX III Funciones POSIX III. No Nombrados Nombrados. sem_open sem_open. sem_close sem_close. sem_unlink sem_unlink
Funciones POSIX III Funciones POSIX III Sincronización Sincronización Procesos Procesos Semáforos Semáforos (sem_t) (sem_t) Sincronización Sincronización Threads Threads Mutex Mutex (pthread_mutex_t) (pthread_mutex_t)
Más detallesSISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS. Servicios del Sistema Operativo
SISTEMAS OPERATIVOS: INTRODUCCIÓN Y CONCEPTOS BÁSICOS Servicios del Sistema Operativo ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo
Más detallesCap.2. Kernel Sistemas Operativos - Viña del Mar.
Cap.2. Kernel Sistemas Operativos - Viña del Mar. Maximiliano Osorio mosorio@inf.utfsm.cl Universidad Técnica Federico Santa Maria 19 de agosto de 2017 1 / 44 Tabla de contenidos 1 Proceso Protección de
Más detallesLlamadas al sistema de ficheros
Universidad Carlos III de Madrid Departamento de Informática Área de Arquitectura y Tecnología de Computadores Grado en Ingeniera Informática SISTEMAS OPERATIVOS Práctica 3. Llamadas al sistema de ficheros
Más detalles