Changes between Version 69 and Version 70 of io_operations


Ignore:
Timestamp:
Oct 22, 2020, 4:45:25 PM (19 months ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • io_operations

    v69 v70  
    145145'''1)''' The TXT[0] terminal is reserved for the kernel. It is normally used by the kernel to display log and/or debug messages. It can also be used by user processes for debug, through the specific display_xxx() system calls, that should not be used in normal exploitation.
    146146
    147 '''2)''' The other (NB_TXT_CHANNELS - 1) terminals TXT[i] are used by user processes. The first INIT user process,  creates  (NB_TXT_CHANNELS -1) KSH user processes (one shell per user text terminal). All processes created by a KSH[i] process share the same TXT[i] terminal as the parent process, and belong to the same "group" of processes.
     147'''2)''' The other (NB_TXT_CHANNELS - 1) terminals TXT[i] are allocated by the kernel to user processes. The first INIT user process,  creates  (NB_TXT_CHANNELS -1) KSH user processes (one shell per user text terminal). All processes created by a KSH[i] process share the same TXT[i] terminal as the parent process, and belong to the same "group" of processes.
    148148
    149 '''3)''' The INIT process is never deleted : it does not call the exit() syscall, and cannot be killed. The the KSH[i] processes should not be deleted : the KSH main thread does not call the exit() sys call. If the KSH process is accidentally killed, it is - in principle - automatically re-created by the parent INIT process.
     149'''3)''' The INIT process is never deleted : it does not call the exit() syscall, and cannot be killed. The the KSH[i] processes should not be deleted , as the KSH process does not call the exit() sys call. If the KSH process is accidentally killed, it is - in principle - automatically re-created by the parent INIT process.
    150150
    151151'''4)''' Regarding the WRITE accesses, all processes attached to the same TXT_TX[i] terminal can atomically display character strings. There is no guaranty on the order, when these strings are issued by different processes, because these strings are simply sequentialized by the server thread associated to the shared TXT_TX[i] device.
    152152
    153 '''5)''' Regarding the READ accesses, only one process in the group of process attached to the TXT[i] terminal (called  ''foreground'' process) is the owner of the TXT_RX[i] terminal, and can read characters . The other processes (called ''background'' processes) should not try to read characters. If a background process P try to read, it receives a SIGSTOP signal, and will keep blocked until the user uses the ''fg'' shell command to give P the ownership of the TXT_RX[i] terminal.
     153'''5)''' Regarding the READ accesses, only one process in the group of process attached to the TXT[i] terminal (called  ''foreground'' process) is the owner of the TXT_RX[i] terminal, and can read characters . The other processes (called ''background'' processes) should not try to read characters. If a background process P try to read, it receives a SIGSTOP signal, and will keep blocked until the user uses the ''fg'' shell command to give the ownership of the TXT_RX[i] terminal to this P process.
    154154
    155155'''6)''' The control characters (ctrlC , ctrlZ) typed in a TXT_RX[i] terminal are only routed to the foreground process attached to this terminal.