Zerokaratsukuru OS kaihatsu 005 kernel-hen butsuri-memory kanri (Japanese Edition)
Book Details
Author(s)yabusame2001
Publisheryabusame2001
ISBN / ASINB00FNXBOW2
ISBN-13978B00FNXBOW2
MarketplaceUnited Kingdom 🇬🇧
Description
C言語ã§ï¼ã‹ã‚‰ä½œã‚‹OSを開発ã«ã¤ã„ã¦èª¬æ˜Žã—ã¦ã„ãã¾ã™ã€‚ã“ã®ã‚·ãƒªãƒ¼ã‚ºã§ã¯ã‚«ãƒ¼ãƒãƒ«ã®é–‹ç™ºã«ã¤ã„ã¦èª¬æ˜Žã—ã¦ã„ã¾ã™ã€‚
今回ã¯ã€ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ç®¡ç†ã«ã¤ã„ã¦è¦‹ã¦ã„ãã¾ã™ã€‚『ï¼ã‹ã‚‰ä½œã‚‹OS開発 Vol.2 カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ç·¨ã€€ï¼ã‹ã‚‰ä½œã‚‹ã‚«ãƒ¼ãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã€ã‚’æ”¹é€ ã—ã¦ã€ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ã‚µã‚¤ã‚ºã‚„使用å¯èƒ½é ˜åŸŸã‚’BIOSã®ã‚µãƒ¼ãƒ“ス割り込ã¿ã‚’利用ã—ã¦å–å¾—ã—ã¾ã™ã€‚ãã—ã¦ã€å–å¾—ã—ãŸãƒ¡ãƒ¢ãƒªãƒ¼é ˜åŸŸã®æƒ…å ±ï¼ˆãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—ï¼‰ã‚’ãƒžãƒ«ãƒãƒ–ート仕様ã«ãªã‚‹ã¹ãã‚ã£ãŸå½¢ã«ã—ã¦ãƒ‘ラメーターã¨ã—ã¦ã‚«ãƒ¼ãƒãƒ«ã«æ¸¡ã—ã¾ã™ã€‚カーãƒãƒ«ã§ã¯ã€å—ã‘å–ã£ãŸãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—ã«åŸºã¥ã„ã¦ç°¡å˜ãªãƒ“ットマップを使ã£ã¦ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’管ç†ã—ã¦ã„ãã¾ã™ã€‚
ã€æ³¨æ„】本書ã§ã¯ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ç®¡ç†ã«æœ€ä½Žé™å¿…è¦ãªéƒ¨åˆ†ã®ãƒžãƒ«ãƒãƒ–ート仕様ã—ã‹è¦‹ã¦è¡Œãã¾ã›ã‚“。マルãƒãƒ–ート仕様ã®è©³ç´°ã«ã¤ã„ã¦èª¿ã¹ãŸã„å ´åˆã¯åˆ¥é€”仕様書をå‚ç…§ã—ã¦ã„ãå¿…è¦ãŒã‚りã¾ã™ã€‚
[目次]
å‰å›žã¾ã§ã®å†…容
メモリー
  アドレッシングモード
  メモリーã®åˆ¶å¾¡
物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ç®¡ç†
ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼æƒ…å ±ã®å–å¾—
BIOSã‹ã‚‰ãƒ¡ãƒ¢ãƒªãƒ¼æƒ…å ±ã‚’å–å¾—ã™ã‚‹
  ãƒãƒ¼ãƒ¡ãƒ¢ãƒªãƒ¼ã®ã‚µã‚¤ã‚ºå–å¾— INT 0x12命令
  拡張メモリーサイズå–得(0x88機能) INT 0x15命令
  拡張メモリーサイズå–得(0xE801ã€0xE881機能) INT 0x15命令
  メモリーマップå–得(0xE820機能) INT 0x15命令
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ï¼ˆã‚¢ãƒ‰ãƒ¬ã‚¹ç¯„å›²ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ãƒ¼ï¼šAddress Range Descriptor)
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å®šç¾©ã™ã‚‹
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã®å–å¾—
マルãƒãƒ–ート仕様
  カーãƒãƒ«èµ·å‹•時ã®CPUã®ãƒ¬ã‚¸ã‚¹ã‚¿ãƒ¼
ã€€ã€€ãƒ–ãƒ¼ãƒˆæƒ…å ±
  カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã§ãƒ–ãƒ¼ãƒˆæƒ…å ±ã‚’å®šç¾©ã™ã‚‹
  カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã§ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å–å¾—ã™ã‚‹
  カーãƒãƒ«ã«ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’æ¸¡ã™
  カーãƒãƒ«ã§ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å¼•æ•°ã¨ã—ã¦å—ã‘å–ã‚‹
物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ç®¡ç†
  メモリー管ç†
  メモリー管ç†ã®æ–¹æ³•
ビットマップã§ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’管ç†ã™ã‚‹
  ビットマップã«ä½¿ç”¨ã™ã‚‹ãƒ¡ãƒ¢ãƒªãƒ¼é ˜åŸŸã‚’確ä¿ã™ã‚‹
  ビットマップをæ“作ã™ã‚‹
    ビットマップã«1をセットã™ã‚‹
    ビットマップをクリアーã™ã‚‹
    ビットマップãŒã‚»ãƒƒãƒˆã•れã¦ã„ã‚‹ã‹èª¿ã¹ã‚‹
  割り当ã¦å¯èƒ½ãªãƒ¡ãƒ¢ãƒªãƒ¼ãƒ–ãƒãƒƒã‚¯ã‚’ビットマップã‹ã‚‰æŽ¢ã™
  物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®å‰²ã‚Šå½“ã¦ã¨è§£æ”¾
今回ã¯ã€ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ç®¡ç†ã«ã¤ã„ã¦è¦‹ã¦ã„ãã¾ã™ã€‚『ï¼ã‹ã‚‰ä½œã‚‹OS開発 Vol.2 カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ç·¨ã€€ï¼ã‹ã‚‰ä½œã‚‹ã‚«ãƒ¼ãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã€ã‚’æ”¹é€ ã—ã¦ã€ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ã‚µã‚¤ã‚ºã‚„使用å¯èƒ½é ˜åŸŸã‚’BIOSã®ã‚µãƒ¼ãƒ“ス割り込ã¿ã‚’利用ã—ã¦å–å¾—ã—ã¾ã™ã€‚ãã—ã¦ã€å–å¾—ã—ãŸãƒ¡ãƒ¢ãƒªãƒ¼é ˜åŸŸã®æƒ…å ±ï¼ˆãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—ï¼‰ã‚’ãƒžãƒ«ãƒãƒ–ート仕様ã«ãªã‚‹ã¹ãã‚ã£ãŸå½¢ã«ã—ã¦ãƒ‘ラメーターã¨ã—ã¦ã‚«ãƒ¼ãƒãƒ«ã«æ¸¡ã—ã¾ã™ã€‚カーãƒãƒ«ã§ã¯ã€å—ã‘å–ã£ãŸãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—ã«åŸºã¥ã„ã¦ç°¡å˜ãªãƒ“ットマップを使ã£ã¦ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’管ç†ã—ã¦ã„ãã¾ã™ã€‚
ã€æ³¨æ„】本書ã§ã¯ç‰©ç†ãƒ¡ãƒ¢ãƒªãƒ¼ç®¡ç†ã«æœ€ä½Žé™å¿…è¦ãªéƒ¨åˆ†ã®ãƒžãƒ«ãƒãƒ–ート仕様ã—ã‹è¦‹ã¦è¡Œãã¾ã›ã‚“。マルãƒãƒ–ート仕様ã®è©³ç´°ã«ã¤ã„ã¦èª¿ã¹ãŸã„å ´åˆã¯åˆ¥é€”仕様書をå‚ç…§ã—ã¦ã„ãå¿…è¦ãŒã‚りã¾ã™ã€‚
[目次]
å‰å›žã¾ã§ã®å†…容
メモリー
  アドレッシングモード
  メモリーã®åˆ¶å¾¡
物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®ç®¡ç†
ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼æƒ…å ±ã®å–å¾—
BIOSã‹ã‚‰ãƒ¡ãƒ¢ãƒªãƒ¼æƒ…å ±ã‚’å–å¾—ã™ã‚‹
  ãƒãƒ¼ãƒ¡ãƒ¢ãƒªãƒ¼ã®ã‚µã‚¤ã‚ºå–å¾— INT 0x12命令
  拡張メモリーサイズå–得(0x88機能) INT 0x15命令
  拡張メモリーサイズå–得(0xE801ã€0xE881機能) INT 0x15命令
  メモリーマップå–得(0xE820機能) INT 0x15命令
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ï¼ˆã‚¢ãƒ‰ãƒ¬ã‚¹ç¯„å›²ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ãƒ¼ï¼šAddress Range Descriptor)
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å®šç¾©ã™ã‚‹
ã€€ã€€ã€€ã€€ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã®å–å¾—
マルãƒãƒ–ート仕様
  カーãƒãƒ«èµ·å‹•時ã®CPUã®ãƒ¬ã‚¸ã‚¹ã‚¿ãƒ¼
ã€€ã€€ãƒ–ãƒ¼ãƒˆæƒ…å ±
  カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã§ãƒ–ãƒ¼ãƒˆæƒ…å ±ã‚’å®šç¾©ã™ã‚‹
  カーãƒãƒ«ãƒãƒ¼ãƒ€ãƒ¼ã§ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å–å¾—ã™ã‚‹
  カーãƒãƒ«ã«ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’æ¸¡ã™
  カーãƒãƒ«ã§ãƒ¡ãƒ¢ãƒªãƒ¼ãƒžãƒƒãƒ—æƒ…å ±ã‚’å¼•æ•°ã¨ã—ã¦å—ã‘å–ã‚‹
物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ç®¡ç†
  メモリー管ç†
  メモリー管ç†ã®æ–¹æ³•
ビットマップã§ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’管ç†ã™ã‚‹
  ビットマップã«ä½¿ç”¨ã™ã‚‹ãƒ¡ãƒ¢ãƒªãƒ¼é ˜åŸŸã‚’確ä¿ã™ã‚‹
  ビットマップをæ“作ã™ã‚‹
    ビットマップã«1をセットã™ã‚‹
    ビットマップをクリアーã™ã‚‹
    ビットマップãŒã‚»ãƒƒãƒˆã•れã¦ã„ã‚‹ã‹èª¿ã¹ã‚‹
  割り当ã¦å¯èƒ½ãªãƒ¡ãƒ¢ãƒªãƒ¼ãƒ–ãƒãƒƒã‚¯ã‚’ビットマップã‹ã‚‰æŽ¢ã™
  物ç†ãƒ¡ãƒ¢ãƒªãƒ¼ã®å‰²ã‚Šå½“ã¦ã¨è§£æ”¾

