User:Tudoros1

From OSDev Wiki
Jump to navigation Jump to search

My development environment

  • Assembler: Flat Assembler 1.69.31
  • Compiler: (Untraditional)Visual Studio 2010
  • Operating system(for developing on): Windows 7 Professional x64


My Operating System "Auckland"

My OS has the following files

  • Kernel mode
    • Includes my KDKHal (KDKHal.dll)(my hardware abstraction layer, and subsystem, CRT considered needing a full OS, everything will be built on top of this).
    • Auckland.dll (My Micro kernel and core services are in the kernel proper) Contains:
      • The Micro kernel(Everything but the KDKHal is built on top of this)
        • Basic time manager(a timer built off the KDKHal Time services and a variable).
        • Advanced memory manager(contains virtual and physical memory allocation).
        • Context switcher(The scheduler).
        • The Common namespace(Stores all devices, files, processes, threads, basically anything, like a namespace of structs and the Unix File system)
      • The Advanced Process and Thread manager(Built on top of the scheduler)
      • The IPC manager:
        • Shared memory(Built on top of the memory manager)
        • Shared-copied memory(Built on top of the memory manager and shared memory)
        • Pipes(Built on top of shared-copied memory)
        • Messages(Built on top of pipes)
      • The module loader(loads Executables so you don't have to, and allows new file formats. Internally supports MZ, NE, LE, PE, PE+, ELF, NOP and TCATEXE)
      • System component manager(Very Important, uses the Module loader, which in turn uses this component, sort of a loop, so Exe Format modules can only be in one of the internal formats)
      • IO Manager(for file, device and driver management)
      • The session manager
      • The Runtime(Implements the CRT)
      • The Syscall Interface(contains services itself for defining Kernel implemented User visible services and the Restrictions Manager for security(The Common Namespace does most of this, but this does high level restrictions like not allowing certain functions to be called
    • System components(Seamless extension(if you have someone using it))
      • Drivers
      • Executable module loaders
      • aklcomss.dll(For implementing the console and other things)
      • Compatibility engines(used in 64 bit)
  • User mode
    • Akldll.dll(nothing to see, except its ability to switch to other processes for User component support, contains the native API)
    • User services(someone should put stuff like GUI, Graphics, Network, Sound and other things in here, basically system components in user mode)
    • AklCRT.dll(the C library and the main API(yep, no OS-Specific interface like Win32))
    • The applications(Every OS has one)
      • Their DLLs

For more info on Auckland, see Auckland on my user pages