Sistemas operativos. Procesos en Unix

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sistemas operativos. Procesos en Unix"

Transcripción

1 Sistemas operativos. Procesos en Unix Grado en Inforática. 2014/2015 Departamento de Computación Facultad de Informática Universidad de Coruña Antonio Yáñez Izquierdo (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 1 / 243

2 Contenidos I Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante Procesos en UNIX Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 2 / 243

3 Contenidos II Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos Planificación Planificación en sistemas unix tradicionales Planificación en System V R4 Planificación en linux Llamadas al sistema para el manejo de la prioridad nice() getpriority() y setpriority() rtprio priocntl() llamadas POSIX Creación y terminación de procesos fork() (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 3 / 243

4 Contenidos III exec exit() Espera por la terminación de un proceso hijo Señales System V R2 Señales en System V R3 Señales en BSD Señales en System V R4 Señales en System V R4: implementación Comunicación entre procesos pipes memoria compartida semáforos colas de mensajes Apéndice I: Ejemplos de estructuras proc (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 4 / 243

5 Contenidos IV SystemV R3 BSD System V R4 Apéndice II: Ejemplos de u area System V R3 BSD System V R4 Apendice III: Estructura task struct linux 2.6 (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 5 / 243

6 Introducción sistema operativo UNIX Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 6 / 243

7 Introducción sistema operativo UNIX Estándares Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 7 / 243

8 Antecedentes Introducción sistema operativo UNIX Estándares El término UNIX es un término genérico que agrupa a una serie de sistemas operativos distintos Existen muchas variedades de unix, algunas comerciales y otras libres (linux, solaris, aix, freebsd... ) Cada una de ellas puede o no cumplir determinados estándares, que afectan tanto a las funcionalidades como a la implementación o a la interfaz con el sistema Los estándares principales son System V BSD POSIX (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 8 / 243

9 Introducción sistema operativo UNIX Estándares (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 9 / 243

10 Introducción sistema operativo UNIX Estándares (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 10 / 243

11 Introducción sistema operativo UNIX Inicialización del sistema Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 11 / 243

12 Introducción sistema operativo UNIX Inicialización del sistema El núcleo reside en un fichero (/unix, /vmunix, /vmlinuz, /bsd, /vmlinuz, /kernel.generic..) que se carga al arrancar la máquina (procedimiento bootstrap) El núcleo (kernel) inicializa el sistema y crea el entorno para que se ejecuten los procesos y crea unos pocos procesos que a su vez crearán el resto. INIT (proceso con pid 1) es el primer proceso de usuario y antecesor del resto de procesos de usuario en el sistema El núcleo (kernel) de UNIX interactua con el hardware Los procesos interactuan con el núcleo a través de la interfaz de llamadas al sistema (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 12 / 243

13 Introducción sistema operativo UNIX Inicialización del sistema freebsd 4.9 USER PID PPID PGID SESS JOBC STAT TT COMMAND root c0326e60 0 DLs?? (swapper) root c08058c0 0 ILs?? /sbin/init -- root c0326e60 0 DL?? (taskqueue) root c0326e60 0 DL?? (pagedaemon) root c0326e60 0 DL?? (vmdaemon) root c0326e60 0 DL?? (bufdaemon) root c0326e60 0 DL?? (syncer) root c0326e60 0 DL?? (vnlru) root c08509c0 0 Ss?? /sbin/natd -n ed0 root c085cd80 0 Is?? /usr/sbin/syslogd -s root c Is?? mountd -r root c Is?? nfsd: master (nfsd) root c I?? nfsd: server (nfsd) (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 13 / 243

14 Introducción sistema operativo UNIX Inicialización del sistema linux 2.4 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY CMD 4 S select? init 1 S contex? keventd 1 S ksofti? ksoftirqd_cpu 1 S kswapd? kswapd 1 S bdflus? bdflush 1 S kupdat? kupdated 4 S select? udevd 1 S down_i? knodemgrd_0 1 S ?? khubd 1 S select? syslogd 5 S syslog? klogd 1 S select? dirmngr 5 S select? inetd (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 14 / 243

15 solaris 7 sparc Introducción sistema operativo UNIX Inicialización del sistema F S UID PID PPID C PRI NI SZ TTY CMD 19 T SY 0? sched 8 S ? init 19 S SY 0? pageout 19 S SY 0? fsflush 8 S ? Xsun 8 S ? rpcbind 8 S ? sac 8 S ? devfseve 8 S ? devfsadm 8 S ? automoun 8 S ? lockd 8 S ? syslogd 8 S ? in.named 8 S ? lpsched 8 S ? cron 8 S ? inetd 8 S ? dtlogin (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 15 / 243

16 Introducción sistema operativo UNIX Introducción sistema operativo UNIX Estructura y conceptos generales Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 16 / 243

17 Introducción sistema operativo UNIX Estructura y conceptos generales El núcleo (kernel) de unix se ejecuta directamente en el hardware de la máquina Los procesos de usuario no interactúan directamente con el hardware del sistema, sino que lo hacen a través del kernel mediante la interfaz de llamadas al sistema El kernel recibe peticiones de atención de los dispositivos mediante las interrupciones (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 17 / 243

18 Introducción sistema operativo UNIX Estructura y conceptos generales (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 18 / 243

19 Introducción sistema operativo UNIX Estructura y conceptos generales Modo kernel y modo usuario En UNIX son necesarios dos modos de ejecución modo usuario se ejecuta el código de usuario modo kernel se ejecutan las funciones del kernel 1. Llamadas al sistema: Los procesos de usuario solicitan servicios explicitamente a través de la interfaz de llamadas al sistema. 2. Excepciones: Situaciones excepcionales (división por 0, errores de direccionamiento..) causan excepciones hardware que requieren intervención del kernel. 3. Interrupciones: Los dispositivos periféricos interrumpen para notificar al kernel de diversos sucesos (terminación de e/s, cambio de estado..) Algunas instrucciones hardware solo pueden ser ejecutadas en modo kernel. (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 19 / 243

20 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos El comando del sistema time nos muestra los tiempos de CPU (en modo kernel y modo usuario de un proceso) Consideremos el siguiente ejecutable main() { while (1); } Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.417s user 0m25.360s sys 0m0.010s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 20 / 243

21 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos Con el siguiente bucle de llamadas a getpid main() { while (1) getpid(); } Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m24.362s user 0m16.954s sys 0m7.380s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 21 / 243

22 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos Enviando una señal al propio proceso main() { pid_t pid=getpid(); } while (1) kill (pid, 0); Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.434s user 0m11.486s sys 0m13.941s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 22 / 243

23 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos Enviándole SIGINT al proceso init main() { } while (1) kill (1, SIGINT); Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.221s user 0m9.199s sys 0m16.014s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 23 / 243

24 Introducción sistema operativo UNIX Ejecución en modo kernel: ejemplos Estructura y conceptos generales Producimos una excepción en tiempo de ejecución (derreferenciamos NULL) e instalamos un manejador vacío para SIGSEGV void vacio(int sig) { } main() { int *p; } sigset(sigsegv,vacio); p=null; *p=3; Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.853s user 0m10.331s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 24 / 243

25 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos Repetimos el primer ejemplo pero moviendo el ratón y pulsando teclas continuemente durante los 25 segundos main() { while (1); } Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.453s user 0m25.326s sys 0m0.039s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 25 / 243

26 Introducción sistema operativo UNIX Estructura y conceptos generales Ejecución en modo kernel: ejemplos Consideremos ahora este programa main() { struct timespec t; t.tv_sec=0;t.tv_nsec=1000; } while (1) nanosleep (&t, NULL); /*1 milisegundo*/ Al cabo de 25 segundos de ejecución el comando time nos muestra real 0m25.897s user 0m0.006s sys 0m0.022s (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 26 / 243

27 Introducción sistema operativo UNIX Procesos y threads Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 27 / 243

28 Procesos y threads Introducción sistema operativo UNIX Procesos y threads En un sistema UNIX tradicional un proceso viene definido por espacio de direcciones: Conjunto de direcciones de memoria que el proceso puede referenciar. punto de control del proceso: que indica cual es la siguiente instrucción a ejecutar utilizando un registro hardware que se llama C.P. En un sistema UNIX moderno puede haber varios puntos de control (threads) los threads (hilos o hebras) comparten el mismo espacio de direcciones (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 28 / 243

29 Introducción sistema operativo UNIX Espacios de direcciones Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 29 / 243

30 Introducción sistema operativo UNIX Espacio de direcciones Espacios de direcciones Los procesos manejan direcciones virtuales de memoria. Una parte de este espacio corresponde al código y los datos del kernel. Se llama system space o kernel space El system space solo puede ser accedido en modo kernel El kernel mantiene estructuras de datos globales estructuras de datos específicas de cada proceso El espacio de direcciones del proceso actual es accesible directamente pues los registros de la MMU tienen la información necesaria. (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 30 / 243

31 Introducción sistema operativo UNIX Mapa de memoria en linux 32 bits Espacios de direcciones 0xc x brk end data end code 0x the invisible kernel initial stack room for stack grouth shared libraries unused malloc memory uninitialized data initialized data text (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 31 / 243

32 Introducción sistema operativo UNIX Espacios de direcciones Mapa de memoria en solaris para sparc (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 32 / 243

33 Introducción sistema operativo UNIX kernel (núcleo) reentrante Introducción sistema operativo UNIX Estándares Inicialización del sistema Estructura y conceptos generales Procesos y threads Espacios de direcciones kernel (núcleo) reentrante (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 33 / 243

34 kernel unix Introducción sistema operativo UNIX kernel (núcleo) reentrante El kernel de unix es un programa en C, en el que distinguimos código del kernel: lo que se ejecuta cuando el proceso está en modo kernel (código de las llamadas al sistema, manejadores de las interrupciones y excepciones) datos del kernel: variables globales del kernel, accesibles por todos los procesos, por ejemplo: tabla de procesos, tabla de inodos en memoria, tabla de ficheros abiertos del sistema... pila del kernel: zona de memoria que se utiliza como pila cuando el proceso se ejecuta en modo kernel: paso de argumentos entre funciones del kernel, variables locales de funciones del kernel... (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 34 / 243

35 kernel reentrante Introducción sistema operativo UNIX kernel (núcleo) reentrante el kernel de unix es reentrante varios procesos pueden estar ejecutando simultáneamente distintas funciones del kernel varios procesos pueden estar ejecutando simultáneamente la misma funcion del kernel requisitos para que el kernel (núcleo) sea reentrante: código del kernel es de solo lectura datos (variables globales) del kernel protegidos de accesos cocurrentes cada proceso tiene su propia pila del kernel (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 35 / 243

36 Introducción sistema operativo UNIX kernel (núcleo) reentrante kernel reentrante: protección de los datos de kernel Aproximación tradicional (non preemptible kernel) Un proceso que ejecuta en modo kernel no puede ser apropiado, solo puede abandonar la CPU si termina, pasa a espera o vuelve a modo usuario Solo es necesario proteger algunas estructuras del kernel (las susceptibles de ser utilizadas por procesos con esperas de por medio) La protección de estas estructuras es sencilla, bastaría con una marca de libre/ocupado Kernel apropiable (preemptible kernel) Un proceso en modo kernel puede ser expulsado de la CPU si aparece listo un proceso de más prioridad deben protegerse TODAS las estructuras del kernel con medios mas sofisticados (p.e. un semáforo) Es sistemas multiprocesador los mecanismos de protección son más complejos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 36 / 243

37 Procesos en UNIX Procesos en UNIX Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 37 / 243

38 Procesos en UNIX Procesos en UNIX Conceptos generales Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 38 / 243

39 Procesos en UNIX Conceptos generales proceso: instancia de un programa en ejecución proceso: entidad que ejecuta un programa y proporciona un entorno de ejecución para él; en concreto un espacio de direcciones y uno (o varios) puntos de control un proceso tiene un tiempo de vida definido se crea mediante la llamada fork() (o vfork()) termina mediante exit() puede ejecutar un programa mediante alguna de las llamadas de la familia exec() (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 39 / 243

40 Procesos en UNIX Conceptos generales todo proceso tiene un proceso padre un proceso puede tener varios procesos hijos estructura jerárquica en forma de arbol con el proceso init como tronco si un proceso termina antes que sus procesos hijos estos pasan a ser heredados por init (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 40 / 243

41 Procesos en UNIX Conceptos generales Ejemplo de árbol de procesos obtenido con pstree (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 41 / 243

42 Procesos en UNIX Procesos en UNIX Estados de un proceso Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 42 / 243

43 Procesos en UNIX Estados de un proceso Estados de un procesos en SystemV R2 inicial (idle): El proceso está siendo creado pero todavía no está listo para ejecición listo (runnable, ready to run) en espera (blocked, asleep). Tanto en este estado, como en el anterior, el proceso puede estar en la memoria principal o en el intercambio (swapped) ejecución modo usuario (user running) ejecución modo kernel (kernel running) zombie: El proceso ha terminado pero su proceso padre no ha hecho wait(), con lo que no se ha vaciado su entrada en la tabla de procesos y para el sistema el proceso sigue existiendo. (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 43 / 243

44 Procesos en UNIX Estados de un proceso A partir de 4.2BSD hay un nuevo estado: parado (stopped) Puede ser parado en espera o parado listo Se llega al estado de parado al recibir una de las siguientes señales SIGSTOP SIGTSTP ctrl-z SIGTTIN SIGTTOU Se sale de él mediante la señal SIGCONT (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 44 / 243

45 Procesos en UNIX Estados de un proceso La ejecución de un proceso comienza en modo kernel Las transiciones de ejecución a espera son desde ejecución en modo kernel Las transiciones de ejecución a listo son desde ejecución en modo kernel Un proceso termina desde ejecución en modo kernel Cuando un proceso termina, queda en estado zombie hasta que su padre hace una de las llamadas wait (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 45 / 243

46 Procesos en UNIX (Antonio Ya n ez Izquierdo) Estados de un proceso Sistemas operativos. Procesos en Unix 46 / 243

47 Procesos en UNIX Estados de un proceso (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 47 / 243

48 Procesos en UNIX Estados de un proceso (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 48 / 243

49 Procesos en UNIX Procesos en UNIX Implementación del concepto de proceso Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 49 / 243

50 Procesos en UNIX Implementación de procesos I Implementación del concepto de proceso Para implementar el concepto de proceso, unix utiliza una serie de conceptos y estructuras contienen la información necesaria para ejecutar un programa Espacio de direcciones de usuario. Usualmente formado por texto (código), datos, pila, regiones de memoria compartida, ficheros mapeados... Información de control. estructura proc u area pila del kernel mapas de traslación de direcciones credenciales. Indican que privilegios tiene el proceso. variables de entorno. Proporcionan un método para proporcionar información al proceso (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 50 / 243

51 Procesos en UNIX Implementación del concepto de proceso Implementación de procesos II contexto hardware Los contenidos de los registros hardware (PC, PSW, SP, registros de FPU y MMU... ). Cuando hay un cambio de contexto se guardan en una parte de la u area llamada PCB (Process Control Block) Algunas de estas entidades, aunque conceptualmente distintas comparten implementación: por ejemplo, la pila del kernel suele implementarse como parte de la u area, y las credenciales figuran en la estructura proc En linux, en lugar de u area y estructura proc existe la estructura task struct que el kernel de linux utiliza para guardar la información de los procesos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 51 / 243

52 Procesos en UNIX Procesos en UNIX Estructura proc Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 52 / 243

53 Procesos en UNIX Estructura proc estructura proc El kernel mantiene un array de estructuras proc llamado proccess table Está en el espacio de datos del kernel La estructura proc de un proceso es siempre visible para el kernel, incluso cuando el proceso no está en CPU Contiene la información del proceso que es necesaria en todo momento (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 53 / 243

54 Procesos en UNIX Estructura proc alguna información relevante en estructura proc identificación del proceso localización de la u area (mapa de direcciones) estado del proceso punteros para cola de planificación, espera... prioridad e información relacionada sleep channel información sobre las señales (máscaras) información manejo de memoria punteros mara mantener estructura en lista de activas, espera, zombies... punteros para cola hash basada en PID información de jerarquía flags (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 54 / 243

55 Procesos en UNIX Procesos en UNIX u area Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 55 / 243

56 Procesos en UNIX u area u area está en el espacio de usuario: solo está accesible cuando el proceso está en CPU siempre en la misma dirección virtual (el cambio de contexto realiza esta traslación) contiene información que es necesaria solamente cuando el proceso está en CPU (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 56 / 243

57 Procesos en UNIX u area alguna información relevante en u area PCB puntero a la estructuta proc argumentos y valores devueltos por la llamada al sistema información de señales: manejadores TDFU (tabla de descriptores de fichero de usuario) punteros a vnodos de directorio raíz, directorio actual y terminal asociada al proceso. pila del kernel del proceso (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 57 / 243

58 Procesos en UNIX Procesos en UNIX Credenciales Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 58 / 243

59 credenciales Procesos en UNIX Credenciales Las credenciales de un proceso permiten al sistema determinar que privilegios tiene el proceso para el acceso a los ficheros del disco y en relación con otros procesos en el sistema cada usuario en el sistema es identificado por un número: user id o uid cada grupo en el sistema es identificado por un número: group id o gid hay un usuario especial en el sistema: root (uid=0) puede acceder a todos los ficheros puede enviar señales a todos los procesos puede realizar las llamadas al sistema privilegiadas (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 59 / 243

60 atributos de los ficheros Procesos en UNIX Credenciales un fichero tiene tres atributos que condicionan como pueden acceder a él los distintos procesos propietario: (uid del fichero) grupo: (gid del fichero) permisos: (modo del fichero) (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 60 / 243

61 credenciales y privilegios Procesos en UNIX Credenciales un proceso tiene las credenciales, que especifican a qué ficheros puede acceder y para qué y a que procesos puede enviar señales (y de qué procesos las puede recibir) credencial de usuario (uid del proceso) credencial de grupo (gid del proceso) Si un proceso intenta acceder a un archivo se procede de la siguiente manera si credencial de usuario del proceso coincide con propietario del fichero: se aplican permisos de propietario si credencial de grupo del proceso coincide con grupo del fichero: se aplican permisos de grupo en otro caso se aplican los permisos de resto (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 61 / 243

62 credenciales y privilegios Procesos en UNIX Credenciales en realidad un proceso tiene tres pares de credenciales: real, efectiva y salvada credenciales efectivas: condicionan el acceso a los ficheros credenciales reales y efectivas: determinan que señales pueden ser enviadas (en todos los sistemas se admite el envío de una se ñal si uid real o efectiva del proceso que envía coincide con uid real del proceso que recibe) credenciales salvadas y reales: determinan que cambios puede hacer el proceso en la credencial efectiva con las llamadas setuid y setgid (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 62 / 243

63 cambio de credenciales Procesos en UNIX Credenciales en Unix hay sólo tres llamadas que cambian la credencial setuid() Cambia la credencial de usuario del proceso que llama a setuid setgid() Cambia la credencial de grupo del proceso que llama a setgid exec(): Ejecuta un programa (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 63 / 243

64 cambio de credenciales Procesos en UNIX Credenciales setuid() Cambia la credencial efectiva de usuario del proceso que llama a setuid. Los únicos cambios que se permiten es efectiva=real o efectiva=salvada. Si el proceso tiene la credencial efectiva del root setuid cambia las tres credenciales setgid() Análoga a setuid() pero para las credenciales de grupo (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 64 / 243

65 cambio de credenciales Procesos en UNIX Credenciales las llamadas exec (execl, execv, execlp, execve... ) pueden cambiar las credenciales del proceso que llama a exec si el fichero ejecutable tiene unos permisos especiales 1. exec() sobre un ejecutable con permisos **s****** cambia los uid efectivo y salvado del proceso que hace exec() a los del propietario del ejecutable 2. exec() sobre un ejecutable con permisos *****s*** cambia los gid efectivo y salvado del proceso que hace exec() a los del propietario del ejecutable (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 65 / 243

66 Procesos en UNIX Procesos en UNIX Variables de entorno Conceptos generales Estados de un proceso Implementación del concepto de proceso Estructura proc u area Credenciales Variables de entorno Ejecución en modo kernel Ejecución en modo kernel: Interrupción Ejecución en modo kernel: Llamada al sistema Ejecución en modo kernel: Recursos (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 66 / 243

67 variables de entorno Procesos en UNIX Variables de entorno son cadenas de caracteres usualmente tienen la forma NOMBREVARIABLE=valorvariable colocadas al final de la pila de usuario varias maneras de acceder tercer argumento de main(): array de punteros a las variables de entorno. El último puntero es NULL extern char ** environ: array de punteros a las variables de entorno. El último puntero es NULL funciones de libreria. putenv(), getenv(), setenv(), unsetenv() (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 67 / 243

68 variables de entorno Procesos en UNIX Variables de entorno A continuación veremos el código y la salida de varios ejemplos Ejemplo 1 1. Muestra los argumentos de ĺınea de comando 2. Muestra las variables de entorno accedidas por el tercer argumento de main 3. Muestra el valor y la dirección donde se almacenan el tercer argumento de main y de la variable externa environ 4. Muestra las variables de entorno accedidas mediante environ 5. Muestra el valor y la dirección donde se almacenan el tercer argumento de main y la variable externa environ (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 68 / 243

69 Procesos en UNIX variables de entorno: ejemplo 1 Variables de entorno /**entorno.c**/ #include <stdio.h> extern char ** environ; void MuestraEntorno (char **entorno, char * nombre_entorno) { int i=0; while (entorno[i]!=null) { printf ("%p->%s[%d]=(%p) %s\n", &entorno[i], nombre_entorno, i,entorno[i],entorno[i]); i++; } } main (int argc, char * argv[], char *env[]) { int i; for (i=0; i<argc; i++) printf ("%p->argv[%d]=(%p) %s\n", &argv[i], i, argv[i], argv[i]); printf ("%p->argv[%d]=(%p) \n", &argv[argc], argc, argv[argc]); printf ("%p->argv=%p\n%p->argc=%d \n", &argv, argv, &argc, argc); MuestraEntorno(env,"env"); printf("%p->environ=%p\n%p->env=%p \n", &environ, environ, &env, env); MuestraEntorno(environ,"environ"); printf("%p->environ=%p\n%p->env=%p \n", &environ, environ, &env, env); (Antonio Yáñez Izquierdo) Sistemas operativos. Procesos en Unix 69 / 243

1. Sistema Operativo Unix

1. 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 detalles

Sistemas Operativos Práctica 3

Sistemas 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 detalles

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

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Administración de Redes

Administración de Redes Administración de Redes PROCESOS EN LINUX Profesor Carlos Figueira Departamento de Computación y T. I. USB Grandes objetivos de un Sistema de Operación (SO) Intercalar ejecución de varios procesos para

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1 Procesos Procesos Mario Medina mariomedina@udec.cl El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización

Más detalles

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

Más detalles

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas 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 detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.

Más detalles

Gestión de procesos DEFINICIONES DE PROCESOS

Gestión de procesos DEFINICIONES DE PROCESOS DEFINICIONES DE PROCESOS Gestión de procesos Un programa en Ejecución. Una instancia de un programa ejecutándose en un computador. La entidad que se puede asignar o ejecutar en un procesador. Una unidad

Más detalles

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

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

Estructuras de Sistemas Operativos

Estructuras de Sistemas Operativos Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar

Más detalles

Tema 2: Implementación del núcleo de un Sistema Operativo

Tema 2: Implementación del núcleo de un Sistema Operativo Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema

Más detalles

Examen de Fundamentos de sistemas distribuidos

Examen de Fundamentos de sistemas distribuidos Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en

Más detalles

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente: (3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores

Más detalles

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación

Más detalles

Contenido. Procesos. Programas/Procesos. Programas/Procesos. Por qué hacer uso de los Procesos? Proceso

Contenido. Procesos. Programas/Procesos. Programas/Procesos. Por qué hacer uso de los Procesos? Proceso Contenido Procesos Qué es un Proceso? Qué información requiere el Sistema de Operación para manejar los procesos? Programas/Procesos Programas/Procesos Un proceso es diferente a un programa Programa: Código

Más detalles

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

Más detalles

Procesos. Planificación del Procesador.

Procesos. Planificación del Procesador. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:

Sea el siguiente programa de nombre c0p1 para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide: Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo

Más detalles

Requerimientos principales de un sistema operativo

Requerimientos principales de un sistema operativo Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10)

Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Calendario Comienzo: Lunes 19 de octubre y miércoles 21 de octubre. Entrega: 2 de noviembre y 4 de noviembre,

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

Procesos, hilos y Recursos

Procesos, hilos y Recursos Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 Process Manager Procesos Clasicos Procesos Modernos Process Manager Objetivo El manejador de procesos provee un espectro de servicios

Más detalles

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005 Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. WINDOWS Windows, Es un Sistema Operativo. Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. Dentro de los tipos de Software es un tipo de software de Sistemas. Windows

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas:

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas: 1 Introducción LABORATORIO 2 En esta tarea se desea implementar un servicio sincronización de procesos a través de semáforos binarios con prioridad para el sistema operativo Linux. Para esto se deberá

Más detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

Capítulo 4 Gestión de memoria

Capítulo 4 Gestión de memoria Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos 1.- Notas y criterios para los problemas de planificación NOTA GENERAL: Normalmente los enunciados no son rigurosamente completos,

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

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.

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. El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.

Más detalles

Tema 6. Gestión de la memoria

Tema 6. Gestión de la memoria Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos

Más detalles

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co Sistemas de archivos distribuidos Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la

Más detalles

Introduccion 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 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 detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

V i s i t a V i r t u a l e n e l H o s p i t a l

V i s i t a V i r t u a l e n e l H o s p i t a l V i s i t a V i r t u a l e n e l H o s p i t a l Manual de Restauración del PC Septiembre 2011 TABLA DE CONTENIDOS SOBRE EL SOFTWARE... 3 CONSIDERACIONES ANTES DE RESTAURAR... 4 PROCEDIMIENTO DE RECUPERACION...

Más detalles

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2014 Planificación Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Sistemas Operativos. Curso 2015 Planificación

Sistemas Operativos. Curso 2015 Planificación Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

Gestió n de Certificadó Digital

Gestió n de Certificadó Digital Gestió n de Certificadó Digital Contenido Introducción... 2 Exportar certificado... 5 Importar certificado... 8 Renovar el Certificado... 10 1 Introducción Los certificados digitales o certificados de

Más detalles

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa Memoria Virtual Capítulo 8 Hardware y Estructuras de Control Las referencias de memoria se traducen a direcciones físicas dinámicamente en tiempo de ejecución Un proceso puede ser intercambiado hacia dentro

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

Examen de Arquitectura de Computadores

Examen de Arquitectura de Computadores Examen de Arquitectura de Computadores Examen del primer parcial Ingeniería de Telecomunicación 21 de febrero de 2003 El examen consta de dos partes: Normas PARTE PRIMERA (40 % de la calificación final)

Más detalles

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC Temporizadores y contadores en tiempo real: El módulo Timer0 y el aler del PIC 1. Introducción...1 2. Estructura del Timer0...1 3. Funcionamiento del Timer0...2 3.1. Entrada de reloj del modulo Timer0...

Más detalles

Hi-Spins. Hi-Spins - Novedades v.10.2.0 10.2.2

Hi-Spins. Hi-Spins - Novedades v.10.2.0 10.2.2 Hi-Spins Hi-Spins - Novedades 10.2.2 Tabla de contenido Hi-Spins Consulta Renovación de la presentación gráfica................................... 3 Visualización compacta de dimensiones en ventana de

Más detalles

SINAC - Sistema de Información Nacional de Agua de Consumo MENU PRINCIPAL. Copyright Ministerio de Sanidad y Consumo

SINAC - Sistema de Información Nacional de Agua de Consumo MENU PRINCIPAL. Copyright Ministerio de Sanidad y Consumo SINAC - Sistema de Información Nacional de Agua de Consumo MENU PRINCIPAL Copyright Ministerio de Sanidad y Consumo 1. MENU PRINCIPAL DE SINAC... 3 1.1. MÓDULO ABRIR... 5 1.2. MÓDULO DE ENTRADAS... 6 1.2.1.

Más detalles

SISTEMA DE CONTROL DE PRESENCIA

SISTEMA DE CONTROL DE PRESENCIA SISTEMA DE CONTROL DE PRESENCIA 1 SISTEMA DE CONTROL DE PRESENCIA 1 1 GENERALIDADES DE LA APLICACIÓN 3 2 SEGURIDAD Y ACCESO AL PROGRAMA 7 2.1 Mantenimiento de usuarios 7 2.2 Perfiles 9 3 GESTIÓN DE EMPRESAS

Más detalles

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos. ESTRUCTURA DEL SISTEMA DE ARCHIVOS 1. Introducción. En la unidad anterior se esbozó mediante la explicación de los formatos del disco duro, distintos tipos de sistemas de archivos: FAT16, FAT32, NTFS y

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Procesos 1 / 31. Para entender el concepto de hebra, necesitamos compreender el concepto de proceso

Procesos 1 / 31. Para entender el concepto de hebra, necesitamos compreender el concepto de proceso Procesos 1 / 31 Concepto de proceso Para entender el concepto de hebra, necesitamos compreender el concepto de proceso Un proceso es un programa en ejecución Una instancia de un programa corriendo en un

Más detalles

Person IP CRM Manual MOBILE

Person IP CRM Manual MOBILE Manual MOBILE División Informática BuscPerson Telecomunicaciones : Manual MOBILE 0.- Introducción 3 0.1 Configuración de los terminales 3 0.2 Acceso de Usuarios 3 1.- Funcionalidades CRM 5 1.1 Agenda del

Más detalles

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA Proveedores PLATAFORMA FACTURACIÓN ELECTRÓNICA PARA PROVEEDORES DE LA JUNTA DE COMUNIDADES DE CASTILLA LA MANCHA. Índice 1. INTRODUCCIÓN... 3 2. ACCESO A LA PLATAFORMA

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

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

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4) Índice Procesos Gustavo Romero 1 Definición 2 Control Arquitectura y Tecnología de Computadores 14 de febrero de 2014 3 Estado 4 IPC Gustavo Romero Procesos (1/50) Gustavo Romero Procesos (2/50) Lecturas

Más detalles

Para detalles y funcionalidades ver Manual para el Administrador

Para detalles y funcionalidades ver Manual para el Administrador Qué es Gemelo Backup Online EMPRESA? Es una solución de administración y respaldo diseñada para Empresas que desean controlar y proteger su información de forma simple, segura y confiable. Se define un

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación. EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Medición y comparación de prestaciones

Medición y comparación de prestaciones Evaluación y Explotación de Sistemas Informáticos Medición y comparación de prestaciones Problemas Considérese un sistema informático (con palabras de 32 bits) en el que la activación de un monitor software

Más detalles

Manual de usuario de IBAI BackupRemoto

Manual de usuario de IBAI BackupRemoto Manual de usuario de IBAI BackupRemoto Índice Cliente de IBAI BackupRemoto... 3 Descarga del cliente de IBAI BackupRemoto... 4 Instalación del cliente de IBAI BackupRemoto... 5 Instalación sobre Microsoft

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA BÁSICA DE USO DEL SISTEMA RED SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD

Más detalles

Taller de sistemas operativos PLANIFICADOR

Taller de sistemas operativos PLANIFICADOR Taller de sistemas operativos PLANIFICADOR Agenda Introducción Clases de planificación Prioridades Timeslice Prioridad dinámica Estructuras del planificador Planificador en funcionamiento Nuevo planificador

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

I. T. en Informática de Sistemas. Facultad de Informática

I. T. en Informática de Sistemas. Facultad de Informática I. T. en Informática de Sistemas. Facultad de Informática Construcción de Software Caso práctico para clase Modelo de casos de uso Objetivos del proyecto Los dos grandes objetivos de este proyecto son

Más detalles

Práctica 00: Compilador

Práctica 00: Compilador Práctica 00: Compilador El objetivo de esta práctica es aprender a utilizar el compilador y el entorno de desarrollo instalado en las aulas de la Escuela Técnica Superior de Ingeniería ICAI. 1. Compiladores

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux Sistemas operativos: una visión aplicada Capítulo 11 Estudio de casos: Linux Contenido Historia de Linux Características y estructura de Linux Gestión de procesos Gestión de memoria Entrada/salida Sistema

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

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

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles