MINIX 作業系統的程式碼導覽

程式碼列表

boot/        : 啟動相關的程式碼 (addaout.c, boot.c/h, bootlock.s, boothead.s, bootimage.c, 
            doshead.s, image.h, installboot.c, jumpboot.s, masterboot.s, mkfhead.s, 
            mkfile.c, rawfs.c/h
kernel/        : 行程相關的程式碼 (clock.c, config.c/h, debug.c/h, exception.c, glo.h, i8259.c, 
            ipc.h, kernel.h, klib88.s, klib386.s, klib.s, main.c, mpx88.s, mpx386.s, 
            mpx.s, priv.h, proc.c/h, protect.c/h, proto.h, sconst.h, start.c, system.c, 
            table.c, type.h, utility.c,
  system/    : do_xx 的程式, (do_abort.c, do_copy.c, dodevio.c, do_endksig.c, do_exec.c, 
            do_exit.c, do_fork.c, do_getinfo.c, do_getksig.c, do_int86.c, do_iopenable.c, 
            do_irqctl.c, dodo_exec.c, do_fork.c, do_kill.c, do_memset.c, do_newmap.c, 
            do_nice.c, do_privctl.c, do_sdevio.c, do_segctl.c, do_setalarm.c, 
            do_sigreturn.c, do_sigend.c, do_times.c, do_trace.c, do_umap.c, 
            do_unused.c, do_vcopy.c, do_vdevio.c)
servers/    : 訊息傳遞相關的程式碼 (No file)
  ds/        : Data Store Server, (main.c, store.c/h, glo.h, inc.h, proto.h)
  fs/        : File System, (buf.h, cache.c, cache2.c, cdprobe.c, device.c, dmap.c, file.h, 
            filedes.c, fproc.h, fs.h, glo.h, inode.c/h, link.c, lock.c/h, main.c, 
            misc.c, mount.c, open.c, param.h, path.c, pipe.c, protect.c, proto.h, 
            read.c, select.c/h, stadir.c, super.c/h, table.c, time.c, timers.c, 
            type.h, utility.c, write.c)
  inet/        : Networking, (buf.c, clock.c, inet.c, inet_config.c, mnx_eth.c, mq.c, qp.c, 
            sha2.c, sr.c, stacktrace.c, version.c)
    generic/: 網路通用程式, *arp.c/h, assert.h, buf.h, clock.h, eth.c/h, eth_int.h, event.c/h, 
            icmp.c/h, icmp_lib.h, io.c/h, ip.c/h, ip_eth.c/h, ip_int.h, ip_ioctl.c/h, 
            ip_lib.c, ip_ps.c, ip_read.c, ip_write.c, ipr.c/h, psip.c/h, rand256.c/h, 
            sr.h, tcp.c/h, tcp_int.h, tcp_lib.c, tcp_recv.c, tcp_send.c, type.h, udp.c, 
            udp.h, udp_int.h)
    minix3/    : 只有 queryparam.c, .h
  init/        : 只有 init.c , 是所有 Process 的 Father Process.
  is/        : information server, 除錯資訊的 dump.(dump.c, dmp_ds.c, dmp_fs.c, dmp_kernel.c, 
            dmp_pm.c, dmp_rs.c, glo.h, inc.h, is.h, main.c, proto.h)
  pm/        : Process Management, 包含 (alloc.c, break.c, const.h, exec.c, forkexit.c, getset.c, 
            glo.h, main.c, misc.c, mproc.h, param.h, pm.h, proto.h, signal.c, table.c, 
            time.c, timers.c,trace.c, type.h, utility.c
  rs/        : Reincarnation(輪迴轉世) Server, (inc.h, main.c, manager.c/h, proto.h, service.c)
  sm/        : System Process Manager, (沒有 *.c 只有一個 makefile)
drivers/    : IO 驅動程式 (drivers.h)
  at_wini/    : driver for the IBM-AT winchester controller.
  bios_wini/: hard disk driver that uses the ROM BIOS.
  cmos/        : access the CMOS chip to get or set the system time.
  dp8390/    : Ethernet device driver for NS dp8390 based ethernet cards. (dp8390.c, ne2000.c, rtl9029.c, wdeth.c)
  dpeth/    : Ethernet device driver for 3Com Etherlink (3c501) boards, 包含 3c501.c, 3c503.c, 
            3c509.c, 8390.c, devio.c, dp.c, ne.c, netbuff.c, wd.c, 
  floppy/    : Floppy Disk Driver, 包含 floppy.c
  fxp/        : Ethernet device driver for Intel 82557, 82558, 82559, 82550, and 82562 fast ethernet controllers. 
            包含 : fxp.c (與裝置相關), mii.c (與裝置無關)
  lance/    : Ethernet driver for AMD LANCE based ethernet cards. (lance.c)
  libdriver/: Device Independent Device Driver Interface. (driver.c, drvlib.c)
  libpci/    : PCI 插槽 (pci.c, pci_table.c, pci_amd.h, pci_intel.h, pci_via.h, pci.h)
  log/        : system log device (log.c, diag.c, kput.c)
  memory/    : (memory.c)
  printer/    : printer driver. It is a fairly simple driver,supporting only one printer.  
          Characters that are written to the driver are written to the printer without 
          any changes at all.
  random/    : random number generator, (main.c, random.c, sha2.c)
  rescue/    : rescue device driver (rescue.c)
  rtl8138/    : device driver for Realtek rtl8139 based ethernet cards.
  sb16/        : driver for a DSP (Digital Sound Processor) on a SoundBlaster 16 soundcard.
  tty/        : terminal driver (tty.c,  rs232.c, pty.c, keyboard.c, console.c, vidcopy.c)
tools/        : 工具軟體 (Makefile, mkboot, tell_config)
include/    : *.h 的表頭檔 (a.out.h, alloca.h, ansi.h, assert.h, configfile.h, ctype.h, courses.h, 
          dirent.h, env.h, errno.h, fcntl.h, float.h, grp.h, inttype.h, lib.h, libgen.h, 
          libutil.h, limits.h, locale.h, math.h, mathconst.h, netdb.h, pwd.h, regex.h, 
          regexp.h, setjmp.h, sgtty.h, signal.h, stdarg.h, stddef.h, stdint.h, stdio.h, 
          stdlib.h, string.h, tar.h, termcap.h, termios.h, time.h, timers.h, tools.h, ttyent.h, 
          unistd.h, utime.h, utmp.h)
  arpa/        : inet.h
  ibm/        : bios.h, cmos.h, cpu.h, diskparm.h, int86.h, interrupt.h, memory.h, partition.h, 
          portio.h, ports.h
  minix/    : bitmap.h, callnr.h, cdrom.h, com.h, config.h, const.h, devio.h, dl_eth.h, dmap.h, 
          fslib.h, ioctl.h, ipc.h, jmp_buf.h, keymap.h, minlib.h, partition.h, paths.h, 
           sound.h, swap.h, sys_config.h, syslib.h, sysutil.h, type.h, u64.h, 
  net/        : hton.h, if.h, ioctl.h, netlib.h 
    gen/    : arp_io.h, dhcp.h, eth_hdr.h, eth_io.h, ether.h, icmp.h, icmp_hdr.h, if_ether.h, 
          in.h, inet.h, ip_hdr.h, ip_io.h, nameser.h, netdb.h, oneCsum.h, psip_hdr.h, 
          psip_io.h, resolv.h, rip.h, route.h, socket.h, tcp.h, tcp_hdr.h, tcp_io.h, udp.h, 
          udp_hdr.h, udp_io.h, vjhc.h
  netinet/    : in.h, tcp.h
  sys/        : asynchio.h, dir.y, file.h, ioc_cmos.h, ioc_disk.h, ioc_file.h, ioc_memory.h, 
          ioc_scsi.h, ioc_sound.h, ioc_tape.h, ioc_tty.h, ioctl.h, mtio.h, param.h, ptrace.h, 
          resource.h, select.h, sigcontext.h, socket.h, stat.h, statfs.h, svrctl.h, time.h, 
          types.h, uio.h, un.h, utsname.h, wait.h

BOOT 的過程

  • 位於 MINIX3_SRC/boot/bootblock.s

參考資料

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License