Linux????????????????????
???????????? ???????[ 2016/3/18 15:39:22 ] ?????????????? Linux
????????copy_prossess??????????get_free_page??????????????????????????????棬???????????????0??????????????????????????task_struct???????????????task[nr]???nr????find_empty_process?з??????????
????????????*p=*current???????????????????????????????????????????Щ??????????????????????????????????????????????????????????????
???????????????????????????????????????????????copy_process????????????????????copy_mem?????????????????????λ?????????????????
????int copy_mem (int nr?? struct task_struct *p)
????{
????unsigned long old_data_base?? new_data_base?? data_limit;
????unsigned long old_code_base?? new_code_base?? code_limit;
????code_limit = get_limit (0x0f); // ?????????????д?????????????ж??????
????data_limit = get_limit (0x17); // ????????????????????????????ж??????
????old_code_base = get_base (current->ldt[1]); // ??????λ????
????old_data_base = get_base (current->ldt[2]); // ??????λ????
????if (old_data_base != old_code_base) // 0.11 ?治???????????η??????????
????panic ("We don't support separate I&D");
????if (data_limit < code_limit) // ???????γ??? < ????γ?????????
????panic ("Bad data_limit");
????new_data_base = new_code_base = nr * 0x4000000; // ????=?????*64Mb(?????С)??
????p->start_code = new_code_base;
????set_base (p->ldt[1]?? new_code_base); // ???????????????л????
????set_base (p->ldt[2]?? new_data_base); // ????????????????л????
????if (copy_page_tables (old_data_base?? new_data_base?? data_limit))
????{ // ????????????Ρ?
????free_page_tables (new_data_base?? data_limit); // ???????????????????檔
????return -ENOMEM;
????}
????return 0;
????}
???????????????pwd???????????????????????????GDT?е????????????????????????????????
???????????????????
????????????深?????????????????μ??????
????1??????fork????????????0×80?ж?
????2??????sys_fork
????3?????find_empty_process?????????????????
????4?????copy_process???????????????????????????????Щ????????ú??????????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
Linux??????DDR????????????Linux?????????????????豸??????????linux???в???????????м??????????????????????????Linux????Linux??DNS????????????γ???????????Linux?????????????Linux????(???)????????Linux ????????????????????????????????Windows???У?Linux???????Linux????????????????Linux iommu??vfio???????Linux????ε???TCP???????Linux?????????????СLinux?·???????????Linux???Jexus?й?Asp.Net Core??ó???Linux?????????Щ??
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????