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