Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!bcm!dimacs.rutgers.edu!seismo!uunet!panews.awdpa.ibm.com!ibmpa.awdpa.ibm.com!webb From: webb@ibmpa.awdpa.ibm.com (Bill Webb) Newsgroups: comp.os.mach Subject: Re: Bytes in Mach 3.0? Message-ID: <1991Feb21.142106@ibmpa.awdpa.ibm.com> Date: 21 Feb 91 22:21:06 GMT References: <2981@fai.UUCP> <1991Feb13.170901@ibmpa.awdpa.ibm.com> <1991Feb14.220240.26795@ico.isc.com> <62753@bbn.BBN.COM> <1991Feb15.214231.21348@watmath.waterloo.edu> <1991Feb18.033855.4864@watdragon.waterloo.edu> <2910@m Sender: news@ibmpa.awdpa.ibm.com (news id) Reply-To: webb@ibmpa.awdpa.ibm.com (Bill Webb) Organization: IBM AWD Paloalto Lines: 245 In article <2931@motcsd.csd.mot.com>, lance@motcsd.csd.mot.com (lance.norskog) writes: |> lance@motcsd.csd.mot.com (lance.norskog) writes: |> |> >Folks, I think these numbers comprise the micro-kernel with the BSD Unix |> >'server' bolted on its side in an unholy fashion. Yes? No? |> |> So it's just the micro-kernel? |> |> All right, all right, here's another theory: ... |> ... |> Enough whistling in the dark: time to download the freed sources. |> |> Lance Ok, If I'd known I'd start such a lot of thrashing around I'd have either held back from answering the original question (how big was the microkernel?) or posted more information. Here's a summary of the output of the size command for each major component, followed by the details: 14348 880 256 15484 3c7c Sub-Total ddb 45340 32 0 45372 b13c Sub-Total ipc 39828 2728 0 42556 a63c Sub-Total kern 16768 1732 0 18500 4844 Sub-Total mach 1760 260 0 2020 7e4 Sub-Total mach_debug 39792 200 4 39996 9c3c Sub-Total vm 21528 624 18 22170 569a Sub-Total device 13132 340 0 13472 34a0 Sub-Total boot_ufs 5044 28 0 5072 13d0 Sub-Total intel 19944 15628 0 35572 8af4 Sub-Total i386 53404 6000 27 59431 e827 Sub-Total i386at 270888 28452 305 299645 4927d Total For this particular mach_kernel (MK42), the size command gives: text data bss dec hex 278496 29796 26844 335136 51d20 mach_kernel.MK42.STD+WS So the above accounts for almost all of the text+data (bss is harder to handle as the size command doesn't give most of it since it's in "common"). Here's all of the component information (exercise: find out what's missing!) text data bss dec hex 128 16 0 144 90 db_access.o 1024 0 0 1024 400 db_aout.o 1176 16 0 1192 4a8 db_break.o 1496 568 0 2064 810 db_command.o 1760 124 0 1884 75c db_examine.o 928 0 0 928 3a0 db_expr.o 1112 0 0 1112 458 db_input.o 1408 12 0 1420 58c db_lex.o 404 16 0 420 1a4 db_output.o 824 0 0 824 338 db_print.o 1052 0 0 1052 41c db_run.o 1076 60 256 1392 570 db_sym.o 260 0 0 260 104 db_trap.o 512 52 0 564 234 db_variables.o 940 16 0 956 3bc db_watch.o 248 0 0 248 f8 db_write_cmd.o 14348 880 256 15484 3c7c Sub-Total ddb text data bss dec hex 2096 0 0 2096 830 ipc_entry.o 1116 0 0 1116 45c ipc_hash.o 356 20 0 376 178 ipc_init.o 8364 0 0 8364 20ac ipc_kmsg.o 1148 4 0 1152 480 ipc_marequest.o 1372 0 0 1372 55c ipc_mqueue.o 2260 0 0 2260 8d4 ipc_notify.o 2372 0 0 2372 944 ipc_object.o 2940 0 0 2940 b7c ipc_port.o 612 0 0 612 264 ipc_pset.o 6264 0 0 6264 1878 ipc_right.o 616 0 0 616 268 ipc_space.o 2224 0 0 2224 8b0 ipc_splay.o 372 8 0 380 17c ipc_table.o 148 0 0 148 94 ipc_thread.o 1640 0 0 1640 668 mach_debug.o 6472 0 0 6472 1948 mach_msg.o 4968 0 0 4968 1368 mach_port.o 45340 32 0 45372 b13c Sub-Total ipc text data bss dec hex 316 0 0 316 13c ast.o 820 8 0 828 33c bootstrap.o 304 0 0 304 130 debug.o 2088 16 0 2104 838 exception.o 680 0 0 680 2a8 host.o 1352 0 0 1352 548 ipc_host.o 448 0 0 448 1c0 ipc_kobject.o 2404 0 0 2404 964 ipc_mig.o 544 8 0 552 228 ipc_sched.o 2544 0 0 2544 9f0 ipc_tt.o 644 136 0 780 30c kalloc.o 1176 4 0 1180 49c lock.o 1084 32 0 1116 45c mach_clock.o 408 36 0 444 1bc mach_factor.o 436 0 0 436 1b4 machine.o 2048 40 0 2088 828 printf.o 592 0 0 592 250 priority.o 2724 0 0 2724 aa4 processor.o 216 0 0 216 d8 queue.o 4044 268 0 4312 10d8 sched_prim.o 572 0 0 572 23c startup.o 364 4 0 368 170 syscall_emulation.o 700 0 0 700 2bc syscall_subr.o 104 2088 0 2192 890 syscall_sw.o 2524 12 0 2536 9e8 task.o 5452 24 0 5476 1564 thread.o 596 0 0 596 254 thread_swap.o 72 0 0 72 48 time_stamp.o 424 0 0 424 1a8 timer.o 440 12 0 452 1c4 xpr.o 3708 40 0 3748 ea4 zalloc.o 39828 2728 0 42556 a63c Sub-Total kern text data bss dec hex 4788 376 0 5164 142c mach_host_server.o 2536 240 0 2776 ad8 mach_port_server.o 8444 976 0 9420 24cc mach_server.o 252 40 0 292 124 memory_object_default_user.o 748 100 0 848 350 memory_object_user.o 16768 1732 0 18500 4844 Sub-Total mach text data bss dec hex 1760 260 0 2020 7e4 mach_debug_server.o 1760 260 0 2020 7e4 Sub-Total mach_debug text data bss dec hex 3488 8 0 3496 da8 memory_object.o 1320 0 0 1320 528 vm_debug.o 5036 20 0 5056 13c0 vm_fault.o 104 0 0 104 68 vm_init.o 1988 0 0 1988 7c4 vm_kern.o 12244 24 0 12268 2fec vm_map.o 7844 48 0 7892 1ed4 vm_object.o 1816 28 0 1844 734 vm_pageout.o 4868 52 4 4924 133c vm_resident.o 1084 20 0 1104 450 vm_user.o 39792 200 4 39996 9c3c Sub-Total vm text data bss dec hex 364 0 0 364 16c blkio.o 2632 92 0 2724 aa4 chario.o 840 0 0 840 348 cirbuf.o 820 0 0 820 334 dev_lookup.o 608 0 0 608 260 dev_name.o 4064 84 0 4148 1034 dev_pager.o 532 48 0 580 244 device_reply_user.o 1972 160 0 2132 854 device_server.o 3152 184 0 3336 d08 device_user.o 132 0 0 132 84 device_init.o 3368 0 0 3368 d28 ds_routines.o 2436 32 0 2468 9a4 net_io.o 608 24 18 650 28a subrs.o 21528 624 18 22170 569a Sub-Total device text data bss dec hex 600 4 0 604 25c boot_printf.o 7404 204 0 7608 1db8 default_pager.o 432 128 0 560 230 def_pager_setup.o 3028 0 0 3028 bd4 file_io.o 1668 4 0 1672 688 load.o 13132 340 0 13472 34a0 Sub-Total boot_ufs text data bss dec hex 5044 28 0 5072 13d0 pmap.o 5044 28 0 5072 13d0 Sub-Total intel text data bss dec hex 460 0 0 460 1cc exec.o 260 4 0 264 108 fpu.o 0 96 0 96 60 gdt.o 56 0 0 56 38 hardclock.o 308 24 0 332 14c i386_init.o 420 4 0 424 1a8 init.o 440 0 0 440 1b8 io_emulate.o 132 0 0 132 84 io_map.o 4456 8332 0 12788 31f4 db_disasm.o 812 8 0 820 334 db_interface.o 1092 208 0 1300 514 db_trace.o 0 232 0 232 e8 ktss.o 0 32 0 32 20 ldt.o 104 4 0 108 6c loose_ends.o 616 92 0 708 2c4 pic.o 516 28 0 544 220 pit.o 1348 0 0 1348 544 pcb.o 172 0 0 172 ac phys.o 524 0 0 524 20c read_fault.o 44 4 0 48 30 setroot.o 3108 100 0 3208 c88 trap.o 80 0 0 80 50 bcopy.o 32 0 0 32 20 bzero.o 24 0 0 24 18 gcc.o 2664 2048 0 4712 1268 idt.o 140 0 0 140 8c interrupt.o 28 0 0 28 1c ntoh.o 232 52 0 284 11c spl.o 60 0 0 60 3c _setjmp.o 68 0 0 68 44 kdasm.o 1748 4360 0 6108 17dc locore.o 19944 15628 0 35572 8af4 Sub-Total i386 text data bss dec hex 616 1160 0 1776 6f0 autoconf.o 2564 96 0 2660 a64 blit.o 228 2080 0 2308 904 c765.o 2412 88 0 2500 9c4 com.o 60 644 0 704 2c0 conf.o 7532 64 0 7596 1dac hd.o 2960 36 0 2996 bb4 if_3c501.o 7128 56 0 7184 1c10 if_pc586.o 6632 120 0 6752 1a60 if_ns8390.o 76 4 0 80 50 iopl.o 9200 1448 0 10648 2998 kd.o 1184 20 0 1204 4b4 kd_event.o 1292 16 13 1321 529 kd_mouse.o 276 0 0 276 114 kd_queue.o 2692 0 0 2692 a84 m765drv.o 7472 36 0 7508 1d54 m765knl.o 0 80 0 80 50 pic_isa.o 1080 52 14 1146 47a rtc.o 53404 6000 27 59431 e827 Sub-Total i386at ---------------------------------------------------------------- The above views are my own, not necessarily those of my employer. Bill Webb (IBM AWD Palo Alto, Ca.), (415) 855-4457. UUCP: ...!uunet!ibmsupt!webb INTERNET: webb@ibminet.awdpa.ibm.com Brought to you by Super Global Mega Corp .com