Перейти к содержимому

Llamadas al sistema en C: read, write y el coste de ir byte a byte - Tema 2 SO

Código a Fondo

0:00 / 0:00

Llamadas al sistema en C: read, write y el coste de ir byte a byte - Tema 2 SO

10 просмотров · 6 дн. назад
Código a Fondo
9 подписчиков
10 просмотров · 6 дн. назад
Aprende cómo funciona una llamada al sistema y cómo leer y escribir ficheros en C con open, read, write y close: modo usuario y modo núcleo, ecall, descriptores de fichero, errno y perror. Entiende por qué leer byte a byte cuesta tanto y cómo se lee rápido con buffers, buffer circular y lseek. Empezamos con un fichero diminuto, datos.csv: tres números separados por comas en solo diez bytes. Nuestro programa los lee y escribe «suma = 2039» al instante. ¿Cuántas veces ha llamado al núcleo para conseguirlo? Lo comprobamos con strace: cinco llamadas, un open, dos read, un close y un write. Ese mismo fichero nos acompaña en casi todo el tema. EN ESTA CLASE • Entender por qué existen el modo usuario y el modo núcleo, las instrucciones privilegiadas y los registros de control (CSR) de RISC-V. • Seguir el viaje de una llamada al sistema con ecall y mret, y ver por qué el núcleo suma 4 a mepc. • Usar open, read, write y close con los descriptores 0, 1 y 2, flags, permisos en octal, errno, perror y escrituras parciales. • Entender el buffer de stdio (FILE, printf, fflush) y por qué el orden de la salida cambia con una tubería. • Distinguir ficheros de texto y binarios: códigos ASCII, little-endian, hexdump y conversiones con atoi, strtol y sscanf. • Medir el coste de una llamada al sistema y leer por bloques: buffers, números cortados entre lecturas y buffer circular. • Moverse por el fichero con lseek y ftruncate, y practicar preguntas tipo examen y los siete errores típicos. CAPÍTULOS 00:00 Introducción 02:29 La frontera del núcleo 09:39 Las cuatro llamadas y los descriptores 16:56 La biblioteca de C por encima 20:15 Texto o binario 24:51 Leer rápido: buffers 29:31 El buffer circular 33:10 Moverse por el fichero 35:37 A examen 43:16 Errores típicos 44:57 Cierre PARA SEGUIR LA CLASE Conviene haber visto el Tema 1. Ayuda recordar de Estructura de Computadores cómo se llama a una función; se repasa en el vídeo. Pausa en cada «Pausa y piensa» y en los ejercicios, e intenta resolverlos antes de ver la explicación. Siguiente clase de la serie: Tema 3, procesos, fork, exec y wait. Serie: Sistemas operativos desde cero · Tema 2. Narración en español. Material de estudio independiente. Si te ayuda, guarda esta clase para repasar. Puedes dejar una duda en los comentarios indicando el minuto y el paso que quieres aclarar. #SistemasOperativos #ProgramacionEnC #Linux