1 / 5

MINIX 3 作業系統 原始程式碼解析

MINIX 3 作業系統 原始程式碼解析. 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/ : 行程相關的程式碼

disanto
Download Presentation

MINIX 3 作業系統 原始程式碼解析

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MINIX 3 作業系統原始程式碼解析

  2. 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 2

  3. servers/ : 訊息傳遞相關的程式碼 () • 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) 3

  4. 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 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) 4

  5. 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, 5

More Related