X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/97626136c186f33306ee477490f5de13f86227bf..2803826a2373620dbfce8a5bff1e6a01dd594953:/README.md
diff --git a/README.md b/README.md
index c1e54ee..d2a6c09 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,87 @@
+
+
+
+
# LunaixOS Project
+LunaixOS - ä¸ä¸ªç®åçï¼è¯¦ç»çï¼POSIXå
¼å®¹çï¼ä½æ¿ï¼ï¼ï¼å¸¦ææµéä¸ªäººé£æ ¼çæä½ç³»ç»ãå¼åè¿ç¨ä»¥è§é¢æç¨å½¢å¼å¨Bilibiliåç°ï¼[ãä»é¶å¼å§èªå¶æä½ç³»ç»ç³»åã](https://space.bilibili.com/12995787/channel/collectiondetail?sid=196337)ã
+
+## å½åè¿åº¦ä»¥åæ¯æçåè½
+
+该æä½ç³»ç»æ¯æx86æ¶æï¼è¿è¡å¨ä¿æ¤æ¨¡å¼ä¸ï¼éç¨å®å
æ ¸æ¶æï¼ç®åä»
æ¯æåæ ¸å¿ãå
åç»æéç¨ç»å
¸ç3:1ååï¼å³ä½3GiBä¸ºç¨æ·å°å空é´ï¼0x400000 ~ 0xBFFFFFFFï¼ï¼å
æ ¸å°å空é´éæ å°è³é«1GiBï¼0xC0000000 ~ 0xFFFFFFFFï¼ãå
åç详ç»å¸å±å¯åè[LunaixOSå
åå°å¾](docs/img/lunaix-os-mem.png)
+
+å¨ä¸è¿°å表ä¸ï¼åååºç®åææ¯æçæç¨åè½åç¹æ§ãå表项æç
§é¡¹ç®æ¶é´æ³è¿è¡ååºæåã
+
++ 使ç¨Multibootè¿è¡å¼å¯¼å¯å¨
++ APIC/IOAPICä½ä¸ºä¸æç®¡çå¨å计æ¶å¨
++ ACPI
++ èæå
å
++ å
å管ç䏿éå页ï¼Demand Pagingï¼
++ é®çè¾å
¥
++ å¤è¿ç¨
++ 14个常è§çLinux/POSIXç³»ç»è°ç¨ï¼[éå½1](#appendix1)ï¼
++ ç¨æ·æ¨¡å¼
++ ä¿¡å·æºå¶ï¼è¿è¡ä¸ï¼
+
+## ç®å½ç»æ
+
+| | |
+|-----|------|
+| [lunaix-os](lunaix-os/) | LunaixOSæºä»£ç |
+| [slides](slides/) | è§é¢ä¸æç¨çå¹»ç¯çåè¡¥å
ææ |
+| [reference-material](reference-material/)| æ åï¼ææ¯ææ¡£ååèæç® |
+
+## åèæç¨
+
+**没æï¼ï¼** æ¬æç¨ä»¥å该æä½ç³»ç»å为ååï¼æ²¡æåºäºä»»ä½å¸é¢ä¸ç°è¡çæä½ç³»ç»å¼åæç¨ï¼ä¸å¹¶éæ¯åºäºä»»ä½ç弿ºå
æ ¸çäºæ¬¡å¼åã
+
+为äºå¶ä½LunaixOSï¼ä½è
èè´¹å¤§éæ¶é´åç²¾åé»ç ææ¯ææ¡£ï¼æåï¼ç论书ç±ä»¥åç°è¡å·¥ä¸æ åï¼ä»èå°½éä¿è¯äºç¥è¯ç䏿æ§ãï¼è¿æ ·ä¸æ¥ï¼è¯»è
åå¬ä¼ä»¬ä¹ç®æ¯æ¿å°äºäºæçç¥è¯ï¼è䏿¯ä¸æï¼åæï¼çè³næçç¥è¯ï¼ã
+
+大é¨åçææ¡£åæ åå¯ä»¥å¨ä¸è¿°ç[reference-material](reference-material/)䏿¾å°ã
+
+å½ç¶ï¼æ¨ä¹å¯ä»¥åè以ä¸å表æ¥äºè§£ç°é¶æ®µçLunaixOSé½ä½¿ç¨äºåªäºèµæï¼æ¬å表ä¼éçå¼åè¿åº¦æ´æ°ï¼ï¼
+
+#### æåï¼æ åï¼ææ¯ææ¡£
++ [Intel 64 and IA-32 Architecture Software Developer's Manual (Full Volume Bundle)](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
++ [ACPI Specification (version 6.4)](https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf)
++ IBM PC/AT Technical Reference
++ IBM VGA/XGA Technical Reference
++ 82093AA I/O Advanced Programmable Controller (IOAPIC) (Datasheet)
++ MC146818A (Datasheet)
++ Intel 500 Series Chipset Family Platform Controller Hub (Datasheet - Volume 2)
+
+#### ç论书ç±
++ *Computer System - A Programmer's Perspective Third Edition (CS:APP)* (Bryant, R & O'Hallaron, D)
++ *Modern Operating System* (Tanenbaum, A)
++ ãæ±ç¼è¯è¨ãï¼çç½ï¼ - ç¨äºå
¥é¨Intelè¯æ³çx86æ±ç¼ï¼å¯¹äºAT&Tè¯æ³ï¼æ¨èé
读CS:APPï¼
++ ~~ãå¾®æºåç䏿¥å£ææ¯ã - ç¨äºå¤§è´äºè§£x86æ¶æçå¾®æºä½ç³»ï¼æ´å ç»è´çäºè§£å¯ä»¥é
读Intel Manualï¼~~ ï¼å·²è¿æ¶ï¼æ¨èé
读CS:APPï¼
+
+#### ç½ç«
++ [OSDev](https://wiki.osdev.org/Main_Page) - æä¸æå
«çåèï¼å¾å¤è¿æ¥äººçç»éªãä½è
主è¦ç¨äºä¸å¤èµææ¥è¯¢ä»¥åæ¶éï¼ææ¯æç®ï¼æåï¼æ åçç²ç¥æ»ç»ï¼ä»¥åå¼åç¯å¢/å·¥å
·é¾çæå»ºã
++ [FreeVGA](http://www.osdever.net/FreeVGA/home.htm) - 98å¹´çèµæºï¼å
³äºVGAç¼ç¨ææ¯çå®èç½ç«ã
++ GNU CC å GNU LD ç宿¹ææ¡£ã
+
+#### å
¶ä»
++ Linux Manual - ç¨äºæ¥è¯¢*nix APIçä¸äºå
·ä½è¡ä¸ºã
+
+
+## éå½1ï¼æ¯æçç³»ç»è°ç¨
+
+### Unix/Linux/POSIX
+1. `sleep(2)`
+1. `wait(2)`
+1. `waitpid(2)`
+1. `fork(2)`
+1. `getpid(2)`
+1. `getppid(2)`
+1. `getpgid(2)`
+1. `setpgid(2)`
+1. `brk(2)`
+1. `sbrk(2)`
+1. `_exit(2)`
+1. `sigreturn(2)`
+1. `sigprocmask(2)`
+1. `signal(2) `
+
+### LunaixOSèªæ
-ãä»é¶å¼å§èªå¶æä½ç³»ç»ç³»åãæ¯æä»åº
+1. `yield`