X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2d9bc8d4f1f4d8b474cc8436674b17542d3f99e7..38965e3e83ba1b03c9c9a0f14cce85c1d0cd8fd8:/README.md diff --git a/README.md b/README.md index c13b520..d2664f6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,33 @@ -# LunaixOS Project +
+
+
+ ç®ä½ä¸æ | English +
+# 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ï¼ ++ é®çè¾å ¥ ++ å¤è¿ç¨ ++ 17个常è§çLinux/POSIXç³»ç»è°ç¨ï¼[éå½1](#appendix1)ï¼ ++ ç¨æ·æ¨¡å¼ ++ ä¿¡å·æºå¶ ++ PCI 3.0 ++ PCIe 1.1 (WIP) + ## ç®å½ç»æ | | | @@ -28,17 +54,49 @@ LunaixOS - ä¸ä¸ªç®åçï¼è¯¦ç»çï¼POSIXå ¼å®¹çï¼ä½æ¿ï¼ï¼ï¼å¸¦æ + 82093AA I/O Advanced Programmable Controller (IOAPIC) (Datasheet) + MC146818A (Datasheet) + Intel 500 Series Chipset Family Platform Controller Hub (Datasheet - Volume 2) ++ PCI Local Bus Specification, Revision 3.0 ++ PCI Express Base Specification, Revision 1.1 ++ PCI Firmware Specification, Revision 3.0 + +**å 责声æï¼PCIç¸å ³çæ åæç»è§£éæå½PCI-SIGææãæ¤å¤æä¾ç坿¬ä» ä¾ä¸ªäººå¦ä¹ 使ç¨ãä»»ä½åç¨ç®çé¡»åPCI-SIGè´ä¹°ã** #### çè®ºä¹¦ç± -+ *Computer System - A Programmer's Perspective Third Edition* (Bryant, R & O'Hallaron, D) ++ *Computer System - A Programmer's Perspective Third Edition (CS:APP)* (Bryant, R & O'Hallaron, D) + *Modern Operating System* (Tanenbaum, A) -+ ãæ±ç¼è¯è¨ãï¼çç½ï¼ - ç¨äºå ¥é¨æ±ç¼ -+ ãå¾®æºåç䏿¥å£ææ¯ã - ç¨äºå¤§è´äºè§£x86æ¶æçå¾®æºä½ç³»ï¼æ´å ç»è´çäºè§£å¯ä»¥é 读Intel Manualï¼ ++ ãæ±ç¼è¯è¨ãï¼çç½ï¼ - ç¨äºå ¥é¨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 ç宿¹ææ¡£ã ++ [PCI Lookup](https://www.pcilookup.com/) - PCI设å¤ç¼å·æ¥è¯¢ #### å ¶ä» -+ Linux Manual - ç¨äºæ¥è¯¢*nix APIçä¸äºå ·ä½è¡ä¸ºã \ No newline at end of file ++ Linux Manual - ç¨äºæ¥è¯¢*nix APIçä¸äºå ·ä½è¡ä¸ºã + + +## éå½1ï¼æ¯æçç³»ç»è°ç¨ + +### Unix/Linux/POSIX +1. `sleep(3)` +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)` +1. `kill(2)` +1. `sigpending(2)` +1. `sigsuspend(2)` + +### LunaixOSèªæ + +1. `yield`