简介近期在阅读鸿蒙liteOS_a,由于是初次探索内核的奥秘。将一些阅读的心得进行分享。希望能在作为笔记的同时,也能帮助更多人学习。感谢图灵大佬的注释项目,使我能够更加快速的理解。https://weharmony.github.io/核心模块核心模块位于:kernel->base->core其中包括:los_bitmap.c用于位操作,改变标志位。los_process.c用于控制并发、并行、单核多进程、多核多线程的管理los_sortlik.c用于排序los_swtmr.c用于定时器los_sys.c用于时间管理,转换秒与毫秒,了解当前系统运行时间los_task.c用于任务状态管理,一个
这个问题在这里已经有了答案:Emulatingado-whileloopinBash(4个答案)关闭7年前。在Internet上进行一些搜索后,Bash似乎没有do-while循环。这是正确的吗?是否有可靠的来源来证实这一点(缺乏证据表明存在do-while循环并不是说没有,也许只是一种说法不受欢迎)?是否可以自己定义指令并实现do-while循环?有一种算法方法可以将do-while循环转换为while循环,但这不是这个问题的范围。
这个问题在这里已经有了答案:Emulatingado-whileloopinBash(4个答案)关闭7年前。在Internet上进行一些搜索后,Bash似乎没有do-while循环。这是正确的吗?是否有可靠的来源来证实这一点(缺乏证据表明存在do-while循环并不是说没有,也许只是一种说法不受欢迎)?是否可以自己定义指令并实现do-while循环?有一种算法方法可以将do-while循环转换为while循环,但这不是这个问题的范围。
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion我想对Linux(2.6.31)中的sync(8)和fsync函数的功能有更多的说明。它是否确保将文件写入相应的存储?
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion我想对Linux(2.6.31)中的sync(8)和fsync函数的功能有更多的说明。它是否确保将文件写入相应的存储?
我想从structtask_struct中获取完整的进程名称。comm字段仅存储16个字符,而进程名称可以更长。有没有办法获得完整的进程名称?这可以通过从task_struct获取structvm_area_struct,进而获取vm_area映射到的文件来实现,但这种方式不可靠。 最佳答案 您指的是exe文件名吗?您可以通过以下方式获取当前进程的exe:char*pathname,*p;mm=current->mm;if(mm){down_read(&mm->mmap_sem);if(mm->exe_file){pathname=
我想从structtask_struct中获取完整的进程名称。comm字段仅存储16个字符,而进程名称可以更长。有没有办法获得完整的进程名称?这可以通过从task_struct获取structvm_area_struct,进而获取vm_area映射到的文件来实现,但这种方式不可靠。 最佳答案 您指的是exe文件名吗?您可以通过以下方式获取当前进程的exe:char*pathname,*p;mm=current->mm;if(mm){down_read(&mm->mmap_sem);if(mm->exe_file){pathname=
我读到Linux不支持线程或轻量级进程的概念,它认为内核线程与任何其他进程一样。然而,这个原则并没有很准确地反射(reflect)在代码中。我们看到保存进程状态信息的task_struct(如果错误请纠正我)以及附加到进程内核堆栈底部的thread_info。现在的问题是,当linux应该像任何其他进程一样解释线程时,为什么代码通过thread_info支持独立线程的概念?请让我知道我在这里遗漏了什么——我是linux内核开发的新手。 最佳答案 Linux中的线程被视为恰好共享某些资源的进程。每个线程都有自己的thread_info
我读到Linux不支持线程或轻量级进程的概念,它认为内核线程与任何其他进程一样。然而,这个原则并没有很准确地反射(reflect)在代码中。我们看到保存进程状态信息的task_struct(如果错误请纠正我)以及附加到进程内核堆栈底部的thread_info。现在的问题是,当linux应该像任何其他进程一样解释线程时,为什么代码通过thread_info支持独立线程的概念?请让我知道我在这里遗漏了什么——我是linux内核开发的新手。 最佳答案 Linux中的线程被视为恰好共享某些资源的进程。每个线程都有自己的thread_info
我刚刚开始学习套接字(Linux)的基础知识。我尝试了一个小例子,但它不起作用,我也不知道出了什么问题。我收到“连接被拒绝”错误消息。这是我的代码:#include#include#include#include#include#include#includeintmain(){intc;c=socket(AF_INET,SOCK_STREAM,0);if(c编辑当然!错误实际上是在服务器中。我只是觉得客户端发送消息很奇怪,所以我缩小了视野,甚至都懒得回头看服务器。由于错误似乎也在我的服务器中,我可能最终会问另一个问题并将其链接到这里服务器正在监听(12345)...