Системные вызовы в C
НАВИГАЦИЯ ПО СТРАНИЦЕ
Вот несколько примеров системных вызовов в языке C:
Системный вызов
для вывода на экран :
#include <stdio.h>
int main() {
printf("Hello, World!\n"); // Стандартная библиотека C обращается к системному вызову write()
return 0;
}
Системный вызов для создания и управления процессами:
#include <sys/types.h>
#include <unistd.h>
int main() {
pid_t child_pid = fork(); // Создание нового процесса
if (child_pid == 0) {
// Этот код выполняется в дочернем процессе
printf("Child process\n");
} else {
// Этот код выполняется в родительском процессе
printf("Parent process\n");
}
return 0;
}
Системный вызов
для работ с файлами :
#include <stdio.h>
int main() {
FILE* file = fopen("example.txt", "r"); // Стандартная библиотека C обращается к системному вызову open()
if (file != NULL) {
// Чтение файла
fclose(file); // Стандартная библиотека C обращается к системному вызову close()
}
return 0;
}
Системный вызов
для выделения памяти :
#include <stdlib.h>
int main() {
void* memory = malloc(1024); // Системный вызов brk() или mmap() используется для выделения памяти
if (memory != NULL) {
// Работа с выделенной памятью
free(memory); // Системный вызов munmap() или brk() используется для освобождения памяти
}
return 0;
}
Системные вызовы предоставляют доступ к низкоуровневым функциям операционной системы и используются для решения различных задач в системном программировании. Эти вызовы выполняются на уровне ядра операционной системы и обеспечивают безопасность и изоляцию между процессами.