Llamadas a Sistema para procesos
|
|
- Ana Belén Martín Farías
- hace 6 años
- Vistas:
Transcripción
1 Llamadas a Sistema para procesos SistOp 2012 Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 5 de Septiembre de 2012
2 El Cajón de Arena: los procesos Comandos simples con y sin background Comandos simples con redirección Pipelines Consejos
3 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo
4 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás
5 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop!
6 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos
7 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos Si le mandamos el comando 0x2a en el Diskette Control Register, o sea un simple out(0x2a, 0x3f7) quemamos el motor del floppy por sobrespinning
8 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos Si le mandamos el comando 0x2a en el Diskette Control Register, o sea un simple out(0x2a, 0x3f7) quemamos el motor del floppy por sobrespinning Nop!
9 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos Si le mandamos el comando 0x2a en el Diskette Control Register, o sea un simple out(0x2a, 0x3f7) quemamos el motor del floppy por sobrespinning Nop! El sistema operativo brinda toda la memoria para cada proceso
10 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos Si le mandamos el comando 0x2a en el Diskette Control Register, o sea un simple out(0x2a, 0x3f7) quemamos el motor del floppy por sobrespinning Nop! El sistema operativo brinda toda la memoria para cada proceso Las máquinas del Lab tienen 2GB, hago un malloc(15gb) y listo, queda inutilizadas
11 Juan el Ingenuo y sus pretensiones de hacker La memoria es plana y el kernel está abajo de todo Escribamos un programa que a partir de la dirección de una función que esté primero, empiece a pisar todo para atrás Nop! En assembler podemos acceder directamente a los puertos Si le mandamos el comando 0x2a en el Diskette Control Register, o sea un simple out(0x2a, 0x3f7) quemamos el motor del floppy por sobrespinning Nop! El sistema operativo brinda toda la memoria para cada proceso Las máquinas del Lab tienen 2GB, hago un malloc(15gb) y listo, queda inutilizadas Nop!
12 Proceso Juan tiene actitud, pero le falta estudiar un poco más
13 Proceso Juan tiene actitud, pero le falta estudiar un poco más Definición [Proceso] Virtualización de un µprocesador, completamente aislada del resto de los procesos y administrado por el kernel
14 Proceso Juan tiene actitud, pero le falta estudiar un poco más Definición [Proceso] Virtualización de un µprocesador, completamente aislada del resto de los procesos y administrado por el kernel A alguien se le ocurriría ejecutar alguno de los programas de Juan en el mismo proceso que el shell?
15 Proceso Juan tiene actitud, pero le falta estudiar un poco más Definición [Proceso] Virtualización de un µprocesador, completamente aislada del resto de los procesos y administrado por el kernel A alguien se le ocurriría ejecutar alguno de los programas de Juan en el mismo proceso que el shell? Cada scommand se ejecuta en un proceso aislado al proceso que corre baash
16 El Cajón de Arena: los procesos Comandos simples con y sin background Comandos simples con redirección Pipelines Consejos
17 fork() Cada scommand en un proceso aparte Para crear un proceso: fork() Definición [fork()] Crea un proceso que clona toda la imagen de la memoria y el estado del microprocesador en el punto de llamada
18 fork() Cada scommand en un proceso aparte Para crear un proceso: fork() Definición [fork()] Crea un proceso que clona toda la imagen de la memoria y el estado del microprocesador en el punto de llamada Cómo distingo a los clones?: fork 1c
19 fork() Cada scommand en un proceso aparte Para crear un proceso: fork() Definición [fork()] Crea un proceso que clona toda la imagen de la memoria y el estado del microprocesador en el punto de llamada Cómo distingo a los clones?: fork 1c Acertijo: fork3printfac
20 wait() Cómo hacemos que el padre espere?: wait() Ejemplo: fork nc Este programa muestra muchas más cosas: Mezcla no-determinística entre procesos (interleaving) Los procesos comparten algo: stdout Uso típico de: pid = fork(); if (pid==0) { hijo } else if (0<pid) { padre } Uso del wait()
21 Pisando la imagen No queremos clones de baash, queremos ejecutar los scommand Definición [execvp()] Sobre-escribe la imagen actual de la memoria con la que contiene el ELF a ejecutar, y hace que el microprocesador salte al entry point que indica el Executable and Linking Format Ejemplo: execvpc
22 Tecnicalidades Problemas a resolver: Adaptar el scommand y los argumentos a char *argv[] Esperar el proceso correspondiente o habrá zombies Programar defensivamente: fork, wait, execvp pueden fallar por causas externas
23 El Cajón de Arena: los procesos Comandos simples con y sin background Comandos simples con redirección Pipelines Consejos
24 File descriptors Asi se vé la tabla de fids luego de abrir un archivo Los programas escriben sobre el fid = stdout y leen del fid = stdin Los redirigimos y listo Típico ejemplo uso de una tabla de indirección para virtualizar recursos stdin = 0 stdout = 1 stderr = 2 42 Teclado Pantalla $PWD/redirout open("redirout", flags, perm) = 42
25 close() + dup() Con close() cortamos el flujo a la pantalla Con dup() duplicamos el fid en el primer lugar libre Listo, ahora todo printf() irá a parar al archivo Ejemplo: dupc stdin = 0 Teclado stdin = 0 Teclado stdin = 0 Teclado stdout = 1 stderr = 2 Pantalla stdout = 1 stderr = 2 Null Pantalla stdout = 1 stderr = 2 Pantalla 42 $PWD/redirout 42 $PWD/redirout 42 $PWD/redirout open("redirout", flags, perm) = 42 close(stdout_fid) dup(42)
26 Usando todo para ejecutar un scommand Receta: Crear clon Hijo: Reconectar stdout a scommand get redir out() Reconectar stdin a scommand get redir in() Adaptar los bstrings a un char *argv[] Pisar con execvp() Padre: Esperar o no, según pipeline get wait()
27 El Cajón de Arena: los procesos Comandos simples con y sin background Comandos simples con redirección Pipelines Consejos
28 Comunicación entre procesos Conectar dos procesos para que la salida de uno sea la entrada de otro Definición [pipe()] ls wc Crea un archivo virtual que tiene dos descriptores, el 0 será el read end y el 1 el write end Uno o más procesos pueden escribir en el write end y eventualmente uno o mas procesos pueden obtener ordenadamente esos datos en el read end Si se intenta leer y no hay datos o se intenta escribir y no hay lugar, el kernel bloquea el proceso, es decir, implementa la sincronización del Productor-Consumidor
29 Como usar pipe() Crear los dos hijos, crear el pipe y luego ya sabemos: hay que usar close()+dup() para conectarlos
30 Como usar pipe() Crear los dos hijos, crear el pipe y luego ya sabemos: hay que usar close()+dup() para conectarlos Quién tiene que crear el pipe?
31 Como usar pipe() Crear los dos hijos, crear el pipe y luego ya sabemos: hay que usar close()+dup() para conectarlos Quién tiene que crear el pipe? El padre! O sino el pipe no se puede compartir entre los hijos
32 Como usar pipe() Crear los dos hijos, crear el pipe y luego ya sabemos: hay que usar close()+dup() para conectarlos Quién tiene que crear el pipe? El padre! O sino el pipe no se puede compartir entre los hijos Ejemplo pipec: Padre crea dos hijos El primogénito genera una secuencia de números y se la pasa a su hermano
33 La importancia de los close() Secuencia: pipe, fork, close 6 padre padre padre pipe_fd [0] [1] pipe_fd [0] [1] pipe_fd [0] [1] hijo2 hijo1 hijo2 hijo1 padre pipe_fd [0] [1] padre pipe_fd [0] [1] hijo2 hijo1 hijo2 hijo1
34 La importancia de los close() 2 El lector termina cuando read(size)==0, conocido como EOF Hay que distinguir dos situaciones: Ahora no hay datos Jamás habrá más datos Solo en el segundo caso el kernel tiene que mandar un EOF al proceso que lee Poĺıtica de EOF para pipes Supongamos que se acabaron los datos en el buffer interno Si no hay ningún proceso referenciando al pipe fd[1], entonces responder al read(size) con 0 Si existe algún proceso que aún puede escribir, dormir el proceso que intenta leer
35 La importancia de los close() 3 Ejemplo: nos olvidamos del close(write END) del padre
36 La importancia de los close() 3 Ejemplo: nos olvidamos del close(write END) del padre Deadlock! $ ps axuw grep pipe nicolasw pts/2 S+ 13:05 nicolasw pts/2 S+ 13:05
37 Generalizando a N pipes, 2<N No es fácil Pensar primero en papel y luego programar Esquema baash pipe_fd[0] [1] [0] pipe_fd[1] [1] [0] pipe_fd[n-2] [1] [0] sc0 sc1 sc2 sc(n-2) sc(n-1)
38 El Cajón de Arena: los procesos Comandos simples con y sin background Comandos simples con redirección Pipelines Consejos
39 del Viejo Vizcacha El shell es un reflejo exacto de las syscalls, asi que su programación debe ser muy sencilla y compacta Hacer un ejecutor de comando simple y un ejecutor de pipeline No preocuparse por la interacciones entre redirectores y pipes No romper las abstracciones Ejemplo típico: agregar la función scommand to argv() Revisar el resultado de todos los syscalls
Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
Más detallesIntroducción a Sistemas Operativos: Comunicación entre Procesos
Introducción a Sistemas Operativos: Comunicación entre Procesos Clips xxx Fr ancisco J Ballesteros. Pipelines Hace tiempo, UNIX disponía de las redirecciones que hemos visto y los usuarios combinaban programas
Más detallesFigura 1. Entrada, salida y error estándar.
Introducción 1 Como ya hemos visto, los comandos en GNU/Linux son programas ejecutables que actúan en forma separada uno de otro. El shell, además de ser el intérprete de comandos, nos permite expandir
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 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 detallesTP N 4 Redirección de entrada y salida estándar
Taller de GNU/Linux 2002 TP4 hoja 1/5 Universidad Nacional de La Matanza Ingeniería en Informática-Taller de GNU/Linux TP N 4 Redirección de entrada y salida estándar Objetivos: Conceptos de entrada y
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
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 detallesSegundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2 puntos) 1) Qué es el superbloque de un sistema de ficheros? qué tipo de información podemos
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 detallesLaboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
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 detallesMatías Zabaljáuregui
El buffer de la entrada estándar en GNU/Linux Matías Zabaljáuregui (matiasz@info.unlp.edu.ar) http://linux.linti.unlp.edu.ar 0. Introducción Se intentará describir en términos sencillos la forma de tratar
Más detallesUNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS
UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS Eduard Lara 1 1. INTRODUCCIÓN En los sistemas GNU/LINUX y UNIX los dispositivos como los discos duros y sus particiones, el terminal de pantalla, el teclado,
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 detallesDESARROLLO DE FUNCIONES EN EL SISTEMA INFORMÁTICO EJEMPLO DE CUESTIONES BÁSICAS A CONOCER:
DESARROLLO DE FUNCIONES EN EL SISTEMA INFORMÁTICO EJEMPLO DE CUESTIONES BÁSICAS A CONOCER: 1) Para que sirve la función wait ( & dato ) y que valor se obtendría en la variable dato. 2) Diferencias entre
Más detallesTaller de Sistemas Operativos Introducción
Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso
Más detallesLenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Entrada y Salida de Datos Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia E/S por consola Se refiere a las operaciones que ocurren
Más detallesProgramación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)
Introducción 1. Definición del shell 19 2. Características de un intérprete de comandos 19 3. Intérpretes de comando (shells) 20 3.1 Historia 20 3.2 Con qué shell hay que programar? 21 3.2.1 Scripts de
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 detallesIngeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009
Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i
Más detallesGUIA No 5. CREACIÓN DE SubVI s
GUIA No 5 CREACIÓN DE SubVI s Una característica importante de LabView es el manejo de jerarquías y el poder utilizar fácilmente un programa anterior como un módulo de otro cualquiera. Cuando un VI es
Más detallesOperaciones de E/S en ANSI C
Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los
Más detallesPrácticas de Fundamentos del Software
Prácticas de Fundamentos del Software Módulo I. Órdenes UNIX y Shell Bash Sesión Nº3: Permisos y redirecciones 1 Objetivos principales Modificar los permisos de un archivo. Comprender cómo se manejan las
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 detallesFicheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen
Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,
Más detallesSi el fichero hashes existe, el script debe notificar el error y salir como corresponde. A continuación se muestra un ejemplo:
Examen de Sistemas Operativos ITIS Fuenlabrada Junio 2009 Tiempo total: 3 horas. Problema: Llamadas al sistema (5 puntos) Escriba en C para Plan 9 un programa llamado catsha1 cuyo propósito es crear un
Más detallesProgramación shell-scripts 1 LA SHELL
Programación shell-scripts 1 LA SHELL Un gran número de utilidades y herramientas de administración están realizadas mediante ficheros de ordenes del interprete de comandos de Unix (Shell). A lo largo
Más detallesArquitectura del CPU. Organización del Computador 1 Verano 2016
Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales
Más detallesAdministració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 detallesAmpliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++
Ampliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++ ENTRADA/SALIDA EN C++ Principales características Jerarquía de clases de E/S Aspectos generales
Más detallesSistemas 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 detallesEl shell de GNU/Linux
Universidad de Costa Rica Escuela de Ingeniería Eléctrica IE-0117 Programación Bajo Plataformas Abiertas 1. Aspectos generales El shell es el programa que permite al usuario interactuar con el sistema
Más detallesSistemas 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 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 detallesLlamadas al Sistema. Laboratorio de Arquitectura de Ordenadores
Llamadas al Sistema Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Sistema de ficheros Bibliografía 2 Introducción Llamadas al Sistema: Un API compuesto por una serie de
Más detallesFlujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha
Flujos (streams) Programación Nadjet Bouayad-Agha Licenciatura Lingüística y Nuevas Tecnologias 2007 Agenda Java e argumentos de entrada: args.zip Como leer e escribir datos de/a los flujos estándares.
Más detallesBloque I: Principios de sistemas operativos
Bloque I: Principios de sistemas operativos Tema 1. Principios básicos de los sistemas operativos Tema 2. Concurrencia Tema 3. Ficheros Tema 4. Sincronización y programación dirigida por eventos Tema 5.
Más detallesPREGUNTAS Y RESPUESTAS RELATIVAS AL USO DE COMANDOS BÁSICOS EN LINUX
PREGUNTAS Y RESPUESTAS RELATIVAS AL USO DE COMANDOS BÁSICOS EN LINUX 1. Cómo hago para ver los archivos del directorio anterior? ls../ 2. Cómo sé en qué directorio estoy? pwd 2. Como veo los archivos en
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 detallesCOMUNICACIÓN ENTRE PROCESOS SOCKETS
COMUNICACIÓN ENTRE PROCESOS SOCKETS Diseño de Sistemas Operativos Curso 2007/08 Grupo: Mi30 Martín Santana, A. David Martínez Santana, Luis Ignacio Qué son?(definición) n) Los sockets son mecanismos de
Más detallesCompartir discos y particiones
Materiales: Instalación del Cliente para Redes Microsoft y Compartir archivos e impresoras para redes Microsoft. Tiempo: 2 minutos Dificultad: Baja Descripción. Proceso que permite poner a disposición
Más detallesSincronizacion de procesos
Sincronizacion de procesos Sobre los procesos cooperantes: Pueden compartir espacios de direcciones o datos a través de un archivo. Problema a considerar: Como evitar la inconsistencia de los datos compartidos
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
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 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 detallesCAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.
CAR Responsable : María del Carmen Heras Sánchez Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar http://acarus.uson.mx Conceptos Comandos básicos de Linux Variables de ambiente Módulos
Más detallesEstructura de Datos: Archivos
Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un
Más detallesTEMA 3. SISTEMAS OPERATIVOS
1. Introducción. TEMA 3. SISTEMAS OPERATIVOS El sistema operativo (S.O.) es el programa más importante del ordenador, ya que sin él, éste no podría funcionar. Para que funcionen otros programas, el ordenador
Más detallesGuía resumida para configurar un sistema Linux virtualizado y ejecutar Simusol
Guía resumida para configurar un sistema Linux virtualizado y ejecutar Simusol Si por algún motivo no puede instalar un GNU/Linux en su computadora puede recurrir a ésta solución. 0.-Para usar esta guía
Más detallesUnidad 5. Gestión remota GNU/Linux. Implantación y administración remota y centralizada de Sistemas Operativos. Manuel Morán Vaquero
Unidad 5 Gestión remota GNU/Linux Implantación y administración remota y centralizada de Sistemas Operativos Manuel Morán Vaquero mmv@edu.xunta.es http://www.immv.es Contenidos 1 Introducción 2 Par de
Más detallesAdministrador de File System FAT16 y FAT32
Administrador de File System FAT16 y FAT32 Julio Peralta, Lorena Ibaez, Mariano A. Carabajal, Matias D. Rotela, Patricia Gómez Dpto. de Ingeniería e Investigaciones Tecnológicas, Universidad Nacional de
Más detallesSOLUCION 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 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 detallesJUGANDO CON C, ASM Y SYSCALLS Alejandro Hernández - @nitr0usmx
JUGANDO CON C, ASM Y SYSCALLS Alejandro Hernández - @nitr0usmx Tabla de Contenidos 1.-ASM. 1.1.-Definición de ASM. 1.2.-Arquitectura de computadoras. 1.3.-Instrucciones básicas. 2.-SYSCALLS. 2.1.-Definición
Más detallesSistemas 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$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
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 detallesInformática I. Software - Algoritmo. Alejandro Furfaro
Informática I Marzo 2011 Temario 1 Introducción. 2 Algoritmo. 3 Estructuras de programación. 4 Programación estructurada 5 Conclusiones Primeros conceptos Protodefinición Cita Nº1 La solución a cualquier
Más detallesProcesamiento básico de texto en Unix ProgPLN
Procesamiento básico de texto en Unix ProgPLN Víctor Peinado v.peinado@filol.ucm.es 17-23 de octubre de 2014 Referencias Unix for poets 1 Comandos para procesar ficheros de texto 1 Church, K. W. Unix for
Más detallesThis obra by Sergio Belkin is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos.
This obra by is licensed under a Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina License. Procesos Sacar fotos de procesos Mostrar procesos que corren solamente en la terminal ps Mostrar
Más detallesEn este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos
Más detallesFACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0
1 er Cuatrimestre de 2011 FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0 Índice 1. Objetivo 2 2. Preparación del software 2 2.1. Instalación.......................................
Más detallesOrganización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 4 Universidad Nacional de Quilmes Lic. Martínez Federico Memoria: Organización Lectura Escritura Direcciones Qué pasó? Qué pasó? Memoria: Organización Lectura Escritura
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesExiste en cualquier sistema operativo parecido a UNIX y forma parte de la instalación predeterminada de Linux.
EL MANEJO DEL VI Existe en cualquier sistema operativo parecido a UNIX y forma parte de la instalación predeterminada de Linux. 1- Lo primero es ejecutar el comando vi 2- Para empezar a escribir se teclea
Más detallesPor ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:
Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.
Más detalles1. Cómo asignar una IP a mi ordenador? 2. Cómo hago para ver los archivos del directorio anterior? 3. Cómo sé en qué directorio estoy? 4.
1. Cómo asignar una IP a mi ordenador? 2. Cómo hago para ver los archivos del directorio anterior? 3. Cómo sé en qué directorio estoy? 4. Como veo los archivos en un directorio? 5. Cómo puedo crear archivos
Más detallesTipos de Diseño. Ing. Elizabeth Guerrero V.
Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: Centralizado, Distribuido y Cooperativo Procesos Centralizados Un sistema centralizado está formado por un computador
Más detalles[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013
ALGORITMOS Y DIAGRAMAS DE FLUJOS DE DATOS Elementos del diagrama de flujo de datos A.1. Qué es un Algoritmo? Describe el método para realizar una tarea. Es una secuencia de instrucciones que, ejecutadas
Más detallesSistemas de Transportes de Datos (STD) Tema III: UDP y TCP (Entrega 4) Grupo de Aplicaciones Telemáticas. Grupo de Aplicaciones Telemáticas
Sockets Abstracción para las operaciones de E/S a través de la red. Generalización de mecanismos de acceso a ficheros para suministrar un punto a través del cual realizar las comunicaciones. : Crear un
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base
Más detallesEntrada y salida de datos en C y C++
Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida
Más detallesDesarrollo de Aplicativos con winsockets
Seminario de Redes de Computadoras 66.48 Desarrollo de Aplicativos con winsockets Docentes: Ing. Marcelo Utard Ing. Pablo Ronco Alumnos: Baños, Germán Gámez, Pablo Rabino, Juan Pablo Salas, Federico Introducción
Más detallesLENGUAJE. Tema 8 Ficheros
LENGUAJE Tema 8 Ficheros FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas
Más detallesCAPITULO IV. Shell y comandos
CAPITULO IV Shell y comandos 1 La Shell Todo S.O. debe proveer un mecanismo para que el/los usuarios puedan comunicarle lo que quieren realizar y para poder interactuar con el. Linux posee una interfase
Más detalles; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ;
Examen de Sistemas Operativos ITIS Fuenlabrada Mayo 2011 Problema: Llamadas al sistema (3 puntos) Implemente en C para Plan 9 un programa hlines que a partir de una URL que se le pasa como argumento, escriba
Más detallesEl directorio principal se denomina raíz y se expresa con la barra invertida \ es el directorio padre
LA SHELL DE COMANDOS El directorio principal se denomina raíz y se expresa con la barra invertida \ es el directorio padre Dir te aparece todo el contenido de esta carpeta. hace referencia al contenido
Más detalles003. Manos a la obra. 3.1 Servidor y cliente.
003. Manos a la obra 3.1 Conectar a un ordenador remoto. 3.2 En el restaurante. 3.3 Entrando por primera vez. 3.4 Quiénes somos, de donde venimos y a donde vamos 3.1 Servidor y cliente. Este taller vamos
Más detallesMANEJO DEL AREA DE SWAP
PRACTICA #8 OBJETIVO: Aprender las bases del manejo del área de swap. INTRODUCCION: El área de swap también es conocida con el nombre de espacio de intercambio, ésta área se utiliza cuando la memoria RAM
Más detallesIntroducción a Sistemas Operativos: Concurrencia
Introducción a Sistemas Operativos: Concurrencia Clips xxx Fr ancisco J Ballesteros 1. Semáforos Quizá la abstracción más conocida para sincronizar procesos en programación concurrente controlar el acceso
Más detallesSistemas Operativos I. Enxeñería Informática. Curso 2007/08. Práctica 2: Concurrencia de procesos: Productores/Consumidores.
Sistemas Operativos I. Enxeñería Informática. Curso 2007/08. Práctica 2: Concurrencia de procesos: Productores/Consumidores. En esta práctica se tratará de resolver el problema de los productores/consumidores
Más detallesBochs: VESA Bios Extensions
Bochs: VESA Bios Extensions Alejandro Furfaro Técnicas Digitales III Mayo de 2011 Alejandro Furfaro (Departamento de Electrónica) Bochs: VESA Bios Extensions Ciclo lectivo 2011 1 / 15 Temario 1 Vistazo
Más detallesGESTION DE ENTRADA Y SALIDA
Dispositivos de salida (impresora, monitor,...) Unidad principal (UCP, registros, memoria RAM, entrada/salida ( discos internos, red,...)) Dispositivos de entrada (teclado, ratón, lápiz óptico,...) Dispositivos
Más detallesla ventana de edición y la duración aparece en la ventana. Se puede escuchar la sección marcada
Manual básico de PRAAT ANÁLISIS TEMPORAL 1 5. ANÁLISIS TEMPORAL Obtener valores de duración en forma manual es muy sencillo. Basta con marcar el segmento en la ventana de edición y la duración aparece
Más detallesSILLABUS CURSO : LINUX
SILLABUS CURSO : LINUX Administración DURACIÓN : 8 sesiones de 3 horas cada sesión Horarios : Grupo 1 : Lunes Miércoles -Viernes (8:00 pm a 11 :00 pm) Grupo 2 : Martes Jueves ( 7:00 pm 10 :00 pm) SUMILLA
Más detallesServicio de terminal remoto. Jesús Torres Cejudo
1 - Telnet, Rlogin, SSH. Telnet (TELecommunication NETwork) es el nombre de un protocolo de red red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. También es el
Más detallesAcceso mediante clientes
Podemos acceder en cualquier momento al cliente de owncloud (UMUbox) buscando el icono de la nubecita en la barra de estado de la pantalla de nuestro ordenador: Podemos acceder en cualquier momento al
Más detallesTema 1: Programación Multiproceso. Curso
Tema 1: Programación Multiproceso. Curso 2012-2013 1 Patricia Hurtado Sayas Índice de contenidos: 1. Elementos funcionales de un SI. Repaso. 2. Concepto de Proceso o Tarea. 1. PCB, Bloque de Control de
Más detallesMANUAL RAPIDO DE UNIX
1 MANUAL RAPIDO DE UNIX 1. INTRODUCCION. Características del Sistema Operativo UNIX. 1.2 Entrada y Salida del Sistema. 1.3 Estructura de Archivos. 1.4 Directorios y Archivos estándar Importantes. 1.5 Sintaxis
Más detallesEntrada y Salida de Datos. Lectura de archivos.
1 Entrada y Salida de Datos. Lectura de archivos. Son innumerables los casos en los que son necesarios guardar datos entre ejecuciones de un programa para poder ser recuperados en futuras sesiones. Los
Más detallesServicios del Sistema Operativo (SO)
Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dichos programas. Por supuesto, los servicios específicos
Más detalles7. Programación Concurrente
7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar
Más detallesLABORATORIO 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 detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesPREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1
PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 1. Cuál de los siguientes componentes no forma parte del esquema general de un ordenador? A Memoria Principal B Disco Duro C Unidad de Control D Unidad Aritmético
Más detallesEstructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Más detallesComo comenzar con DirectSOFT. Utilidades tales como CTRIO Workbench. Documents- Los proyectos más recientemente usados aparecen aquí
Como comenzar Antes de comenzar a corregir un programa, usted necesita abrir DirectSOFT. Haga clic en START en la esquina más baja a la izquierda del monitor de la computadora. Ahora vaya a Programs, coloque
Más detalles- Acción para errores de comandos de lotes o sqlcmd. - Se conecta a una instancia de SQL Server.
Trabajar con una Base de Datos usando SQL Server Express Hay que hacerlo con la Herramienta de línea de comandos de Microsoft (R) SQL Server SQLCMD SQLCMD.exe es un programa que hay que usarlo desde la
Más detalles