linux¸ùÎļþϵͳ¹ÒÔØ
ÓÉbootload½øÈëlinuxºóÓÉhead.s½øÈëÁËstart_kernelÁË.
asmlinkage void __init start_kernel(void)
{
char * command_line;
extern struct kernel_param __start___param[], __stop___param[];
………………..
setup_arch(&command_line);
………….
………..
vfs_caches_init(num_physpages); ………….
…………...
rest_init();
}
ÖØÒªº¯Êý½âÊÍ
1.Setup_archÊǽâÊÍbootloader´«¹ýÀ´µÄ²ÎÊý£¬²¢¸½Ïà¹Ø²ÎÊý¡£
void __init setup_arch(char **cmdline_p)
{
struct tag *tags = (struct tag *)&init_tags;
struct machine_desc *mdesc;
char *from = default_command_line;
setup_processor();
mdesc = setup_machine(machine_arch_type);
machine_name = mdesc->name;
if (mdesc->soft_reboot)
reboot_setup("s");
if (mdesc->boot_params)
tags = phys_to_virt(mdesc->boot_params);
/*
* If we have the old style parameters, convert them to
* a tag list.
*/
&nb
Ïà¹ØÎĵµ£º
/*
* ¸ÃÎļþÖ÷ҪʵÏÖµÄÊÇtruncateº¯Êý£¬¸Ãº¯ÊýÊÇÊÍ·ÅÖ¸¶¨i
* ½ÚµãÔÚÉ豸ÉÏÕ¼ÓõÄËùÓÐÂß¼¿é£¬°üÀ¨Ö±½Ó¿é¡¢Ò»´Î¼ä
* ½Ó¿éºÍ¶þ´Î¼ä½Ó¿é
*/
/*
* linux/fs/truncate.c
*
* (C) 1991 Linus Torvalds
*/
#include <linux/sched.h>
......
/*
* buffer.c ³ÌÐòÓÃÓÚ¶Ô¸ßËÙ»º³åÇø(³Ø)½øÐвÙ×÷ºÍ¹ÜÀí¡£¸ßËÙ»º³å
* ÇøÎ»ÓÚÄں˴úÂëºÍÖ÷ÄÚ´æÇøÖ®¼ä¡£
*
* |---|---|------------------|---------------------|-------------------|
* | | | * * * | &nbs ......
ÔÚ/etc/rc.d/init.d/ ´´½¨oracle10gÎļþ
touch oracle10g
chmod a+x oracle10g
[root@test~]# vi /etc/rc.d/init.d/oracle10g
#!/bin/bash
#chkconfig:345 51 49
#description:starts the oracle database deamons
#
ORACLE_HOME=/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
case "$1" in
start)
echo ......
/*
* linux/fs/file_dev.c
*
* (C) 1991 Linus Torvalds
*/
#include <errno.h>
#include <fcntl.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#define MIN(a,b) (((a)<(b))?(a):(b))
#defi ......
ÔÚlinuxÉÏ£¬jprofiler¿ÉÒÔ·ÖÎöjavaµÄÈí¼þϵͳ£¬oprofile¿ÉÒÔ·ÖÎöCµÄÈí¼þϵͳ¡£
oprofile¿ÉÒÔ˵ÊÇÒ»¸ö¹¤¾ß¼¯£¬°üº¬£º
ophelp£¬
opcontrol£¬
agent libraries£¬
opreport£¬
opannotate£¬
opgprof£¬
oparchive£¬
opimport¡£
³ ......