24.01.2014 Views

Codice

Codice

Codice

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

180 volume VI os16<br />

104.4.41 kernel/fs/path_mkdir.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232<br />

104.4.42 kernel/fs/path_mknod.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234<br />

104.4.43 kernel/fs/path_mount.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234<br />

104.4.44 kernel/fs/path_stat.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235<br />

104.4.45 kernel/fs/path_umount.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236<br />

104.4.46 kernel/fs/path_unlink.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237<br />

104.4.47 kernel/fs/sb_inode_status.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238<br />

104.4.48 kernel/fs/sb_mount.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239<br />

104.4.49 kernel/fs/sb_reference.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240<br />

104.4.50 kernel/fs/sb_save.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240<br />

104.4.51 kernel/fs/sb_table.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241<br />

104.4.52 kernel/fs/sb_zone_status.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241<br />

104.4.53 kernel/fs/zone_alloc.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241<br />

104.4.54 kernel/fs/zone_free.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242<br />

104.4.55 kernel/fs/zone_read.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243<br />

104.4.56 kernel/fs/zone_write.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243<br />

104.5 os16: «kernel/ibm_i86.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243<br />

104.5.1 kernel/ibm_i86/_cli.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245<br />

104.5.2 kernel/ibm_i86/_in_16.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245<br />

104.5.3 kernel/ibm_i86/_in_8.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245<br />

104.5.4 kernel/ibm_i86/_int10_00.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245<br />

104.5.5 kernel/ibm_i86/_int10_02.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246<br />

104.5.6 kernel/ibm_i86/_int10_05.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246<br />

104.5.7 kernel/ibm_i86/_int12.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246<br />

104.5.8 kernel/ibm_i86/_int13_00.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246<br />

104.5.9 kernel/ibm_i86/_int13_02.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247<br />

104.5.10 kernel/ibm_i86/_int13_03.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247<br />

104.5.11 kernel/ibm_i86/_int16_00.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

104.5.12 kernel/ibm_i86/_int16_01.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

104.5.13 kernel/ibm_i86/_int16_02.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

104.5.14 kernel/ibm_i86/_out_16.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

104.5.15 kernel/ibm_i86/_out_8.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

104.5.16 kernel/ibm_i86/_ram_copy.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249<br />

104.5.17 kernel/ibm_i86/_sti.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

104.5.18 kernel/ibm_i86/con_char_read.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

104.5.19 kernel/ibm_i86/con_char_ready.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

104.5.20 kernel/ibm_i86/con_char_wait.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

104.5.21 kernel/ibm_i86/con_init.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

104.5.22 kernel/ibm_i86/con_putc.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251<br />

104.5.23 kernel/ibm_i86/con_scroll.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251<br />

104.5.24 kernel/ibm_i86/con_select.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252<br />

104.5.25 kernel/ibm_i86/dsk_read_bytes.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252<br />

104.5.26 kernel/ibm_i86/dsk_read_sectors.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252<br />

104.5.27 kernel/ibm_i86/dsk_reset.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253<br />

104.5.28 kernel/ibm_i86/dsk_sector_to_chs.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253<br />

104.5.29 kernel/ibm_i86/dsk_setup.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253<br />

104.5.30 kernel/ibm_i86/dsk_table.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254<br />

104.5.31 kernel/ibm_i86/dsk_write_bytes.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254<br />

104.5.32 kernel/ibm_i86/dsk_write_sectors.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254<br />

104.5.33 kernel/ibm_i86/irq_off.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255<br />

104.5.34 kernel/ibm_i86/irq_on.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255<br />

104.6 os16: «kernel/k_libc.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255<br />

104.6.1 kernel/k_libc/k_clock.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256<br />

104.6.2 kernel/k_libc/k_close.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256<br />

104.6.3 kernel/k_libc/k_exit.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256<br />

104.6.4 kernel/k_libc/k_kill.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256<br />

104.6.5 kernel/k_libc/k_open.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256<br />

104.6.6 kernel/k_libc/k_perror.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256<br />

104.6.7 kernel/k_libc/k_printf.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

104.6.8 kernel/k_libc/k_puts.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257<br />

104.6.9 kernel/k_libc/k_read.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

104.6.10 kernel/k_libc/k_stime.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

104.6.11 kernel/k_libc/k_time.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

104.6.12 kernel/k_libc/k_vprintf.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

104.6.13 kernel/k_libc/k_vsprintf.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

104.7 os16: «kernel/main.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

104.7.1 kernel/main/build.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

104.7.2 kernel/main/crt0.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

104.7.3 kernel/main/main.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260<br />

104.7.4 kernel/main/menu.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262<br />

104.7.5 kernel/main/run.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262<br />

104.8 os16: «kernel/memory.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262<br />

104.8.1 kernel/memory/address.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262<br />

104.8.2 kernel/memory/mb_alloc.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

104.8.3 kernel/memory/mb_alloc_size.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263<br />

104.8.4 kernel/memory/mb_free.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264<br />

104.8.5 kernel/memory/mb_reference.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

104.8.6 kernel/memory/mb_table.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

104.8.7 kernel/memory/mem_copy.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

104.8.8 kernel/memory/mem_read.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

104.8.9 kernel/memory/mem_write.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

104.9 os16: «kernel/proc.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266<br />

104.9.1 kernel/proc/_isr.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267<br />

104.9.2 kernel/proc/_ivt_load.s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269<br />

104.9.3 kernel/proc/proc_available.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269<br />

Script e sorgenti del kernel 181<br />

104.9.4 kernel/proc/proc_dump_memory.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270<br />

104.9.5 kernel/proc/proc_find.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270<br />

104.9.6 kernel/proc/proc_init.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271<br />

104.9.7 kernel/proc/proc_reference.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272<br />

104.9.8 kernel/proc/proc_sch_signals.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272<br />

104.9.9 kernel/proc/proc_sch_terminals.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272<br />

104.9.10 kernel/proc/proc_sch_timers.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273<br />

104.9.11 kernel/proc/proc_scheduler.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274<br />

104.9.12 kernel/proc/proc_sig_chld.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275<br />

104.9.13 kernel/proc/proc_sig_cont.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275<br />

104.9.14 kernel/proc/proc_sig_core.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275<br />

104.9.15 kernel/proc/proc_sig_ignore.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276<br />

104.9.16 kernel/proc/proc_sig_off.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276<br />

104.9.17 kernel/proc/proc_sig_on.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276<br />

104.9.18 kernel/proc/proc_sig_status.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276<br />

104.9.19 kernel/proc/proc_sig_stop.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277<br />

104.9.20 kernel/proc/proc_sig_term.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277<br />

104.9.21 kernel/proc/proc_sys_exec.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277<br />

104.9.22 kernel/proc/proc_sys_exit.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282<br />

104.9.23 kernel/proc/proc_sys_fork.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283<br />

104.9.24 kernel/proc/proc_sys_kill.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285<br />

104.9.25 kernel/proc/proc_sys_seteuid.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287<br />

104.9.26 kernel/proc/proc_sys_setuid.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287<br />

104.9.27 kernel/proc/proc_sys_signal.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287<br />

104.9.28 kernel/proc/proc_sys_wait.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288<br />

104.9.29 kernel/proc/proc_table.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288<br />

104.9.30 kernel/proc/sysroutine.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288<br />

104.10 os16: «kernel/tty.h» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291<br />

104.10.1 kernel/tty/tty_console.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292<br />

104.10.2 kernel/tty/tty_init.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292<br />

104.10.3 kernel/tty/tty_read.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292<br />

104.10.4 kernel/tty/tty_reference.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293<br />

104.10.5 kernel/tty/tty_table.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293<br />

104.10.6 kernel/tty/tty_write.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293<br />

104.1 os16: directory principale<br />

«<br />

104.1.1 bochs<br />

«<br />

Si veda la sezione 101.2.<br />

10001 |#!/bin/sh<br />

10002 |<br />

10003 |bochs -q "boot:floppy" \<br />

10004 | "floppya: 1_44=floppy.a, status=inserted" \<br />

10005 | "floppyb: 1_44=floppy.b, status=inserted" \<br />

10006 | "keyboard_mapping: enabled=1, \<br />

10007 | map=/usr/share/bochs/keymaps/x11-pc-it.map" \<br />

10008 | "keyboard_type: xt" \<br />

10009 | "vga: none" \<br />

10010 | "romimage: file=\"/usr/share/bochs/BIOS-bochs-legacy\"" \<br />

10011 | "megs:1"<br />

104.1.2 qemu<br />

«<br />

Si veda la sezione 101.2.<br />

20001 |#!/bin/sh<br />

20002 |<br />

20003 |qemu -fda floppy.a \<br />

20004 | -fdb floppy.b \<br />

20005 | -boot order=a<br />

20006 |<br />

104.1.3 makeit<br />

«<br />

Si veda la sezione 101.2.<br />

30001 |#!/bin/sh<br />

30002 |#<br />

30003 |# makeit...<br />

30004 |#<br />

30005 |OPTION="$1"<br />

30006 |OS16PATH=""<br />

30007 |#<br />

30008 |edition () {<br />

30009 | local EDITION="kernel/main/build.h"<br />

30010 | echo -n > $EDITION<br />

30011 | echo -n "#define BUILD_DATE \"" >> $EDITION<br />

30012 | echo -n ‘date "+%Y.%m.%d %H:%M:%S"‘ >> $EDITION<br />

30013 | echo "\"" >> $EDITION<br />

30014 |}<br />

30015 |#<br />

30016 |#<br />

30017 |#<br />

30018 |makefile () {<br />

30019 | #<br />

30020 | local MAKEFILE="Makefile"<br />

30021 | local TAB=" "<br />

30022 | #<br />

30023 | local SOURCE_C=""<br />

30024 | local C=""<br />

30025 | local SOURCE_S=""<br />

30026 | local S=""<br />

30027 | #<br />

30028 | local c<br />

30029 | local s<br />

30030 | #<br />

30031 | # Trova i file in C.<br />

30032 | #

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!