Pintos
1. bochs, pintos ¼³Ä¡
Virtual Box¸¦ ÀÌ¿ëÇÏ¿© Ubuntu¸¦ ¼³Ä¡ÇÏ°í bochs¿Í pintos¸¦ ¼³Ä¡ÇÑ´Ù.
1.1 bochs ½ÇÇàȸé
1.2 pintos -v -k -- run alarm-multiple ½ÇÇàȸé
2. Pintos ºÎÆðúÁ¤ ºÐ¼®
threads/init.cÀÇ main()¿¡¼ È£ÃâÇÏ´Â ÇÔ¼öµéÀ» Å« °ÍÀ» Áß½ÉÀ¸·Î º¸¸é ´ÙÀ½°ú °°´Ù.
ram_init ();
- ·¥À» ÃʱâÈ ÇÑ´Ù.
thread_init ();
- threads¿Í °ü·ÃµÈ °ÍµéÀ» ÃʱâÈ ÇÑ´Ù.
console_init ();
- console °ü·Ã ÃʱâÈ
palloc_init ();
- page-size·Î ¸Þ¸ð¸®¸¦ ³ª´©¾î¼ °ü¸®.
malloc_init ();
- ¸Þ¸ð¸® ÇÒ´ç °ü·Ã ÃʱâÈ
paging_init ();
- »õ·Î¿î Page Directory¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÃʱâÈ
intr_init ();
- Interrupt controller¸¦ ÃʱâÈ ÇÑ´Ù.
timer_init ();
- timer °ü·Ã »çÇ× ÃʱâÈ
thread_start ();
- thread¸¦ »ý¼ºÇÏ¸ç ½ºÄÉÁ층À» ½ÃÀÛÇÑ´Ù.
serial_init_queue ();
- serial port device¸¦ ÃʱâÈ
timer_calibrate ();
- loops_per_tick ¸¦¡¦(»ý·«)
3. Pintos Source ºÐ¼®
1) devices
2) lib
3) threads
4) userprog
4. Å×½ºÆ® ÀÛ¼º (Hello world, ÀÛ¼ºÀÚ À̸§)
|