X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2d9bc8d4f1f4d8b474cc8436674b17542d3f99e7..5486af56a526398455ca6fa212e7b43c72daec98:/README.md diff --git a/README.md b/README.md index c13b520..bd8ac0f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,31 @@ -# 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)ï¼ ++ ç¨æ·æ¨¡å¼ ++ ä¿¡å·æºå¶ + ## ç®å½ç»æ | | | @@ -30,10 +54,10 @@ LunaixOS - ä¸ä¸ªç®åçï¼è¯¦ç»çï¼POSIXå ¼å®¹çï¼ä½æ¿ï¼ï¼ï¼å¸¦æ + Intel 500 Series Chipset Family Platform Controller Hub (Datasheet - Volume 2) #### çè®ºä¹¦ç± -+ *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) - æä¸æå «çåèï¼å¾å¤è¿æ¥äººçç»éªãä½è 主è¦ç¨äºä¸å¤èµææ¥è¯¢ä»¥åæ¶éï¼ææ¯æç®ï¼æåï¼æ åçç²ç¥æ»ç»ï¼ä»¥åå¼åç¯å¢/å·¥å ·é¾çæå»ºã @@ -41,4 +65,30 @@ LunaixOS - ä¸ä¸ªç®åçï¼è¯¦ç»çï¼POSIXå ¼å®¹çï¼ä½æ¿ï¼ï¼ï¼å¸¦æ + GNU CC å GNU LD ç宿¹ææ¡£ã #### å ¶ä» -+ 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`