The key advantage protected mode allows us is the 32-bit flat memory address space. It also allows us access to the 32-bit extended versions of the machine registers and flags. We are restricted, however, to an amount of memory that corresponds to a single real-mode segment. This is due to the continued use of the prot_to_real and real_to_prot routines. When in real-mode (for disk reads, console input and output) the results of I/O must be transfered to a real-mode segment. Once these services can be provided in protected mode, the flat memory model will become more useful. With this hurdle cleared, it will also be possible to allocate threads in different protected memory segments, allowing for the protection of one thread from another's errors.