¸®´ª½º SMP ÇÏ¿ìÅõ¾çÀ¯¼ºÀÓÀºÀçv1.9, 13 January 2000
ÀÌ ÇÏ¿ìÅõ ¹®¼´Â ¸®´ª½º¿¡¼ SMP »ç¿ë¿¡ ´ëÇÑ ¹®Á¦, ÇØ°áÃ¥µé¿¡ °üÇØ ½áÁ³½À´Ï´Ù.
¸®´ª½º´Â SMP (Symmetric Multi-Processors) ¸Ó½®¿¡¼ ÀÛµ¿ÇÕ´Ï´Ù.
SMP Áö¿øÀº Ä¿³Î ¹öÁ¯ 2.0¿¡¼ ½ÃÀÛµÇ¾î ²ÙÁØÈ÷ °³¼±µÇ°í ÀÖ½À´Ï´Ù.
2.2.x ´ëÀÇ Ä¿³Î¿¡¼´Â º¸´Ù ¾ÈÁ¤µÇ°í ºü¸¥ ¼Óµµ¸¦ °¡Á® ¿Ã¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. º» ¹®¼´Â David Mentr (David.Mentre@irisa.fr)¿¡ ÀÇÇØ °ü¸®µÇ°í ÀÖÀ¸¸ç, ´ÙÀ½ ÁÖ¼Ò¿¡¼ ÃÖ±Ù ¹öÁ¯À» ±¸ÇÒ¼ö ÀÖ½À´Ï´Ù.
¸¸¾à ´ç½ÅÀÌ ÀÌ ¹®¼¿¡ ´ëÇÑ Á¶¾ð, ¼öÁ¤ »çÇ×µîÀÌ ÀÖ´Ù¸é
SGML
¹öÁ¯ ¿¡ ´ëÇÑ diff Çü½ÄÀ¸·Î º¸³» Áֽʽÿä.
±×·¯³ª ÅؽºÆ® ÇüÅÂÀÇ ¹®¼µµ ȯ¿µÀÔ´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ ÀÌ ÇÏ¿ìÅõ¿¡ ´ëÇØ
Àú¿¡°Ô À̸ÞÀÏÀ» º¸³»½Å´Ù¸é Á¦¸ñ¿¡ [Linux SMP HOWTO] ¸¦ ³Ö¾îÁÖ½Ã¸é ´õ ºü¸¥ ´äº¯À» ¹ÞÀ¸½Ç¼ö ÀÖ½À´Ï´Ù. ;) ÀÌ ÇÏ¿ìÅõ ¹®¼´Â Chris PirihÀÇ
ù¹ø° ¹®¼ ¹®¼·ÎºÎÅÍ °³¼±µÇ°í ÀÖ½À´Ï´Ù.
ÀúÀÚµéÀº À̹®¼»óÀÇ ¿À·ù¿Í »ý·«À¸·Î ¹ß»ýÇÒ¼ö ÀÖ´Â ¸ðµç ¼ÕÇØ¿Í ¹®Á¦µé¿¡ ´ëÇØ
Ã¥ÀÓÁöÁö ¾Ê½À´Ï´Ù.
¸®´ª½º°¡ ¸ÖƼ ½º·¹µå¸¦ Áö¿øÇϳª¿ä? ¸¸¾à ³»°¡ µÎ°³ ÀÌ»óÀÇ
ÇÁ·Î¼¼½º¸¦ ½ÇÇà ½ÃŲ´Ù¸é, ¸ðµç CPUµé¿¡ ºÐ»ê 󸮰¡ µÉ±î¿ä?
³×, ÇÁ·Î¼¼½º¿Í Ä¿³Î-½º·¹µåµéÀº ÇÁ·Î¼¼¼µé¿¡°Ô ºÐ»êµÉ °ÍÀÔ´Ï´Ù, ±×·¯³ª
À¯Àú ½ºÆäÀ̽º ½º·¹µåµéÀº ±×·¸Áö ¾Ê½À´Ï´Ù. ¾î¶² ¾ÆÅ°ÅØóµé¿¡¼ SMP¸¦ Áö¿ø Çϳª¿ä?
- Alan Cox·Î ºÎÅÍ:
SMP´Â Ä¿³Î 2.0 ÀÌ»ó ¿¡¼ ÀÎÅÚ MP1.1/1.4 ¸¦ Áö¿øÇÏ´Â hypersparc(SS20 ¶Ç´Â ±×¿Ü),
ÀÎÅÚ 486, ÆæƼ¾ö ¶Ç´Â ±× À̻󿡼 ÀÛµ¿ÇÕ´Ï´Ù.
Richard Jelinek°¡ µ¡ºÙÀÓ: 4 °³ÀÇ CPU ¿¡¼
Å×½ºÆ® µÇ¾ú°í, MP Ç¥ÁØ¿¡ µû¸£¸é ÀÌ·ÐÀûÀ¸·Î 16 CPU ±îÁö Áö¿øÇÒ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½º Ä¿³Î 2.2.x À̻󿡼 UltraSparc, SparcServer, Alpha ¿Í PowerPC µîÀ» Áö¿øÇÕ´Ï´Ù. - Ralf B?hle·Î ºÎÅÍ:
MIPS, m68k ¿Í ARM Àº SMP¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
m68k ¿Í ARMÀº ¾Æ¸¶ ¿µ¿øÈ÷ Áö¿øÇÏÁö ¾ÊÀ»°ÍÀÔ´Ï´Ù. Àú´Â MIPS-SMP ¹Ú½º°¡ »ý±â´Â µ¥·Î SMP Áö¿øÀ» À§ÇØ ÇØÅ·À» Çغ¸·Á°í ÇÕ´Ï´Ù.
¸®´ª½º SMP Ä¿³ÎÀº ¾î¶»°Ô ¸¸µå³ª¿ä?
¸¹Àº ¸®´ª½º ¹èÆ÷º»µéÀÌ SMP Ä¿³Î ÆÐÅ°Áö¸¦ Æ÷ÇÔÇÏ°í ÀÖÁö ¾Ê±â ¶§¹®¿¡
(¿ªÀÚÁÖ: »ç½Ç ¿äÁò ¹èÆ÷º»µéÀº ´ëºÎºÐ Æ÷ÇÔÇÏ°í ÀÖÁö¸¸,) ´ç½ÅÀÌ Á÷Á¢ ¸¸µé¾î¾ß
ÇÕ´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ ¾ÆÁ÷±îÁö Ä¿³Î ÄÄÆÄÀÏÀ» Çغ»ÀûÀÌ ¾ø´Ù¸é ÀÌ°ÍÀº ÁÁÀº
ÀÌÀ¯°¡ µÉ°ÍÀÔ´Ï´Ù. Ä¿³Î ÄÄÆÄÀÏ¿¡ ´ëÇÑ ¼³¸íÀº ÀÌ ¹®¼ÀÇ ¸ñÀû¿¡ ¹þ¾î³ª¹Ç·Î,
´õ ÀÚ¼¼ÇÑ ³»¿ëÀº Linux Kernel Howto ¸¦ Âü°íÇϼ¼¿ä. (C. Polisher)
Ä¿³Î 2.0 ÀÌ»ó (2.1.132À» Á¦¿ÜÇÑ) ¿¡¼´Â Ä¿³ÎÀÇ ÁÖ Makefile (/usr/src/linux/Makefile)¿¡¼ SMP=1 ¶óÀÎÀÇ ÁÖ¼®À» Ç®¾îÁÖ¸é µË´Ï´Ù.
Ä¿³Î 2.2.x À̻󿡼´Â
Processor type and features --->
[*] Symmetric multi-processing support
"Symmetric multi-processing support"¸¦ yes ·Î ÇØÁÝ´Ï´Ù.
(Michael Elizabeth
Chastain).
±×¸®°í
Character devices --->
[*] Enhanced Real Time Clock Support
À§¿Í °°ÀÌ "RTC support" ¸¦ yes ·Î ÇØÁÝ´Ï´Ù. (Robert G. Brown).
RTC Áö¿øÀº ¿ì¸®°¡ ¾Ë°í ÀÖ´Â ¹®Á¦ÀÎ SMP ½Ã½ºÅÛÀÇ ½Ã°£ÀÇ ´À·ÁÁüÀ» ÇØ°áÇÏÁö´Â
¾ÊÀ»°ÍÀÔ´Ï´Ù, ±×·¯³ª ºÎÆýà ½Ã°£À» ÀÐÀ»¶§ÀÇ Á¤ÁöÇö»óÀ» ¿¹¹æÇØ ÁÝ´Ï´Ù.
¶ÇÇÑ RTC ±â´ÉÀº ¸î¸î ¿À¸®Áö³¯ ÀÎÅÚ ¸ÞÀκ¸µå¿¡¼ µÎ¹ø° CPU¸¦ ÀνÄÇϴµ¥
ÇÊ¿äÇÕ´Ï´Ù (Richard Jelinek).
±×¸®°í
x86 Ä¿³Î¿¡¼´Â APM (advanced power management) ±â´ÉÀ» ³ÖÁö ¸¶½Ê½Ã¿ä!
APM °ú SMP ´Â ȣȯÇÏÁö ¾Ê½À´Ï´Ù. ±×¸®°í ´ç½ÅÀÇ ½Ã½ºÅÛÀº ºÐ¸íÈ÷(ÃÖ¼ÒÇÑ ¾Æ¸¶µµ ;)) ºÎÆýÿ¡ ¹®Á¦¸¦ ÀÏÀ¸Å³ °ÍÀÔ´Ï´Ù (Jakob Oestergaard).
2.1.x ÀÌ»óÀÇ SMP Ä¿³Î¿¡¼´Â APM ±â´ÉÀº ²¨Áý´Ï´Ù. ±âº»ÀûÀ¸·Î APM Àº SMP
½Ã½ºÅÛ¿¡¼ ¹ÌÁ¤À̸ç, ¹«½¼ÀÏÀ̵çÁö ÀϾ ¼ö ÀÖ½À´Ï´Ù.
(Alan Cox)
±×¸®°í
x86 Ä¿³ÎÀº "MTRR (Memory Type Range Register)" ±â´ÉÀ» Ä¿³Î¿¡ ³Ö½À´Ï´Ù.
ÀÌ°ÍÀº ¸î¸î ¹ö±×°¡ ÀÖ´Â BIOS¿¡¼ µÎ¹ø° ÇÁ·Î¼¼¼ÀÇ Ä³½¬ ¸Þ¸ð¸®°¡ ÀÛµ¿ÇÏÁö
¾Ê´Â°ÍÀ» ÇØ°á ÇØ ÁÝ´Ï´Ù.
´ç½ÅÀº Ä¿³Î°ú ¸ðµç °ü·Ã ¸ðµâµéÀ» SMP ¸ðµå·Î ´Ù½Ã ÄÄÆÄÀÏ ÇؾßÇÕ´Ï´Ù.
make modules °ú make
modules_install À» ÀØÁö ¸¶½Ê½Ã¿ä (Alan Cox).
¸¸¾à ¸ðµâ ÀûÀç ¿À·ù°¡ »ý±ä´Ù¸é ´ç½ÅÀº ¾Æ¸¶ ¸ðµâµéÀ» ÄÄÆÄÀÏ ÇÏÁö ¾Ê¾Ò°Å³ª
Àç ÀνºÅç ÇÏÁö ¾Ê¾ÒÀ» °ÍÀÔ´Ï´Ù.
¶ÇÇÑ, ¸î¸î 2.2.x ´ëÀÇ Ä¿³Î¿¡¼ SMP Ä¿³Î¿¡¼ ÀϹÝÄ¿³Î·ÎÀÇ Àç ÄÄÆÄÀϽà ¹®Á¦°¡
ÀÖ´Ù´Â º¸°í°¡ ÀÖ¾ú½À´Ï´Ù. ÀÌ°ÍÀ» ÇØ°áÇÏ·Á¸é .config
ÆÄÀÏÀ» ÀúÀåÇØ(´Ù¸¥ °÷¿¡) ³õÀº ´ÙÀ½, make mrproper ÇÑÈÄ,
¹é¾÷ÇسõÀº .config ÆÄÀÏÀ» º¹»çÇÑÈÄ Ä¿³ÎÀ» ÀçÄÄÆÄÀÏ ÇÕ´Ï´Ù.
(Wade Hampton).
Ä¿³Î ÄÄÆÄÀÏÈÄ lilo ½ÇÇàÀ» ÀØÁö ¸¶½Ê½Ã¿ä.
¿ä¾à:
make config # ¶Ç´Â menuconfig ¶Ç´Â xconfig
make dep
make clean
make bzImage # ¶Ç´Â ¿øÇÏ´Â °ÍÀ¸·Î(make zlilo,...)
# Ä¿³Î À̹ÌÁö¸¦ º¹»çÇÑÈÄ(/boot/¿¡) lilo¸¦ ½ÇÇà
make modules
make modules_install |
ºñ SMP Ä¿³ÎÀ» ¾î¶»°Ô ¸¸µå³ª¿ä?
Ä¿³Î 2.0 ´ë¿¡¼´Â Makefile (/usr/src/linux/Makefile) ¿¡¼ SMP=1 ¶óÀÎÀ» ÁÖ¼® ó¸®ÇÕ´Ï´Ù.
2.2 ´ë¿¡¼´Â Ä¿³Î ¼³Á¤½Ã "Symmetric multi-processing support" ¿¡ no ·Î
´ë´äÇÏ¸é µË´Ï´Ù (Michael Elizabeth Chastain).
´ç½ÅÀº Ä¿³Î°ú °ü·Ã ¸ðµâ ¸ðµÎ¸¦ Àç ÄÄÆÄÀÏ, ÀνºÅç ÇؾßÇÕ´Ï´Ù.
make modules ¿Í make
modules_install ±×¸®°í lilo¸¦ ½ÇÇà ½ÃÅ°´Â °ÍÀ» ÀØÁö ¸¶½Ê½Ã¿ä. SMP Ä¿³ÎÀÇ ÀÛµ¿ ¿©ºÎ´Â ¾î¶»°Ô È®ÀÎÇϳª¿ä?
cat /proc/cpuinfo
dual PentiumII ÀÇ ÀüÇüÀûÀÎ °á°ú:
processor : 0
cpu : 686
model : 3
vendor_id : GenuineIntel
[...]
bogomips : 267.06
processor : 1
cpu : 686
model : 3
vendor_id : GenuineIntel
[...]
bogomips : 267.06 |
¼¼¹ÐÇÑ ¶ôÅ·°ú ¸ÖƼ½º·¹µù »óÅ·ΠÀüȯµÇ´Â Ä¿³ÎÀÇ »óÅ´Â? ¸®´ª½º 2.2 Ä¿³ÎÀº ½Ã±×³Î ó¸®¿Í ÀÎÅÍ·´Æ®¿Í ¸î¸î I/O ÀÇ ¼¼¹ÐÇÑ ¶ô(lock)󸮰¡ µÇ¾îÀÖ´Ù.
³ª¸ÓÁö´Â õõÈ÷ À̽ĵǰí ÀÖ´Ù. ¸ðµç ½ºÄÉÁÙ¸µÀº SMP¿¡ ¾ÈÀüÇÏ´Ù. 2.3 (´ÙÀ½ ¹öÁ¯ÀÎ 2.4) Ä¿³ÎÀº ¾ÆÁÖ ¼¼¹ÐÇÑ ¶ôÅ· ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. 2.3 Ä¿³Î¿¡¼
Ä¿´Ù¶õ Ä¿³Î ¶ôÀÇ »ç¿ëÀº ±âº»ÀûÀ¸·Î »ç¶óÁö°í ´ëºÎºÐÀÇ ¸®´ª½º Ä¿³ÎÀÇ ÇϺΠ½Ã½ºÅÛµéÀº
ÃæºÐÈ÷ ½º·¹µåÈ µÈ´Ù: ³×Æ®¿öÅ·, VFS, VM, IO, block/page ij½¬, ½ºÄÉÁÙ¸µ, ÀÎÅÍ·´Æ®,
½Ã±×³Î µîµî.
(Ingo Molnar) ¸®´ª½º SMP °¡ ÇÁ·Î¼¼¼ÀÇ À¯»ç¼ºÀ» Áö¿øÇϳª¿ä?
- ÀϹÝÀûÀÎ Ä¿³Î
¾Æ´Ï¿ä & ³×.
ÇÁ·Î¼¼½ºµéÀ» ƯÁ¤ CPU À§¿¡¼ ½ÇÇàÇÏ°Ô ÇÏ´Â ±æÀº ¾ø½À´Ï´Ù.
±×·¯³ª ¸®´ª½º ½ºÄÉÁì·¯´Â °¢ °úÁ¤µéÀ» À§ÇØ ÇÁ·Î¼¼¼ ¼ºÇâÀ» °¡Áý´Ï´Ù.
±×°ÍÀº ÇÁ·Î¼¼½ºµéÀ» ƯÁ¤ CPUµé¿¡ ¿¬°á½ÃÅ°°Ô ÇÏ´Â °æÇâÀÌ ÀÖ½À´Ï´Ù. - ÆÐÄ¡
³×. °ü·Ã »çÀÌÆ® PSET - Processor Sets for the Linux kernel:
"ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ¸ñÀûÀº psetÀÇ »óÈ£ ȣȯ¼º°ú ±â´ÉÀ» ¸¸µé¾î ÁÝ´Ï´Ù.
(SGI¿¡ ÀÇÇØ Á¤ÀÇµÈ - ºÎºÐÀûÀ¸·Î IRIX 6.4 Ä¿³Î¿¡¼ »èÁ¦µÈ).
ÀÌ°ÍÀº »ç¿ëÀÚµéÀÌ Æ¯Á¤ ÇÁ·Î¼¼¼(µé)ÀÇ À§¿¡¼ ÇÁ·Î¼¼½ºµéÀ» µ¿ÀÛÇϵµ·Ï
°áÁ¤ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ±×¸®°í ½º·¹µåµéÀº ºÐ¸®µÈ ÇÁ·Î¼¼¼µé,
ŸÀ̹Ö, ¾ÈÀü (root ¸¸ÀÇ CPU?) ¿¡¼ »ç¿ëµÉ¼ö ÀÖ½À´Ï´Ù.
±×¸®°í ¾Æ¸¶µµ ´õ ¸¹Àº °Íµéµµ." ÀÌ°ÍÀº syscall sysmp()¿¡ ÁßÁ¡À» µÓ´Ï´Ù.
ÀÌ ±â´ÉÀº ¾î´À ±â´ÉÀÌ ¿äûµÇ´Â°¡¿¡ µû¶ó ¸¹Àº ¸Å°³ º¯¼öµéÀÌ ÀÖ½À´Ï´Ù.
±â´ÉµéÀº ´ÙÀ½À» Æ÷ÇÔÇÕ´Ï´Ù.
ÇÁ·Î¼¼½º/½º·¹µå¸¦ ƯÁ¤ CPU¿¡ °íÁ¤ÇÏ´Â°Í ¸î°¡Áö ÇÁ·Î¼¼½ºµéÀ» ½ÇÇàÇÏ´Â CPUÀÇ ´É·ÂÀ» ÇÑÁ¤ÇÏ´Â°Í ÁýÁߵǴ ½ÇÇà¿¡¼ CPU¸¦ ÇÑÁ¤ ½ÃÅ°´Â°Í (restricting a CPU from running at all) ¿À·ÎÁö ÇÑ°³ÀÇ ÇÁ·Î¼¼½º(ºÎ ÇÁ·Î¼¼½ºµéÀ» Æ÷ÇÔ)¸¦ ½ÇÇàÇϵµ·Ï ÇÏ´Â°Í CPUÀÇ »óÅ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò´Â°Í ¹Ù¿îµå µÇ¾î ÀÖÀ»Áöµµ ¸ð¸£´Â ÇÁ·Î¼¼½ºµéÀÇ »ý¼º°ú Æı«
(creating/destroying sets of processors, to which processes may be bound)
SMP ¹ö±×´Â ¾îµð¿¡ º¸°íÇØ¾ß Çϳª¿ä?
linux-smp@vger.rutgers.edu. SMPÀÇ ¼º´ÉÀº ¾î¶²°¡¿ä?
¸¸¾à ´ç½ÅÀÌ SMP ½Ã½ºÅÛÀÇ ¼º´ÉÀ» ÃøÁ¤ÇÏ°í ½Í´Ù¸é Cameron MacKinnon¿¡ ÀÇÇØ
¸¸µé¾îÁø http://www.phy.duke.edu/brahma/benchmarks.smp¿¡¼ ¸î°¡Áö Å×½ºÆ®¸¦
Çغ¼¼ö ÀÖ½À´Ï´Ù.
³ª¿¡°Ô SMP°¡ Á¤¸» ÇÊ¿äÇÑ°¡¿ä?
¸¸¾à ´ç½ÅÀÌ ±×·¸°Ô ¹°¾îºÁ¾ß ÇÑ´Ù¸é ¾Æ¸¶µµ ¾Æ´Ò°Í ÀÔ´Ï´Ù. :)
ÀϹÝÀûÀ¸·Î, ¸ÖƼ ÇÁ·Î¼¼¼ ½Ã½ºÅÛÀº ÇÑ°³ÀÇ ÇÁ·Î¼¼¼¸¦ °¡Áø ½Ã½ºÅÛ¿¡ ºñÇØ
´õ ³ºÀº ÆÛÆ÷¸Õ½º¸¦ º¸¿©ÁÝ´Ï´Ù. ±×·¯³ª ºÐ¸íÈ÷ ÆľÇÇØ¾ß ÇÒ°ÍÀº
CPU ÀÇ ¼öÀÌ¿Ü¿¡ ¸¹Àº ´Ù¸¥ ¿äÀεéÀ» °í·ÁÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î, ÁÖ¾îÁø ½Ã½ºÅÛÀÇ ÇÁ·Î¼¼¼°¡ ´À¸° µð½ºÅ© µå¶óÀÌºê ¶§¹®¿¡
½¬°í ÀÖ´Ù¸é, ÀÌ ½Ã½ºÅÛÀº "input/output bound"À̸ç, ÇÁ·Î¼¼¼ÀÇ Ãß°¡·Î
¾ò´Â ÀÌÀÍÀº ÀûÀ» °ÍÀÔ´Ï´Ù. ¸¸¾à ½Ã½ºÅÛÀÌ ¸¹Àº ÇÁ·Î¼¼½ºµéÀ» µ¿½Ã¿¡ ½ÇÇàÇÏ°í
ÀÖ´Ù¸é ÇÁ·Î¼¼¼ÀÇ Ãß°¡·Î ¾ò´Â À̵æÀº ¸¹¾ÆÁý´Ï´Ù. º¹¼öÀÇ ÇÁ·Î¼¼¼µéÀÌ »ç¿ëµÉ¶§
SCSI µð½ºÅ© µå¶óÀ̺êµéÀº ¸Å¿ì È¿°úÀûÀϼö ÀÖ½À´Ï´Ù.(C. Polisher) µÎ°³ÀÇ 300 MHz ÇÁ·Î¼¼¼¿Í ÇÑ°³ÀÇ 600 MHz ÇÁ·Î¼¼¼´Â °°Àº
´É·ÂÀ» ¼öÇàÇÏ´ÂÁö?
ÀÌ°ÍÀº ¼öÇàµÇ´Â ¾îÇø®ÄÉÀ̼ǿ¡ µû¶ó ´Ù¸¨´Ï´Ù. ±×·¯³ª ´ëºÎºÐÀÇ °æ¿ì´Â ¾Æ´Õ´Ï´Ù.
SMP ´Â ´ÜÀÏ ÇÁ·Î¼¼¼¿¡ ºñÇØ ¾à°£ÀÇ ¿À¹öÇìµå¸¦ Ãß°¡ÇÕ´Ï´Ù.
(Wade Hampton).
:) ¾î¶»°Ô ÇÏ¸é ¿©·¯°³ÀÇ CPUÀÇ ¼º´ÉÀ» Ãâ·ÂÇØ º¼¼ö ÀÖ³ª¿ä?
Samuel S. ChessmanÀÇ ´öÅÃÀ¸·Î ¸î°¡Áö À¯¿ëÇÑ
À¯Æ¿¸®Æ¼µéÀÌ ´ÙÀ½¿¡ ÀÖ½À´Ï´Ù:
´ç½ÅÀº xosview ·Î ÇÁ·Î¼¼½º ½ºÄÉÁ층À» Á¤È®ÇÏ°Ô ¸ð´ÏÅ͸µ ÇÒ¼ö´Â ¾ø½À´Ï´Ù.
xosview ÀÚü°¡ ÇϳªÀÇ ÇÁ·Î¼¼½º À̸ç, ½ºÄÉÁ층¿¡ ¿µÇâÀ» ÁֹǷΠ(H. Peter Anvin). Ä¿³Î ÄÄÆÄÀϽà 1°³ÀÇ ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ ½ÇÇà ½ÃÅ°·Á¸é?
´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù:
# make [modules|zImage|bzImages] MAKE="make -jX"
X ´Â CPU ¼ýÀÚÀÔ´Ï´Ù.
ÁÖÀÇ : ÀÌ°ÍÀº "make dep" ¿¡¼´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. |
2.2 ´ë Ä¿³Î¿¡¼´Â /usr/src/linux/Documentation/smp.txt ¹®¼¸¦ Âü°íÇϼ¼¿ä.
º¹¼öÀÇ ÇÁ·Î¼¼¼µéÀ» »ç¿ëÇϱâ À§ÇÑ ÃæºÐÇÑ ¸Þ¸ð¸®¿Í ÀÔÃâ·Â ¼Óµµ(ÇÏµå µð½ºÅ©µîÀÇ)
°¡ ¾Æ´Ï¶ó¸é ÄÄÆÄÀÏ°úÁ¤¿¡ ´õ Áö¿¬À» ÀÏÀ¸Å³¼ö ÀÖ½À´Ï´Ù.
make MAKE="make -j 2" -j 2 ´Â ½ÇÁ¦·Î ´ÜÀÏ
ÇÁ·Î¼¼¼¿¡¼µµ È¿°ú¸¦ º¼¼ö ÀÖ½À´Ï´Ù. (Ralf B?hle). ¿Ö time ¸í·É¾î°¡ ºÎÁ¤È®ÇÏ°Ô ÀÛµ¿ÇÏ´ÂÁö?
(Joel Marchand)
2.x ´ëÀÇ Ä¿³Î¿¡¼ time ¸í·É¾îÀÇ °á°ú´Â ºÎÁ¤È®ÇÕ´Ï´Ù. À¯Àú¿Í ½Ã½ºÅÛÀÇ ÇÕÀº ¸Â½À´Ï´Ù¸¸, À¯Àú¿Í ½Ã½ºÅÛ »çÀÌ¿¡ spreading
(¹èÄ¡? ¹ß»ý?)µÇ´Â ½Ã°£Àº Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.
´õ ÀÚ¼¼ÇÏ°Ô: ºÎÆ® CPU ÀÌ¿ÜÀÇ ÇÁ·Î¼¼¼µé¿¡ ÀÇÇØ »ç¿ëµÇ´Â ½Ã°£µéÀÌ
½Ã½ºÅÛÀÇ ½Ã°£°ú °°´Ù°í »ý°¢µÇ±â ¶§¹®ÀÌ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ ÇÁ·Î±×·¥ÀÇ ½Ã°£À» Àé´Ù¸é,
»ç¿ëÀÚ ½Ã°£°ú ½Ã½ºÅÛÀÇ ½Ã°£À» ´õÇÑ´Ù¸é ±×°ÍÀº °ÅÀÇ Á¤È®ÇÒ °ÍÀÌ´Ù.
(½Ã½ºÅÛ ½Ã°£À» °è»êÇÏ´Â ½Ã°£À» Á¦¿ÜÇÑ)
(Jakob ?tergaard).
ÀÌ ¹ö±×´Â 2.2 Ä¿³Î¿¡¼ ¼öÁ¤µÇ¾ú½À´Ï´Ù.
Jakob ?tergaard ¿¡ ÀÇÇØ SMP ¸®´ª½º¸¦ À§ÇÑ ´ÙÁß ½º·¹µå ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼½¼ÇÀÔ´Ï´Ù.
POSIX ½º·¹µå PVM / MPI Message Passing Libraries fork() -- ´ÙÁß ÇÁ·Î¼¼½º
fork() ¿Í PVM/MPI´Â ÀϹÝÀûÀ¸·Î ¸Þ¸ð¸®¸¦ °øÀ¯ÇÏÁö ¾Ê¾Æ,
IPC ¶Ç´Â ¸Þ½Ã¡ API ¿¡ ÀÇÇØ ¼ÒÅëµÇ±âµµ Çϸç, ÀÌ°ÍÀº À̹øÀå¿¡¼
´õÀÌ»ó ¼³¸íµÇÁö´Â ¾ÊÀ» °ÍÀ̸ç, À̰͵éÀº ´ÜÀÏ ÇÁ·Î¼¼¼¿Í Ŭ·¯½ºÅÍ¿¡¼µµ
»ç¿ëµÇ´Â °ÍÀ̹ǷΠSMP ¿¡ ƯÁ¤µÇ¾î ÀÖÁöµµ ¾Ê½À´Ï´Ù. ¿À·ÎÁö POSIX ½º·¹µå¸¸ÀÌ ½Ã½ºÅÛ ÀÚ¿øÀ» °øÀ¯ÇÏ´Â °Í(ƯÈ÷ ¸Þ¸ð¸®)°ú °°Àº
´ÙÁß ½º·¹µå¸¦ Á¦°øÇÑ´Ù. ÀÌ°ÍÀº SMP ¸Ó½ÅÀ» Ưº°ÇÏ°Ô ÇÏ´Â °ÍÀ̸ç,
¸¹Àº ÇÁ·Î¼¼¼µéÀÌ ¸Þ¸ð¸®¸¦ °øÀ¯ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
SMP¿¡¼ ¾çÂÊ(¶Ç´Â ±×ÀÌ»ó)ÀÇ ÇÁ·Î¼¼¼¸¦ »ç¿ëÇϱâ À§Çؼ´Â
Ä¿³Î-½º·¹µå-¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù.
ÁÁÀº ¶óÀ̺귯¸®´Â LinuxThreads - Xavier Leroy¿¡ ÀÇÇØ ¸¸µé¾îÁø pthread ¶óÀ̺귯¸®ÀÌ´Ù.
»õ·Î¿î ¸®´ª½º ¹èÆ÷º»µéÀº ÀÌ ¶óÀ̺귯¸®¸¦ ±âº»À¸·Î Æ÷ÇÔÇÏ°í ÀÖ´Ù.
±×·¯¹Ç·Î, ´ç½ÅÀº Ä¿³Î ½º·¹µå »ç¿ëÀ» À§ÇØ µû·Î ÆÐÅ°Áö¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ¿¡¼ Ä¿³Î-½º·¹µùÀ» »ç¿ëÇÏÁö ¾Ê´Â ½º·¹µåµé
(±×¸®°í POSIX ½º·¹µåµé)ÀÇ ½ÇÇöÀÌ ÀÖ´Ù.
ÀÌ ½º·¹µå ²Ù·¯¹ÌµéÀº ÇÑ°³ÀÇ °úÁ¤¿¡¼ ½º·¹µùÀ» À¯ÁöÇÑ´Ù.
±×·¯¹Ç·Î SMP¸¦ ÀÌ¿ëÇÏÁö ¸»¶ó. ±×·¯³ª ±×µéÀº ¸¹Àº Àû¿ë¿¡ ÁÁ°í, ÇÑ°³ÀÇ ÇÁ·Î¼¼¼
½Ã½ºÅÛ¿¡ °üÇÑ Ä¿³Î-½º·¹µåµé º¸´Ù ½ÇÁ¦·Î ´õ ºü¸¥ °æÇâÀÌ ÀÖ´Ù. ´ÙÁß-½º·¹µùÀº Un*x ¼¼°è¿¡¼ ÀαⰡ ¾ø¾ú½À´Ï´Ù.
¸î°¡Áö ÀÌÀ¯·Î, º¹¼öÀÇ ÇÁ·Î¼¼½º ¶Ç´Â ½º·¹µå¸¦ ÇÊ¿ä·Î ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀ» À§ÇØ,
´ëºÎºÐÀº fork()¸¦ »ç¿ëÇÏ¿© ¾º¿©Á³½À´Ï´Ù. ±×·¯¹Ç·Î, ½º·¹µå »ç¿ë¿¡ Á¢±ÙÇÒ¶§,
¼·Î ȣȯµÇÁö ¾Ê´Â(thread-readyÇÏÁö ¾ÊÀº) ¶óÀ̺귯¸®, ÄÄÆÄÀÏ·¯ ±×¸®°í µð¹ö°ÅµîÀÌ
¹®Á¦°¡ µË´Ï´Ù. GNU/Linux ¶ÇÇÑ ¿¹¿Ü´Â ¾Æ´Õ´Ï´Ù. ´ÙÀ½ÀÇ ¸îÀå¿¡¼ ÇöÀç °¡´ÉÇÑ °Í°ú
±×·¸Áö ¾ÊÀº °ÍÀ» ¼³¸íÇÕ´Ï´Ù.
¿À·¡µÈ C ¶óÀ̺귯¸®´Â ½º·¹µå¿¡ ¾ÈÀüÇÏÁö ¾Ê½À´Ï´Ù.
GNU LibC (glibc), ¶ÇÇÑ
libc6·Î ¾Ë·ÁÁø ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â °ÍÀº
¸Å¿ì Áß¿äÇÕ´Ï´Ù. ÀÌÀü ¹öÁ¯µéµµ ´ç¿¬È÷ »ç¿ë°¡´ÉÀº Çϳª, ´ç½ÅÀ» Á»´õ
±«·ÓÇô ½Ã½ºÅÛ ¾÷±×·¹À̵åÀÇ ¿øÀÎÀÌ µÉ°ÍÀÔ´Ï´Ù. ¾Æ¸¶µµ :) ¸¸¾à ÇÁ·Î±×·¥ÀÇ µð¹ö±ëÀ» À§ÇØ GDB ¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é ´ÙÀ½À» º¸½Ê½Ã¿ä.
GNU/Linux ¸¦ À§ÇÑ Ç³ºÎÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ÀÖ½À´Ï´Ù,
±×¸®°í ±×Áß¿¡ ´ëºÎºÐÀº ¾î¶»°Ô µç ½º·¹µå(½ÉÁö¾î Ada ¿Í ÀÚ¹Ù¿Í °°Àº ¾ð¾îµéµµ)
¸¦ »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. ÀÌ Àå¿¡¼´Â C ¿Í C++ ¿¡ °üÇؼ¸¸ ±â¼úÇÒ°ÍÀÔ´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ
´Ù¸¥ ¾ð¾î·Î SMP ÇÁ·Î±×·¡¹ÖÀÇ °æÇèÀÌ ÀÖ´Ù¸é ¾Ë·ÁÁÖ¼¼¿ä. GNU C ¿Í C++, EGCS C ¿Í C++ ÄÄÆÄÀÏ·¯µéÀº Ç¥ÁØÀÇ C ¶óÀ̺귯¸®¿¡¼ ½º·¹µå¸¦
Àß Áö¿øÇÑ´Ù. (glibc). ±×·¯³ª ¿©±â¿¡ ¾à°£ÀÇ
À̽´µéÀÌ ÀÖ´Ù.
C ¿Í C++ ÀÇ ÄÄÆÄÀÏÁß, -D_REENTRANT ¸¦
ÄÄÆÄÀÏ·¯ Ä¿¸Çµå ¶óÀο¡¼ Á¤ÀÇÇÑ´Ù. ÀÌ°ÍÀº ¿¡·¯ ó¸® ±â´ÉÀ» À§ÇØ ÇÊ¿äÇÏ´Ù.
(errno variable°ú °°Àº).
C++ ¸¦ »ç¿ëÇÒ¶§¿¡ ¸¸¾à µÎ°³ÀÇ ½º·¹µå°¡ µ¿½Ã¿¡ throw exceptions ÇÑ´Ù¸é,
ÀÌ ÇÁ·Î±×·¥Àº segfault µÉ°ÍÀÔ´Ï´Ù. ±×¸®°í, ÄÄÆÄÀÏ·¯´Â ½º·¹µå-¾ÈÀü ÇÏÁö ¾ÊÀº
Äڵ带 »ý¼ºÇÒ °ÍÀÔ´Ï´Ù.
ȸÇÇ ¹æ¹ýÀº pthread_mutex_lock(&global_exception_lock) À» ¸ðµç constructor(s) Ŭ·¡½º throw()¿¡ ³Ö´Â´Ù.
, ±×¸®°í »óÀÀÇÏ´Â pthread_mutex_unlock(...) ¸¦ Ãß°¡ÇÕ´Ï´Ù.
ÀÌ°ÍÀº º¸±â ÁÁÁö´Â ¾ÊÀ¸³ª, ÀÛµ¿Àº ÇÕ´Ï´Ù.
ÀÌ ¹æ¹ýÀº Markus Ferch¿¡ ÀÇÇØ Á¦½Ã µÇ¾ú½À´Ï´Ù.
GNU µð¹ö°Å GDB ¹öÁ¯ 4.18Àº ½º·¹µå¸¦
¹Ù¸£°Ô Ãë±ÞÇÒ °ÍÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»µéÀÌ ÆÐÄ¡µÈ(thread-aware)ÇÑ gdb
¸¦ Á¦°øÇÕ´Ï´Ù. ´ÜÁö, ½º·¹µå¿Í ÀÏÇϱâ À§ÇØ glibc¸¦ ÆÐÄ¡ÇÏ´Â °ÍÀº ºÒÇÊ¿äÇÕ´Ï´Ù.
¸¸¾à ´ç½ÅÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ µð¹ö±ë ÇÒ ÇÊ¿ä°¡ ¾ø´Ù¸é( °³¹ß ½Ã½ºÅÛÀ» Á¦¿ÜÇÑ, ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼´Â ±×·²°ÍÀÌ´Ù.) glibcÀÇ ÆÐÄ¡´Â ºÒÇÊ¿ä ÇÕ´Ï´Ù. ÄÚ¾î ´ýÇÁ´Â º¹¼öÀÇ ½º·¹µåµé¿¡ ÀÇÇØ »ý±âÁö ¾Ê½À´Ï´Ù.
¾î¶»°Ôµç, ÄÚ¾î ´ýÇÁ´Â ÇÁ·Î±×·¥ Àüü°¡ ¾Æ´Ñ ÇöÀç ½ÇÇàÁßÀÎ ½º·¹µå¿¡ ºÙ¿©Áý´Ï´Ù.
±×·¯¹Ç·Î, ¹«¾ùÀ̵çÁö µð¹ö±ëÀ» ÇÒ¶§ µð¹ö°Å»ó¿¡¼ ½ÇÇà½ÃÅ°¼¼¿ä.
Note that core-dumps are of no use when using multiple
threads. Somehow, the core dump is attached to one of the currently
running threads, and not to the program as a whole. Therefore,
whenever you are debugging anything, run it from the debugger. ÈùÆ®: ¸¸¾à ½º·¹µå°¡ 100% CPU timeÀ»
Àâ¾Æ¸Ô°í ÀÖ´Ù¸é, ±× ÀÌÀ¯¸¦ ¾Ë¾Æ³¾¼ö ¾øÀ»°ÍÀÔ´Ï´Ù. ÀÌ °æ¿ì ÁÁÀº ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
: GDB »óÀÌ ¾Æ´Ï¶ó, ½©»ó¿¡¼ ¹Ù·Î ÇÁ·Î±×·¥À» ½ÇÇà ½Ãŵ´Ï´Ù.
top À¸·Î ±× ÇÁ·Î±×·¥ÀÇ PID¸¦ ¾Ë¾Æ³À´Ï´Ù. ´ÙÀ½ GDB¸¦ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÕ´Ï´Ù.
gdb ÇÁ·Î±×·¥ pid.
ÀÌ°ÍÀº GDB¸¦ ÁöÁ¤ÇÑ PID ÇÁ·Î¼¼½º¿¡ Àû¿ëÇÏ°Ô Çϸç, ½º·¹µå´Â ¸ØÃâ °Í ÀÔ´Ï´Ù.
ÀÌÁ¦ ´ç½ÅÀº ±× ½º·¹µå¿¡ ÇØ´çÇÏ´Â GDB ¼¼¼Ç°ú bt¸¦ »ç¿ëÇÒ¼ö ÀÖÀ¸¸ç, ¹«¾ùÀÌ ÀϾ°í ÀÖ´ÂÁö ¾Ë¼ö ÀÖ½À´Ï´Ù.
ElectricFence: ÀÌ ¶óÀ̺귯¸®´Â ½º·¹µå¿¡¼ ¾ÈÀüÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÀÌ°Í¿¡ mutex lockÀ» »ðÀÔÇÔÀ¸·Î½á SMP ȯ°æ¿¡¼ÀÇ »ç¿ëÀÌ
°¡´ÉÇØ Áý´Ï´Ù.
Cyrix, AMD µîÀÇ ÀÎÅÚ¿ÜÀÇ CPU¿¡¼ SMP ¸¦ »ç¿ëÇÒ¼ö ÀÖ³ª¿ä?
ªÀº ´ë´ä: ¾Æ´Ï¿ä.
±ä ´ë´ä: ÀÎÅÚÀº APIC SMP¾È ¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ»
ÁÖÀå ÇÏ°í ÀÖ½À´Ï´Ù. ±×¸®°í À§ ȸ»çµéÀÌ ±× ¾ÈÀ» »ç¿ëÇÏ°í ÀÖÁö ¾Ê°í ÀÖ½À´Ï´Ù.
(ÀÌ°ÍÀº ¹Ì·¡¿¡ ¹Ù²ð¼ö ÀÖ°ÚÁö¿ä). »çÀ̸¯½º¿Í AMD´Â ¼ÒÀ¯±ÇÀÌ º¸È£µÇÁö ¾Ê´Â
OpenPIC¸¦ Áö¿øÇÕ´Ï´Ù¸¸, ÇöÀç±îÁö ±×°ÍÀ» »ç¿ëÇÏ´Â ¸¶´õº¸µå°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ¿Ö ¿À·¡µÈ ³» Compaq ¿¡¼ ÀÛµ¿ÇÏÁö ¾Ê³ª¿ä?
MP1.1/1.4 ȣȯ ¸ðµå·Î ¸ÂÃß¾î ³õÀ¸¼¼¿ä.
"Configure Hardware" -> "View / Edit details" -> "Advanced mode"
(F7 ÀÏ °Ì´Ï´Ù.) "APIC mode" ¼³Á¤¿¡¼ "full Table mode"·Î ÇÕ´Ï´Ù.
ÀÌ°ÍÀº ÄÄÆÑÀÇ °ø½ÄÀûÀÎ ±ÇÀå»çÇ× ÀÔ´Ï´Ù.(Daniel Roesen)
(Adrian Portelli)Àº ´ÙÀ½°ú °°ÀÌ Çß½À´Ï´Ù :
¼¹ö ºÎÆýà F10À» ´©¸£¸é ½Ã½ºÅÛ ¼³Á¤À¸·Î µé¾î°©´Ï´Ù. ¿£Å͸¦ ´©¸£°í ½ºÇ÷¹½¬ ȸéÀ» Áö³ª°©´Ï´Ù. À绡¸® CTRL+A ¸¦ ´©¸¨´Ï´Ù. "Advanced Mode" ¼³Á¤ ¸Þ¼¼Áö°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. "Configure Hardware" -> "View / Edit details" ¸¦ ¼±ÅÃÇÏ°í, ¼³Á¤ ȸéÀÌ ³ªÅ¸³ª¸é "APIC Mode" ±îÁö ½ºÅ©·Ñ ÇÑ´ÙÀ½ "Fully Mapped"¸¦ ¼±ÅÃÇÕ´Ï´Ù. ÀúÀåÇÏ°í ¸®ºÎÆÃÇÕ´Ï´Ù.
¿Ö ALR¿¡¼ ÀÛµ¿ÇÏÁö ¾Ê³ª¿ä?
Robert Hyatt·ÎºÎÅÍ: ALR Revolution quad-6 ´Â
¸Å¿ì ¾ÈÀüÇØ º¸ÀδÙ. ¸î¸î ¿À·¡µÈ revolution quad (P6 ÇÁ·Î¼¼¼°¡ ¾ø´Â)´Â ºÒÈ®½Ç...
¿Ö SMP °¡ ´À¸®ÁÒ? ¶Ç´Â ¿Ö ÇÑ°³ÀÇ CPU°¡ ´Ù¸¥ CPU¿¡ ºñÇØ ¸Å¿ì ³·Àº º¸°í¹Ó½º °ªÀ» ³ªÅ¸³»Áö¿ä?
Alan Cox ·Î ºÎÅÍ: ¸¸¾à ÇÁ·Î¼¼¼µé Áß ÇϳªÀÇ
º¸°í¹Ó½º °ªÀÌ ¸Å¿ì ³·´Ù¸é, ij½¬°¡ ÀÛµ¿ÇÏÁö ¾Ê´Â°Í ÀÔ´Ï´Ù.
´ç½ÅÀÇ ¸¶´õº¸µå´Â ¾Æ¸¶µµ ¹ö±×°¡ ÀÖ´Â BIOS¸¦ »ç¿ëÇÏ°í ÀÖÀ»°ÍÀÔ´Ï´Ù.
ÆÐÄ¡(BIOS ¾÷±×·¹À̵å?)¸¦ ÇÏ´øÁö µ¹·Áº¸³»µçÁö, »õ·Î »ç´øÁö Çϼ¼¿ä.
2.0 Ä¿³Î (> 2.0.36) ¿¡¼ MTRR ÆÐÄ¡´Â ÀÌ ¹®Á¦¸¦ ÇØ°áÇØ ÁÙ°ÍÀÔ´Ï´Ù.
(Ä¿³Î ¼³Á¤¿¡¼ "Handle buggy SMP BIOSes with bad MTRR setup" ¸¦ ¼±ÅÃÇϼ¼¿ä).
¸¶Áö¸· ¹öÁ¯ÀÇ 2.2 ´ë Ä¿³ÎµéÀº ¹ö±×°¡ ÀÖ´Â SMP BIOS ¹®Á¦¸¦ ¾Ë¾Æ¼ ó¸®ÇÒ°Í
À̶ó°í »ý°¢ÇÕ´Ï´Ù. IBM ¸Ó½®¿¡¼ ¹®Á¦µéÀÌ ÀÖ´Ù°í µé¾ú½À´Ï´Ù.
¸î¸î IBM ÀÇ EBDA ¿¡¼ MP1.4 bios ºí·°À» °¡Áý´Ï´Ù. ÀÌ°ÍÀº Çã¶ôµÇÁö¸¸
2.2 Ä¿³Î ÀÌÇÏ¿¡¼´Â Áö¿øµÇÁö ¾Ê½À´Ï´Ù.
¿À·¡µÈ 486SLC IBM SMP ¹Ú½º¿¡¼ Linux/SMP ´Â Çϵå¿þ¾î FPU °¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÎÅÚ MP 1.4°¡ 1.1 ±ÔÁ¤¿¡ ºñÇØ ÀÌÁ¡ÀÌ ÀÖ³ª¿ä?
¾Æ´¢ (Alan ¿¡ ÀÇÇϸé :) ), 1.4 ´Â stricker specs of 1.1 ÀÏ »ÓÀÌ´Ù. SMP ¿¡¼ ¿Ö ½Ã°è°¡ ±×·¸°Ô »¡¸® °¡Áö¿ä?
2.0 ´ëÀÇ Ä¿³Î¿¡¼ ¾Ë·ÁÁø ¹®Á¦ÀÌ´Ù, 2.2 ´ëÀÇ Ä¿³Î·Î ¾÷±×·¹À̵带 °í·ÁÇضó.
Jakob Oestergaard ·Î ºÎÅÍ: ¶Ç´Â, xntpdÀÇ ½ÇÇàÀ»
°í·ÁÇϼ¼¿ä. ÀÌ°ÍÀº ´ç½ÅÀÇ ½Ã°£À» Á¤È®ÇÏ°Ô ¸ÂÃç ÁÙ°Ì´Ï´Ù.
(Ä¿³Î¿¡¼ÀÇ RTC Áö¿øµµ ÀÌ Çö»óÀ» ¸·¾ÆÁشٶó°í Àú´Â »ý°¢ÇÕ´Ï´Ù. ÀúÀÇ °æ¿ì
ÀÌ°ÍÀº ÇØ´çµÇ¾ú±¸¿ä. ±×·¯³ª È®½ÇÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ°ÍÀº ±×Àú Çà¿îÀÏÁöµµ ¸ð¸£Áö¿ä.)
ÀÌ°ÍÀ» ¿¹¹æÇÒ ¼öÁ¤ÀÌ 2.2.x ´ëÀÇ Ä¿³Î¿¡ ÀÖ¾ú½À´Ï´Ù. ¿Ö ³» ÇÁ·Î¼¼¼µéÀÇ ¹øÈ£°¡ 0 °ú 1ÀÌ ¾Æ´Ñ 0 °ú 2 ·Î µÇÁö¿ä?
CPU ¹øÈ£´Â ¸¶´õº¸µå Á¦Á¶¾÷üµé¿¡ ÀÇÇØ ÇÒ´çµÇ´Â °ÍÀ̸ç, ÀÌ°ÍÀº ¾Æ¹« Àǹ̵µ
°¡ÁöÁö ¾Ê½À´Ï´Ù. ¹«½ÃÇϼ¼¿ä. ³» quad-Xeon ½Ã½ºÅÛÀÌ ºÎÆýà Á¤ÁöµË´Ï´Ù.
(Doug Ledford)
LILO ¸¦ LARGE_EBDA Áö¿øÇÏ°Ô ÀçÄÄÆÄÀÏ ÇϽʽÿä.
±×¸®°í Ä¿³Î ºôµå½Ã Ç×»ó make bzImage ·Î ÇϽʽÿä.
ÀÌ°ÍÀº ÀÎÅÚ ´ÙÁß Áö¿Â º¸µåÀÇ SMP ºÎÆýà Á¤Áö ¸¦ ¸·¾ÆÁÝ´Ï´Ù.
±×·¯³ª ÀÌ°ÍÀº LILO ¿¡¼ root= ¿É¼ÇÀÌ ´õÀÌ»ó ÀÛµ¿ ÇÏÁö ¾Ê½À´Ï´Ù.
±×·¯¹Ç·Î È®½ÇÈ÷ rdev ·Î ´ç½ÅÀÇ Ä¿³ÎÀÌ Á¤È®ÇÑ ·çÆ® ÆÄƼ¼ÇÀ» »ç¿ëÇϵµ·Ï
ÇØ¾ß ÇÕ´Ï´Ù.
(Robert M. Hyatt) 3°³ÀÇ CPU¸¦ »ç¿ëÇÑ´Ù¸é,
³×¹ø° ¼ÒÄÏ¿¡ Å͹̳×ÀÌÅÍ°¡ ÀÖ³ª¿ä? ºÎÆýà IOAPIC ½Ã±×³¯°ú ÇÔ²² Á¤Áö µË´Ï´Ù.
ºÎÆà ¿É¼Ç¿¡ "noapic" ¸¦ ³Ö°Å³ª(John Aldrich)
±×¸®°í(¶Ç´Â) "reboot=bios" ¸¦ »ç¿ëÇÕ´Ï´Ù.
(Terry Shull). ³» ½Ã½ºÅÛÀÌ NFS¿¡ ¸¹Àº ºÎÇÏ°¡ °É·ÈÀ»¶§ Á¤Áö µË´Ï´Ù.
Ä¿³Î ¹öÁ¯ 2.2.x ÀÌ»ó°ú knfsd ÆÐÄ¡¸¦ »ç¿ë Çغ¸½Ê½Ã¿ä.
ÀÌ°ÍÀº ÇöÀç Á¶»çÁßÀÔ´Ï´Ù. (Wade Hampton) ³» ½Ã½ºÅÛÀÌ oops ¸Þ½ÃÁö¾øÀÌ Á¤Áö µË´Ï´Ù.
¸¸¾à ´ç½ÅÀÌ Ä¿³Î 2.2.11 ¶Ç´Â 2.2.12¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é ¸¶Áö¸· ¹öÁ¯ÀÇ Ä¿³ÎÀ»
»ç¿ëÇϽʽÿä. 2.2.13¿¡¼ ¸î°¡Áö SMP °ü·Ã ÆÐÄ¡°¡ ÀÖ¾ú½À´Ï´Ù.
¸î¸î »ç¶÷µé¿¡°Ô¼ ÀÌ ¹öÁ¯(2.2.11 °ú 2.2.12)°¡ SMP ¸ðµå¿¡¼ ¾ÈÁ¤ÀûÀÌÁö
¾Ê´Ù´Â º¸°í°¡ ÀÖ¾ú½À´Ï´Ù (NFS ¹®Á¦µéµµ).
½Ã¸®¾ó ÄܼÖÀ» »ç¿ëÇØ Ä¿³ÎÀÇ oops ¸Þ¼¼Áö¸¦ ĸÃçÇØ º¼¼ö ÀÖ½À´Ï´Ù.
(Wade Hampton)
°è¼Ó ¹®Á¦°¡ ÀÖ´Ù¸é(±×¸®°í, ´Ù¸¥ »çÇ×µé Á¶Â÷ µµ¿òÀÌ µÇÁö ¾Ê¾Ò´Ù¸é),
´ç½ÅÀº 2.3 ´ëÀÇ Ä¿³ÎÀ» ½ÃµµÇØ º¼¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¹öÁ¯ÀÇ Ä¿³ÎµéÀº ´õ ¸¹°í, °·ÂÇÑ SMP/APIC Äڵ带 °¡Áö°í ÀÖ½À´Ï´Ù.
±×¸®°í automatic hard-lockup-prevention code ´Â ±×Àú Á¶¿ëÈ÷ ¸Ü¾î (½Ã½ºÅÛÀÌ)
¹ö¸®´Â °ÍÀÌ ¾Æ´Ï¶ó ¾µ¸ðÀÖ´Â oopses ¸Þ¼¼Áö¸¦ ³²±æ°ÍÀÔ´Ï´Ù.
(Ingo Molnar)
(Osamu Aoki) °¡ : ´ç½ÅÀº ¶Ç¶õ BIOS ¿Í °ü·ÃµÈ
¸ðµç Àü·Â Àý¾à ¸ðµå¸¦ ºÒ°¡´ÉÇÏ°Ô ÇÏ°Ô ÇؾßÇÕ´Ï´Ù.
´ÙÀ½Àº ¿Ã¹Ù¸¥ ¼³Á¤ÀÇ ¿¹ÀÔ´Ï´Ù. (µà¾Ë Celeron 466 / Abit BP6):
POWER MANAGEMENT SETUP.
ACPI: Disabled
POWER MANAGEMENT: Disabled
PM CONTROL by APM: No |
¸¸¾à ÀýÀü ¸ðµå°¡ ÄÑÁ® ÀÖ´Ù¸é, ¹«ÀÛÀ§ÀûÀÎ ½Ã½ºÅÛ ´Ù¿îÀÌ ÀϾ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛ Á¤Áö µð¹ö±ë
ÀÌÀýÀº Wade Hampton¿¡ ÀÇÇØ ¾º¿©Á³À½.
½Ã½ºÅÛ Á¤Áö µð¹ö±ëÀÇ ÁÁÀº ¼ö´ÜÀº Andrea Arcangeli¿¡ ÀÇÇÑ ikd ÆÐÄ¡¸¦
»ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
ftp://ftp.suse.com/pub/people/andrea/kernel-patches
¸î°³ÀÇ µð¹ö±ë ¿É¼ÇÀÌ Àִµ¥, soft lockup ¿É¼ÇÀº »ç¿ëÇÏÁö ¸¶¼¼¿ä.
»õ·Î¿î SMP ¸Ó½®µéÀº NMI oopser»ó¿¡¼ Ä¿³Î µð¹ö±ë ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù.
NMI oopser ÀÇ ÀÛµ¿ È®ÀÎÀº /cat /proc/interrupts
ÀÇ °á°ú¿¡ NMI °¡ ÀÖ´ÂÁö º¸¸é µË´Ï´Ù. ÀÌÁ¦ ½Ã½ºÅÛÀÌ Á¤ÁöµÇ¸é ´ç½ÅÀº oops ¸Þ¼¼Áö¸¦
¾òÀ»¼ö ÀÖÀ»°ÍÀÔ´Ï´Ù.
¶ÇÇÑ, %eip ¿É¼ÇÀ» ½ÃÇèÇØ º¸¾Æµµ ÁÁ½À´Ï´Ù.
ÀÌ°ÍÀº Ä¿³ÎÀÌ Ä¿³Î ÇÔ¼ö°¡ ºÒ·ÁÁú¶§¸¶´Ù, ÄֻܼóÀ¸·Î %eip ÁÖ¼Ò¸¦
Ãâ·ÂÇØ ÁÝ´Ï´Ù.
½Ã½ºÅÛÀÌ Á¤ÁöµÉ¶§, ´ÙÀ½ µÎ¹ø° Ä®·³¿¡ ÀÇÇÑ Ã¹¹ø° Ä®·³À» Àû¾îµÐÈÄ,
System.map ÆÄÀÏ¿¡¼ ±× ÁÖ¼Ò¸¦ ã¾Æ º¾´Ï´Ù. ÀÌ°ÍÀº Äָܼðµå¿¡¼¸¸ ÇÒ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ½Ã¸®¾ó ÄܼÖÀº Ä¿³Î Á¤Áö¸¦ µð¹ö±ëÇϴµ¥ ´ë´ÜÈ÷ Æí¸®ÇÕ´Ï´Ù.
(´ÜÁö SMP Ä¿³Î¸¸ÀÌ ¾Æ´Ñ.) ·Î±×ÀÇ "APIC error interrupt on CPU#n, should never happen" ¸Þ½ÃÁö
´ÙÀ½°ú °°Àº ¸Þ¼¼Áö´Â
APIC error interrupt on CPU#0, should never happen.
... APIC ESR0: 00000002
... APIC ESR1: 00000000 |
À߸øµÈ üũ¼¶ ¿¡·¯¸¦ °¡¸£Åµ´Ï´Ù. ÀÌ°ÍÀº ¸®´ª½º(Çϵå¿þ¾î üũ¼¶ ºÎºÐÀÇ
APIC ¸Þ¼¼Áö)¿¡ ±âÀÎÇÒ¼ö ¾ø½À´Ï´Ù. ÀÌ°ÍÀº Ãß°¡(ÁÖº¯ ±â±â?) Çϵå¿þ¾î¿¡ ÀÇÇÑ
°ÍÀÏÁöµµ ¸ð¸¨´Ï´Ù. ½Ã½ºÅÛÀÇ ºÒ¾ÈÁ¤ÇÔÀÌ º¸À϶§±îÁö´Â ÀÌ°ÍÀº ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.
- APIC ¸Þ¼¼Áö´Â ¹è´ÞµÉ¶§ ±îÁö Àç½Ãµµ µË´Ï´Ù.
(Ingo Molnar)
À̹ø Àå¿¡¼´Â SMP ¸Ó½®ÀÇ ºñÁ¤»óÀûÀÎ ÀÛµ¿ÀÇ ¿øÀεéÀ» ãÀ»¼ö ÀÖÀ»°ÍÀÌ´Ù.
(Jakob tergaard)
³Ã°¢ Ralf Bhle ·ÎºÎÅÍ : [ÀÌ °æ¿ì ÆÒµéÀÇ
Å©±â¿¡ °ü·ÃÀÌ ÀÖ¾ú´Ù]
°ø±âÀÇ È帧ÀÌ Áß¿äÇÕ´Ï´Ù. ³Ê¹« ÀÛÀº ÄÉÀ̽º´Â ¹®Á¦¸¦ ÀÏÀ¸Å³¼ö ÀÖ½À´Ï´Ù.
¹Ý´ë·Î ¾µµ¥¾øÀÌ Å« ÄÉÀ̽ºµµ ¹®Á¦ÀÇ ¼ÒÁö°¡ ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀΠŸ¿öÄÉÀ̽º°¡ µ¥½ºÅ©Å¾µé º¸´Ù ¾à°£ ³Ã°¢È¿À²ÀÌ ÁÁ´Ù°í º¾´Ï´Ù.
¿äÄÁ´ë, ÁÁÀº ÄÉÀ̽º´Â °ø±â¿ªÇÐÀûÀ¸·Î ¼³°èµÇ¾î ÀÖ°ÚÁö¿ä. ´ç¿¬È÷ ¿©·¯ºÐÀº ÀüÀÚ»ó°¡¿¡¼ ´Ù¸¥ ÆÒÀ» Ãß°¡ÇÒ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ¿©·¯ºÐÀº ¸ÞÀκ¸µå¿¡ ÀåÂøµÇ¾î ÀÖ´Â lm ¼¾¼·Î CPU¿Í ¸ÞÀκ¸µåÀÇ ¿Âµµ,Àü¾ÐµîÀ»
¸ð´ÏÅ͸µ ÇÒ¼ö ÀÖ½À´Ï´Ù. (http://www.netroedge.com/~lm78)
ÀÌ°ÍÀº °ú¿¹®Á¦¸¦ µµ¿ÍÁÙ¼ö ÀÖ½À´Ï´Ù. (Wade Hampton) ³ª»Û ¸Þ¸ð¸®
½Î±¸·Á ·¥À» »çÁö ¸¶¼¼¿ä. ±×¸®°í ´Ù¸¥ ·¥ ¸ðµâµéÀ» È¥ÇÕÇؼ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿ä.
ƯÈ÷ Tyan ¸¶´õº¸µåµéÀº ·¥ ¼Óµµ¿Í °ü·ÃÇÏ¿© ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
(´ÙÀ½ÀåÀÇ Tyan ¸¶´õº¸µåµé¿¡ ´ëÇÑ ÇØ°áÃ¥À» º¸¼¼¿ä.)
CPU°¡ 8ns ·¥À» »ç¿ëÇØ¾ß ÇÏ´Â °æ¿ì, 10nsÀÇ PC100·¥À» »ç¿ëÇÑ ¸¶´õº¸µåµé¿¡¼
¹ö±× º¸°í°¡ ÀÖ¾ú½À´Ï´Ù. (Wade Hampton) ´Ù¸¥ ½ºÅÜÇÎÀ» °¡Áø ÇÁ·Î¼¼¼µéÀÇ ³ª»Û Á¶ÇÕ
/proc/cpuinfo À» È®ÀÎÇؼ ÇÁ·Î¼¼¼µéÀÌ °°Àº
½ºÅ×ÇÎ(stepping)À» °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇØ º¾´Ï´Ù. ¸¸¾à ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ºÒ¾ÈÁ¤ ÇÏ´Ù¸é ¿À¹öŬ·°À» ÇÏÁö ¸¶¼¼¿ä!
¸¸¾à ¾ÈÁ¤ÀûÀ̶ó ÇÏ´õ¶óµµ, ¿À¹öŬ·°Àº ÇÏÁö ¾Ê´Â°Ô ÁÁ½À´Ï´Ù.
Ralf Bhle·ÎºÎÅÍ : ¿À¹öŬ·°Å·Àº ¹Ì¹¦ÇÑ
¹®Á¦µéÀ» ÀÏÀ¸Åµ´Ï´Ù. ÁÁÀº ¿¹·Î, ³ªÀÇ ¿À¹öŬ·°ÇÑ ¿À·¡µÈ ±â°èµéÁß¿¡ 640x400 ÀÇ
ÇÁ·¢Å» Çȼ¿µéÀ» ±×·Á³»´Âµ¥ ¿À·ù¸¦ ÀÏÀ¸Åµ´Ï´Ù. ÀÌ ¹®Á¦µéÀº µµ±¸¸¦ »ç¿ëÇÏ¿©
ºñ±³ÇÏ¸é ³ªÅ¸³³´Ï´Ù.
±×·¯¹Ç·Î, ¿À¹ö Ŭ·°Å·Àº Àý´ë (never, nuncas, jamais, niemals) ÇÏÁö ¸¶¼¼¿ä. 2.0.x ´ëÀÇ Ä¿³Î°ú fast ethernet (Robert G. Brown)
2.0.x Ä¿³Î¿¡¼ ³õÀº ¼º´ÉÀÇ ºü¸¥ ÀÌ´õ³Ý ½Ã½ºÅÛÀÌ Áß¿äÇÑ(±×¸®°í ¾Ë·ÁÁø)
¹®Á¦¸¦ ³ØÆ®¿÷ ÀÎÅÍ·´Æ® Çڵ鿡¼ °¡Áö°í ÀÖ½À´Ï´Ù.
ÇØ°áÃ¥Àº ¸¶Áö¸· °³¹ß ¹öÁ¯ÀÇ 100BT µå¶óÀ̹ö¸¦ ´ÙÀ½¿¡¼ ±¸ÇÏ´Â °ÍÀÔ´Ï´Ù.
CESDIS ¸®´ª½º ÀÌ´õ³Ý µå¶óÀ̹ö »çÀÌÆ® (SMPCHECKÀ» Á¤ÀÇÇÑ). 440FX Ĩ¼Â¿¡¼ÀÇ ¹ö±× (Emil Briggs)
¸¸¾à ´ç½ÅÀÇ ½Ã½ºÅÛÀÇ ¸¶´õº¸µå°¡ 440FX Ĩ¼ÂÀ» »ç¿ëÇϸç, ½Ã½ºÅÛÀÌ Á¤ÁöµÇ´Â
¹®Á¦°¡ ÀÖ´Ù¸é Ĩ¼ÂÀÇ ¹®¼ÈµÈ Á¤¿ÀÇ¥¿¡ ÀÇÇÑ °ÍÀϼö ÀÖ½À´Ï´Ù.
ÂüÁ¶ :
ÀÎÅÚ 440FX PCIset 82441FX (PMC) ¿Í 82442FX (DBX) ±Ô°ÝÀÇ ¾÷µ¥ÀÌÆ®.
pg. 13
http://www.intel.com/design/pcisets/specupdt/297654.htm
ÀÌ ¹®Á¦´Â BIOS ÀÌ ¾÷±×·¹À̵å (¶Ç´Â Ä¿³Î ÆÐÄ¡)·Î ÇØ°áÇÒ¼ö ÀÖ½À´Ï´Ù.
±×¸®°í ½ÇÁ¦·Î David Wragg ´Â Richard Gooch ÀÇ MTRR ÆÐÄ¡¸¦ Æ÷ÇÔÇÏ´Â
Ä¿³Î ÆÐÄ¡¸¦ ½è½À´Ï´Ù. ´õ ¸¹Àº Á¤º¸´Â ´ÙÀ½À» Âü°í:
http://nemo.physics.ncsu.edu/~briggs/vfix.html ¸®´ª½º SMP·Î ºÎÆÃÇϱâÀü¿¡ emm386.exe¸¦ ½ÇÇà½ÃÅ°Áö ¸¶¼¼¿ä.
Mark Duguid ·Î ºÎÅÍ, ƯÈ÷³ª W6LI ¸¶´õº¸µå¿¡¼´Â. ;) ¸¸¾à ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ¸®ºÎÆÃÈÄ ¸Ü¾î ¹ö¸°´Ù¸é, µÎ°¡Áö
¿øÀÎÀÌ ÀÖÀ»¼ö ÀÖ½À´Ï´Ù. (BIOS ¿Í ¸Þ¸ð¸®¿Í °ü·ÃµÈ) (Jakob ?tergaard)
¸¸¾à BIOS ÀÇ ¼³Á¤Áß "memory hole at 16M" ¶Ç´Â "OS/2 memory > 64MB" À»
disable ·Î ÇϽʽÿä, ¸®´ª½º´Â ÀÌ ¿É¼Çµé¿¡ ¹ÝÀÀÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ 64MB ÀÌ»óÀÇ ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ´Ù¸é, ±×¸®°í ´ç½ÅÀÌ lilo ¼³Á¤¿¡
¼öµ¿À¸·Î ¸Þ¸ð¸®¾çÀ» Àû¾î ÁÖ¾ú´Ù¸é, ±× ¼³Á¤À» ½ÇÁ¦ÀÇ ¸Þ¸ð¸®¾ç¿¡¼ 1MB Àû°Ô
Àû¾î ÁÖ¼¼¿ä. ¿¹¸¦ µé¾î 128MB ¸¦ °¡Áö°í ÀÖ´Ù¸é, append="mem=127M"
IRQ ¿Í °ü·ÃµÈ ¹®Á¦µéÁß ¾Ë¾Æ¾ß ÇÒ°Í
¸î¸î Ä«µåµéÀÌ ÀνĵÇÁö ¾Ê°Å³ª, IRQ Ãæµ¹ Çö»óÀÌ ÀÖ´Ù¸é
Ä«µåµéÀ» ¼·Î ´Ù¸¥ ½½·ÔÀ¸·Î ¿Å°Ü º¸°Å³ª, IRQ ¸¦ ¹Ù²ãº¾´Ï´Ù.
hASCII ¿¡ ÀÇÇØ : ¸®·Î ¼³Á¤ ÆÄÀÏ¿¡¼
"append="hisax=9,2,3"" (ISDN +Hisax Áö¿øÀ» À§ÇÑ) À» Áö¿ó´Ï´Ù. (Ä¿³Î 2.1.xx).
2.0.xx ¿¡¼´Â ¹®Á¦ ¾øÀ½.
BIOS ¼³Á¤¿¡¼ "MP 1.4 mode" ¶Ç´Â "route PCI interrupts through IOAPIC", ¶Ç´Â "OS Type" ¿Í °°Àº ¼³Á¤µéÀ» DOS ¶Ç´Â Novell ·Î ¼³Á¤ÇÏÁö ¸¶¼¼¿ä. (Ingo Molnar). Ç÷ÎÇÇ¿Í »ç¿îµå Ä«µå°¡ µ¿½Ã¿¡ »ç¿ëÇÒ¶§
¸¸¾à Ç÷ÎÇǸ¦ »ç¿ëÇÏ·Á ÇÒ¶§(¿¹¸¦ µé¾î »ç¿îµå¸¦ Ç÷¹ÀÌ Çϸé¼) ½Ã½ºÅÛ Á¤Áö°¡
ÀÏ¾î ³´Ù¸é, drivers/pci/quirks.c ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ °íĨ´Ï´Ù.
/int isa_dma_bridge_buggy = 1;
ÀÌ ¹®Á¦´Â ³» Dell WS400 dual PII/300, 2.2.x, SMP¿¡¼ ÀÏ¾î ³µ½À´Ï´Ù.
(Wade Hampton).
(St?hane ?olivet) ÇöÀç·Î »ì¸¸ÇÑ °¡Àå Àú°¡ÀÇ SMP ¸®´ª½º ¹Ú½º´Â µà¾ó ¼¿·¯·Ð ½Ã½ºÅÛÀÌ´Ù.
±×·¯ÇÑ ½Ã½ºÅÛÀº ÀÎÅÚ¿¡ µû¸£¸é °ø½ÄÀûÀ¸·Î´Â °¡´ÉÇÏÁö ¾Ê´Ù°íÇÑ´Ù.
2¼¼´ë ¼¿·¯·Ð (128kb L2 ij½Ã)¸¦ °í·ÁÇÏ´Â°Ô ÁÁ´Ù.
ÀÎÅÚ¿¡¼ºÎÅÍÀÇ °ø½ÄÀûÀÎ ´ë´ä: °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù, ¼¿·¯·ÐÀº SMP ¸ðµå¿¡¼´Â ÀÛµ¿ÇÒ ¼ö ¾ø½À´Ï´Ù. Çö½ÇÀûÀÎ ´ë´ä: °¡´ÉÇÏÁö¸¸ ½½·Ô 1 ÇÁ·Î¼¼¼¿¡ ´ëÇØ Çϵå¿þ¾î º¯°æÀ» ¿ä±¸ÇÕ´Ï´Ù. º¯ÇüÀº Tomohiro KawadaÀÇ ÆäÀÌÁö
µà¾ó ¼¿·¯·Ð ½Ã½ºÅÛ ¿¡¼ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¹°·Ð,
ÀÌ·¯ÇÑ Á¾·ùÀÇ º¯ÇüÀº Á¦Ç°¿¡ ´ëÇÑ º¸ÁõÀ» ±â´ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
¸î¸î ¼¿·¯·ÐÀÇ ¹öÁ¯µéÀº 370 ¼ÒÄÏ Æ÷¸Ë¿¡ Àû¿ëÀÌ °¡ÁõÇÏ´Ù.
±×·¯ÇÑ °æ¿ì¿¡ º¯ÇüÀº ½½·Ô 1 ¾î´ðÅÍ¿¡ ¼Ò°Ù 370 À§¿¡¼ ÀÌ·ç¾î Áú ¼öµµ ÀÖ°í
SMP »ç¿ë¿¡ ¸ÂÃß¾î¼ ¹Ì¸® ¸¸µé¾îÁøä·Î Æȸ®±âµµ ÇÑ´Ù.
(Andy Poling, Hans
- Erik Skyttberg, James Beard) µÎ°³ÀÇ ¼¿·¯·ÐÀ» ¼ÒÄÏ 370 Æ÷¸ËÀ¸·Î Áý¾î³Ö´Â ¸¶´õº¸µå(ABIT BP6)°¡ ÀÖ½À´Ï´Ù.
(Martijn Kruithof, Ryan
McCue). ABIT ÄÄÇ»ÅÍ BP6´Â Å×½ºÆ®¸¦ ÇغÃÀ¸¸ç µà¾ó ppga ¼ÒÄÏ 370
À» ÀÌ¿ë ¸®´ª½º¿¡ Àû¿ëÇß´Ù. (Andre Hedrick).
µ¿ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ Á¾·ùÀÇ
½Ã½ºÅÛÀ» ¿À¹öŬ·° ÇÑ´Ù´Â °ÍÀº ÇϳªÀÇ ÇÁ·Î¼¼¼ ½Ã½ºÅÛ¿¡¼ÀÇ ¿À¹öŬ·°¸¸Å
½±Áö ¾Ê½À´Ï´Ù. »ý»êÀûÀÎ ½Ã½ºÅÛÀ» À§Çؼ´Â ±×¸® ½â ÁÁÀº »ý°¢Àº ¾Æ´Ï´Ù.
°³ÀÎÀûÀÎ »ç¿ëÀ» À§ÇÑ °ÍÀ̶ó¸é µà¾ó 300A¸¦ 450Mhz ·Î ¾ÈÁ¤ÀûÀ¸·Î ¾²°í ÀÖ´Ù´Â
º¸°í°¡ ÀÖ½À´Ï´Ù.(¸¹Àº »ç¶÷µéÀÌ º¸°í ÇÏ°í ÀÖÀ½)
ºÒ°¡´É ÇÕ´Ï´Ù. ¼¿·¯·Ð ÇÁ·Î¼¼¼µéÀº ÆæƼ¾ö II¿Í °ÅÀÇ °°Àº Ư¼ºÀ» °®°í
Àֱ⠶§¹®ÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ 2°³ ÀÌ»óÀÇ ÇÁ·Î¼¼¼¸¦
¿øÇÑ´Ù¸é ¿©·¯ºÐÀº ÆæƼ¾ö ÇÁ·Î³ª ÆæƼ¾ö Á¦¿Â, ÆæƼ¾ö III(?)¸¦ °í·ÁÇØ¾ß ÇÒ
°ÍÀÌ´Ù.
Àç»ç¿ëÀÌ °¡´ÉÇÑ ¼¿·¯·Ð ÇÁ·Î¼¼¼¿Í ÆæƼ¾ö ÇÁ·Î¼¼¼¸¦ °°Àº ȯ°æ¿¡¼ »ç¿ëÇÑ´Ù¸é
ÀÌ·ÐÀûÀ¸·Î °¡´ÉÇÏ´Ù. Alexandre Charbey°¡ ±×·± ½Ã½ºÅÛÀ» ¸¸µç ÀûÀÌ ÀÖÀ½:
Asus P2B-D motherboard, proc 1: Celeron 366, proc 2: Pentium II
400@266 66Mhz and 75Mhz ¹ö½º Áøµ¿¼ö °¡Àå ºü¸¥ ÇÁ·Î¼¼¼(¼¿·¯·ÐÀÇ °æ¿ì¿¡¼)´Â µÎ¹ø° ½½·Ô¿¡ À§Ä¡ÇØ ÀÖ¾î¾ß ÇÑ´Ù.
°¡Àå ºü¸¥ ÇÁ·Î¼¼¼¿ÍÀÇ ±³Ã¼´Â ¾öû³ ½ÇÆи¦ °¡Á®¿Â´Ù.
´ÙÀ½ÀÇ »çÀÌÆ®UltraLinux¸¦ »ìÆ캸¸é (¿ÀÁ÷ SMP ½Ã½ºÅÛ¿¡ °üÇؼ):
UltraSPARC PCI ±â¹ÝÀÇ ¿öÅ©½ºÅ×À̼ǵé: Ultra60, Ultra450 UltraSPARC SBUS ±â¹ÝÀÇ ¼¹öµé: Enterprise 1, 2, 150 UltraSPARC SBUS ±â¹ÝÀÇ Å« ¼¹öµé: Enterprise 3000, 4000, 5000, 6000, 10000 UltraSPARC PCI ±â¹ÝÀÇ ¼¹öµé: Enterprise 250, 450 SPARC sun4m SMP ¸Ó½Åµé (Anton Blanchard)
UltraLinux´Â 14°³ÀÇ CPU ¸Ó½Å¿¡¼µµ ÀÛµ¿ÇÑ´Ù. (Âü°í »çÀÌÆ® dmesg °á°úÀÔ´Ï´Ù).
(David Miller)
Ưº°ÇÑ °ÆÁ¤Àº ¾ø½À´Ï´Ù. À¯ÀÏÇÏ°Ô ¾Ë·ÁÁø ¹®Á¦´Â °íÄ¡·Á ÇÏÁö ¾Ê¾ÒÁö¸¸ ¸¸ÀÏ 32ºñÆ® ½Ã½ºÅÛ (Áï ultrasparcÀÌ ¾Æ´Ï¶ó´Â ÀǹÌ) SMP Ä¿³ÎÀ» Çü¼º½ÃÅ°°íÀÚ Çϸé Ä¿³ÎÀº sun4c ½Ã½ºÅÛ¿¡¼
ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
(David Miller) include/linux/tasks.h ¿¡ ¹ö±×°¡ Àִµ¥
NR_CPUS¸¦ Áö¿øÇÏ´Â Çϵå¿þ¾î¿¡ ´ëÇÑ »óÇÑ ¼±À¸·Î UltraSparc¿¡¼ 64·Î ÇÏ´Â °ÍÀÌ
ÁÁ´Ù. :-)
(Cort Dougan) PPC RS/6000 ½Ã½ºÅ۵鵵 ¾ÆÁ÷ Áö¿øÀ̵ÇÁö ¾Ê´Â´Ù.
¹®Á¦´Â ¾ø´Ù. ´ë°³ SMP ÄÄÆÄÀÏ¿¡´Â. ´ë°³´Â UP³ª SMP µÑÁß¿¡ Çϳª¿¡ ¸ðµâÀÌ Æ¯Á¤ÈµÇ¾îÀÖ´Ù.
Ä¿³ÎÀ» ÀçÄÄÆÄÀÏÇ϶ó. (Paul Mackerras)
(Geerten Kuiper) SMP´Â ´ëºÎºÐÀÇ AXP ¼¹ö¿¡¼´Â Àß ÀÛµ¿ÇÑ´Ù. (Jay A Estabrook) SMP´Â ´ëºÎºÐÀÇ ÄÄÆÑ Á¦Ç°¿¡´Â µ¿ÀÛÇÏ´Â °Í °°´Ù. µÎ°³ ÀÌ»óÀÇ CPU¸¦ °®´Â ¹Ú½º´Â ´ÙÀ½À» Æ÷ÇÔÇÑ´Ù:
AS2000/2100 (SABLE) AS4000/4100 (RAWHIDE) DS20 (DP264)
Æ÷ÇÔÇÏÁö ¾Ê´Â °ÍÀº:
SMP´Â º´·Ä ´ÙÁß ÇÁ·Î¼¼¼(Symmetric Multi-Processors)ÀÇ
¾àÀÚÀÌ´Ù.
APIC´Â Çâ»óµÈ ÇÁ·Î±×·¥ÀÌ °¡´ÉÇÑ ÀÎÅÍ·´Æ® ÄÁÆ®·Ñ·¯(Advanced Programmable Interrupt Controller)ÀÌ´Ù.
thread ½º·¹µå¶ó´Â °ÍÀº ÇϳªÀÇ ÇÁ·Î¼¼½º¿¡¼ ÇÁ·Î¼¼¼ÀÇ È°µ¿¼ºÀ» ³ªÅ¸³»´Â °ÍÀÌ´Ù. µ¿ÀÏÇÑ ÇÁ·Î¼¼½º´Â ´ÙÁßÀÇ ½º·¹µå¸¦ °¡Áú ¼ö ÀÖ´Ù. ±×·¯ÇÑ ½º·¹µåµéÀº ÇÁ·Î¼¼½º ÁÖ¼Ò°ø°£À» °øÀ¯ÇÏ°í µ¥ÀÌÅÍ ¶ÇÇÑ °øÀ¯ÇÒ ¼ö ÀÖ´Ù.
pthread Posix ½º·¹µå·Î Posix Ç¥ÁØ¿¡ ÀÇÇØ Á¤ÀÇµÈ °ÍÀÌ´Ù.
APM Çâ»óµÈ Àü¿ø°ü¸®(Advanced Power Managment)
- v1.9, 2000³â 1¿ù 13ÀÏ
- v1.8, 1999³â 11¿ù 8ÀÏ
- v1.7, 1999³â 11¿ù 6ÀÏ
»õ·Î¿î µµÀÔ(C. Polisher aka cp) ¼ýÀÚ°¡ À߸øµÈ °Í°ú ¹®¹ýÀû ¿À·ù »èÁ¦ Ä¿³Î ÄÄÆÄÀÏ¿¡ °üÇÑ µµÀԴܶô SMP Çʿ伺¿¡ °üÇÑ µµÀԴܶô KAI ÃÖÀûÈ ÄÄÆÄÀÏ·¯¿¡ °üÇÑ ÂüÁ¶
(Gero Wedemann) 4°³ÀÇ ¼¿·¯·Ð º¸µå°¡ Á¸ÀçÇÑ´Ù.
(Jeffrey H. Ingber)
- v1.6, 1999³â 10¿ù 21ÀÏ
xosview ½ºÄÉÁÙ¸µ¿¡ °üÇÑ Ãß°¡µÈ Á¤º¸ "APIC error interrupt on CPU#n¿¡ °üÇÑ APIC ¿¡·¯ ÀÎÅÍ·´Æ®"¿¡ °üÇÑ Ãß°¡µÈ Á¤º¸ Çϵå lockup¿¡ °üÇÑ Ãß°¡µÈ Á¤º¸ "ÃÖ´ë ¼º´ÉÀ» ¾ò´Â ¹æ¹ý"¿¡ °üÇÑ ³»¿ë »èÁ¦ ´Ù¸¥ x86 ÇÁ·Î¼¼¼¸¦ Æ÷ÇÔÇÏ´Â (¼¿·¯·Ð°ú P-II) µà¾ó ½Ã½ºÅÛ¿¡ °üÇÑ Á¤º¸
- v1.5, 1999³â 10¿ù 4ÀÏ
- v1.4, 1999³â 9¿ù 30ÀÏ
- v1.3, 1999³â 9¿ù 29ÀÏ
¾ÆÁÖ ¾ÆÁÖ ¸¹Àº ¹®¹ýÀû ¿À·ù¿Í ¿ÀŸ ±³Á¤
(Wade Hampton) 2.2/2/4/2/0 ÀÇ Â÷ÀÌ¿¡ °ü·ÃµÈ ©¸·ÇÑ µµÀÔ³»¿ë Ãß°¡ Ä¿³ÎÀ» ÀçÄÄÆÄÀÏ ÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ³»¿ëÃß°¡ SMP/UP ¸ðµâ ¹®Á¦¿¡ °ü·ÃµÈ ³»¿ë Ãß°¡ »ç¿ëÀÚ¿Í Ä¿³Î ½º·¹µå¿¡ °ü°èµÈ Posix ½º·¹µå ºÎºÐ¿¡ ´ëÇÑ ³»¿ë÷°¡ NFS ¿Í Ä¿³Î lock¿¡ °üÇÑ »õ·Î¿î ¸ñ·Ï ¸Þ¼¼Áö ¾øÀÌ Ä¿³Î lockÀ» ÇÏ´Â °Í¿¡ °üÇÑ ¸ñ·Ï Ãß°¡ lockup ¹®Á¦ÇØ°á¿¡ °üÇÑ ¸ñ·ÏÃß°¡ ¹ß¿¹®Á¦¿¡ °üÇÑ »õ·Î¿î ³»¿ëÃß°¡ º»ÀúÀÚ°¡ Àؾî¹ö¸° ±âŸÀÇ ¾÷µ¥ÀÌÆ® ÀÚ·áµé Ç÷ÎÇÇ·Î Á¢±Ù ÇÏ´Â °Í°ú »ç¿îµå¿¡ °üÇÑ ³»¿ëÃß°¡
- v1.2, 1999³â 9¿ù 27ÀÏ
- v1.1, 1999³â 9¿ù 26ÀÏ
- v1.00, 1999³â 9¿ù 25ÀÏ
¾ÆÁÖ ¿À·£¸¸¿¡ ù¹ø° ¾÷±×·¹À̵å Àüü FAQ ¾ÐÃà: 2.4°¡ °ð Ãâ½Ã Ingo Molnar·ÎºÎÅÍ ¾òÀº Ä¿³Î locking Á¤º¸ "¾î¶»°Ô Çϸé SMP¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÛµ¿Çϳª¿ä"¶ó´Â Ç׸ñ »èÁ¦ "Á¦ SMP ½Ã½ºÅÛÀÌ Ç×»ó ¶ôÀÌ °É·Á Àִµ¥"¶ó´Â Ç׸ñ »èÁ¦
outdated "¿©·¯ºÐÀº 2.0.35 ½ÇÇàÇÏÁö ¾Ê³ª¿ä?"¶ó´Â Ç׸ñ »èÁ¦ "¸î¸î Çϵå¿þ¾î´Â ¹®Á¦¸¦ ÀÏÀ¸Å°´Â °ÍÀ¸·Î ¾Ë·ÁÁ® Àִµ¥"¶ó´Â Ç׸ñ»èÁ¦
outdated "¾Ë·ÁÁø ¹®Á¦°¡ ÀÖ´Â ¸¶´õº¸µåµé"À̶õ ºÎºÐÀ» »õ·Î óÀ½ºÎÅÍ ½ÃÀÛ "¾Ë·ÁÁø ¹®Á¦°¡ ¾ø´Â ¸¶´õº¸µåµé"À̶õ ºÎºÐ »èÁ¦ ¾÷µ¥ÀÌÆ®µÈ µà¾ó ¼¿·¯·Ð ºÎºÐ Ãß°¡ "SPARC sun4m SMP ¸Ó½Åµé" ºÎºÐÀ» SMP ½ºÆÅ ¸Ó½ÅÀ» À§ÇØ Ãß°¡
(Anton Blanchard) "ºÎÆõµÁß ¸Ó½ÅÀÌ IOPANIC ¹®Á¦¸¦ ÀÏÀ¸Å°°í ¸ØÃç¹ö¸®´Â °æ¿ì" ºÎºÐÀ» "
¿Ö ³» ¸Ó½Å¿¡¼´Â ÀÛµ¿ÇÏÁö ¾Ê´Â°¡?"¶ó´Â ºÎºÐÀ¸·Î Ãß°¡ À̵¿ "SMP ¼º´ÉÀº ¾î¶²°¡¿ä?"¶ó´Â Ç׸ñ Ãß°¡ "¿Ö Á¦ ¿À·¡µÈ ÄÄÆÑÀº ÀÛµ¿ ¾ÈÇϳª¿ä?" Ç׸ñ Ãß°¡ ¿À·¡µÈ Á¡µé º¸° Ingo SMP ÆÐÄ¡ Å×½ºÆ®¿¡ °üÇÑ ³»¿ë Ãß°¡
- v0.54, 1999³â 3¿ù 13ÀÏ
- v0.53, 1999³â 3¿ù 8ÀÏ
- v0.52, 1999³â 3¿ù 7ÀÏ
- v0.51, 1999³â 3¿ù 6ÀÏ
- v0.50, 1999³â 2¿ù 3ÀÏ
- v0.49, 1999³â 1¿ù 13ÀÏ
- v0.48, 1998³â 12¿ù 10ÀÏ
- v0.47, 20 november 1998
- v0.46, 1998³â 11¿ù 10ÀÏ
- v0.45, 1998³â 10¿ù 25ÀÏ
- v0.44, 1998³â 10¿ù 14
- v0.43, 1998³â 9¿ù 9ÀÏ
- v0.42, 1998³â 9¿ù 2ÀÏ
- v0.41, 1998³â 9¿ù 1ÀÏ
- v0.40, 1998³â 8¿ù 27ÀÏ
- v0.39, 1998³â 8¿ù 27ÀÏ
Tyan ¸¶´õº¸µå¸¦ À§ÇÑ Award BIOS ¹öÁ¯ Ãß°¡
(hASCII) Ãæµ¹¿¡ °üÇÑ ºÎºÐ¿¡ ´ëÇÑ ¸ñ·ÏÃß°¡ Asus P2B-DSÀÇ ÁÁÀº Áö¿ø (Ulf Rompe) smp-list ¸ðÀ½¿¡ »õ³»¿ë Ãß°¡(Hank Leininger)
- v0.38, 1998³â 8¿ù 8ÀÏ
- v0.37, 1998³â 7¿ù 30ÀÏ
- v0.36, 1998³â 6¿ù 26ÀÏ
- v0.35, 1998³â 7¿ù 14ÀÏ
¹®Á¦¾ø´Â º¸µåÁßÀÇ ÇϳªÀÎ N440BX Server Board¿¡ °üÇÑ ³»¿ëÃß°¡ BIOS ¾÷±×·¹À̵å¿Í ÇÔ²²¿À´Â GigaByte ¸¶´õº¸µå¿¡ ´ëÇÑ ¼º°øÀ̾߱â Ãß°¡ "ÃÖ°íÀÇ ¼º´ÉÀ» ¾ò´Â ¹æ¹ý"¿¡ °üÇÑ ³»¿ë Ãß°¡
- v0.34, 1998³â 6¿ù 10ÀÏ
- v0.33, 1998³â 6¿ù 3ÀÏ
GigaByte DLX ¸¶´õº¸µåÀÇ ¼º°ø½ºÅ丮 Tyan ¸¶´õº¸µå¸¦ À§ÇÑ ÆÁ, BIOS ¿É¼ÇÁß¿¡¼ "DRAM Fast Leadoff"±â´ÉÀ» Á׿©¶ó
- v0.32, 1998³â 5¿ù 27ÀÏ
- v0.31, 1998³â 5¿ù 18ÀÏ
- v0.30, 1998³â 5¿ù 12ÀÏ
- v0.29, 1998³â 5¿ù 11ÀÏ
GigaByte 686 º¸µå¸¦ 2.1.101 Ä¿³ÎÀ» ÀÌ¿ëÇÏ¿© ¼º°øÇÑ À̾߱â "»ç¿ëÀÚ Ãø¸é"¿¡ »õ·Î¿î Ç׸ñÃß°¡:"½º·¹µå ÇÁ·Î±×·¥À̳ª ¶óÀ̺귯¸®"´Â ÀÖ³ª¿ä?" OpenGL Mesa ¶óÀ̺귯¸®°¡ ´ÙÁß ½º·¹µå Áö¿ø ÀÚ¼¼ÇÑ °ÍÀº ±× ºÎºÐÀ» »ìÆ캸±â ¹Ù¶÷.
- v0.28, 1998³â 5¿ù 9ÀÏ
- v0.27, 1998³â 5¿ù 5ÀÏ
ÀÌ HOWTO¸¦ À¯ÁöÇϴµ¥ µµ¿òÀ» ÁØ ¸¹Àº ºÐµé²² °¨»ç:
Tigran A. Aivazian John Aldrich Niels Ammerlaan H. Peter Anvin Osamu Aoki Guylhem Aznar Ralf B?hle James Beard Troy Benjegerdes Anton Blanchard Emil Briggs Robert G. Brown Alexandre Charbey Michael Elizabeth Chastain Samuel S. Chessman Alan Cox Andrew Crane Cort Dougan Mark Duguid St?hane ?olivet Jocelyne Erhel Jay A Estabrook Byron Faber Mark Garlanger hASCII Wade Hampton Andre Hedrick Claus-Justus Heine Benedikt Heinen Florian Hinzmann Moni Hollmann Robert M. Hyatt Jeffrey H. Ingber Richard Jelinek Tony Kocurko Geerten Kuiper Martijn Kruithof Doug Ledford Kumsup Lee Hank Leininger Ryan McCue Paul Mackerras Cameron MacKinnon Joel Marchand David Maslen Chris Mauritz Jean-Francois Micouleau David Miller Ingo Molnar Ulf Nielsen Jakob Oestergaard C Polisher Adrian Portelli Matt Ranney Daniel Roesen Ulf Rompe Jean-Michel Rouet Volker Reichelt Sean Reifschneider Sumit Roy Thomas Schenk Terry Shull Chris K. Skinner Hans - Erik Skyttberg Szakacsits Szabolcs Jukka Tainio Simen Timian Thoresen El Warren Gregory R. Warnes Gero Wedemann Christopher Allen Wing Leonard N. Zubkoff
|
|