static int n_open(struct tty_struct *tty, struct file *fl){
//step_1 ......... //step_2 .........
return 0; }
Два процесса (р1 и р2) открывают файл. Допустим первым начал исполнение кода процесс р1. Выполнив step_1, процесс "засыпает". Далее процесс р2 выполняет код от начала до конца. Потом процесс р1 просыпается и завершает выполнение кода.
Возможна ли такая ситуация? Или же р1 выполнит код от начала до конца и заснуть по середине не может? Повторюсь - система однопроцессорная.
Или процессы р1 и р2 могут исполнить код только последовательно, сначала один процесс, а затем другой?