Technically, no. You DO NOT absolutely have to allocate memory before you use it in MS-DOS (for versions prior to the DOS that was included in OS/2 or the one in Windows 3.0). But note also that the ability to access any memory space (or not) in a machine is also determined by the hardware architecture (i.e., 8088, 8086, 80286, 80386, etc.) Now, to focus solely on the responsibility of the operating system (OS) here, Robert J. Moore wrote in a November 01, 1988 article on Dr. Dobbs that, "Starting with Version 2.0, all versions of DOS contain functions to allocate memory (function 48H), free allocated memory (function 49H), and modify allocated memory (function 4AH)," via the use of Memory Control Blocks (MCBs). "If DOS detects any corruption in the MCB chain, it prints out an error message and halts the system." However, it is possible to, "break the MCB chain deliberately . . . DOS doesn't always notice." In fact, "DOS could be bypassed altogether for memory management," said Mr. Moore. Simply put, that's because BOTH the OS and the hardware allows it. Per the book, Intel Microprocessors: 8086/8088 - 8th Edition (available on Google Books), "Real mode, is an operating mode of 80286 and later x86-compatible CPUs. . . Real mode provides no support for memory protection, multitasking, or code privilege levels. 80186 CPUs and earlier, back to the original 8086, have only one operational mode, which is equivalent to real mode in later chips." Now, protected mode, as opposed to real mode, first available on the 80286, could allow your DOS programs to come under protected mode memory management--but that can happen only if you've installed OS/2 or Windows 3.0 (which are the first operating systems to implement versions of DOS capable of DPMI--the protected mode specification) which would allow your DOS programs to run in protected mode on 80286 series and later processors. Only then would you actually need to allocate memory before using it in your DOS programs.