欢迎来到天天文库
浏览记录
ID:43227462
大小:598.00 KB
页数:125页
时间:2019-10-05
《现代作业系统核心》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CE6130現代作業系統核心ModernOperatingSystemKernels許富皓1CPreprocessor:StringificationWhenamacroparameterisusedwithaleading#,thepreprocessorreplacesitwiththeliteraltextoftheactualargument,convertedtoastringconstant.Unlikenormalparameterreplacement,theargumentisnotmacro-expandedfirst
2、.Thisiscalledstringification.#defineWARN_IF(EXP)do{if(EXP)fprintf(stderr,"Warning:"#EXP"");}while(0)===============================================WARN_IF(x==0);==>do{if(x==0)fprintf(stderr,"Warning:""x==0""");}while(0);2MultipleKernelModeStacksIfthesizeofthethread
3、_unionstructureis8KB,thekernelmodestackofthecurrentprocessisusedforeverytypeofkernelcontrolpath:exceptions,interrupts,anddeferrablefunctions.Ifthesizeofthethread_unionstructureis4KB,thekernelmakesuseofthreetypesofkernelmodestacks.3ExceptionStackTheexceptionstackisusedwhen
4、handlingexceptions(includingsystemcalls).Thisisthestackcontainedintheper-processthread_uniondatastructure,thusthekernelmakesuseofadifferentexceptionstackforeachprocessinthesystem.4HardIRQStackThehardIRQstackisusedwhenhandlinginterrupts.ThereisonehardIRQstackforeachCPUinth
5、esystem,andeachstackiscontainedinasinglepageframe.Inamultiprocessorsystem,allhardIRQstacksarecontainedinthehardirq_stackarray.5StructureofHardIRQStackstaticcharhardirq_stack[NR_CPUS*THREAD_SIZE]__attribute__((__aligned__(THREAD_SIZE)));element5(THREAD_SIZEbytes)element4(T
6、HREAD_SIZEbytes)element3(THREAD_SIZEbytes)element2(THREAD_SIZEbytes)element1(THREAD_SIZEbytes)Eachhardirq_stackarrayelementisaunionoftypeirq_ctxthatspanasinglepage.unionirq_ctx{structthread_infotinfo;u32stack[THREAD_SIZE/sizeof(u32)];};hardirq_stack6SoftIRQStackThesoftIRQ
7、stackisusedwhenhandlingdeferrablefunctions(softirqsortasklets).ThereisonesoftIRQstackforeachCPUinthesystem,andeachstackiscontainedinasinglepageframe.AllsoftIRQstacksarecontainedinthesoftirq_stackarray.7StructureofSoftIRQStackstaticcharsoftirq_stack[NR_CPUS*THREAD_SIZE]__a
8、ttribute__((__aligned__(THREAD_SIZE)));Eachsoftirq_stackarrayelementisaunionoftypeirq_ctxthatspa
此文档下载收益归作者所有