
内核与操作系统
文章平均质量分 82
内核相关文章
zsx0728
这个作者很懒,什么都没留下…
展开
-
操作系统中的引导块
基本上,当计算机通电或重新启动时,要开始运行以获取实例,它需要有一个初始程序来运行。这个被称为引导(bootstrap)的初始程序需要简单。它必须初始化系统的所有方面,从CPU寄存器到设备控制器和主内存的内容,然后启动操作系统。为了完成这项工作,引导程序基本上会在磁盘上找到操作系统内核,然后将内核加载到内存中,然后跳转到初始地址开始执行操作系统。...翻译 2021-08-09 16:45:20 · 2280 阅读 · 0 评论 -
链接器如何解析在多个位置定义的全局符号?
https://www.geeksforgeeks.org/how-linkers-resolve-multiply-defined-global-symbols/翻译 2021-04-19 14:26:12 · 216 阅读 · 0 评论 -
C程序的内存布局
C程序的典型内存表示包括以下部分。文本段(Text segment)初始化的数据段(Initialized data segment)未初始化的数据段(Uninitialized data segment)栈(Stack)堆(Heap)运行过程的典型内存布局1.文本段:文本段,也称为代码段或简单地称为文本,是目标文件或内存中程序的一部分,其中包含可执行指令。作为内存区域,文本段可以放在堆或栈的下面,以防止堆和栈溢出覆盖它。通常,文本段是可共享的,因此对于频繁执行的程序(例如文本编辑器翻译 2021-04-13 13:22:50 · 192 阅读 · 0 评论 -
进程管理介绍
文章目录程序与进程程序与进程进程是正在执行的程序。例如,当我们用C或C++编写程序并编译它时,编译器就创建二进制代码。原始代码和二进制代码都是程序。当我们实际运行二进制代码时,它就变成了一个进程。...翻译 2021-04-12 12:15:36 · 246 阅读 · 0 评论 -
在Linux上用C语言创建静态和动态链接库
静态链接和动态链接是收集和组合多个对象文件以创建单个可执行文件的两个过程。链接既可以在编译时执行,也可以当源代码转换并加载机器代码时执行,也可以当程序被加载到内存并由加载器执行时执行,甚至可以在运行时由应用程序执行。同时,它由被称为链接器的程序执行。链接器也称为链接编辑器,链接是编译程序的最后一步。在本教程中,将讨论C模块的静态和动态链接。翻译 2021-03-31 14:01:20 · 427 阅读 · 0 评论 -
僵尸进程及其预防
文章目录1. 僵尸进程的产生原因1.1 僵尸状态1.2 为什么我们需要避免创建僵尸进程?2. 防止僵尸进程的不同方法2.1 使用 wait() 系统调用2.2 忽略SIGCHLD信号2.3 使用 signal 句柄参考文档1. 僵尸进程的产生原因1.1 僵尸状态 在UNIX中使用 fork() 系统调用创建进程时,将复制父进程的地址空间。如果父进程调用 wait() 系统调用,则父进程的执行将暂停,直到子进程终止。在子进程终止时,会生成“ SIGCHLD”信号,该信号会由内核传递给父进程。父进程翻译 2021-02-08 11:02:31 · 402 阅读 · 0 评论 -
了解Linux信号
文章目录什么是信号信号的类型发送信号捕获信号清理临时文件忽略信号重置traps注意事项参考文档本文概述了常见的信号以及如何在bash脚本中处理信号。什么是信号 信号是系统响应特定条件而产生的事件。 当系统检测到软件事件时,可以向进程发送信号。信号可以由用户生成,也可以由进程生成。在发生硬件事件(比如硬件故障)或完成I/O事件时,内核也可以发送信号。 信号与中断类似,区别在于中断由硬件产生,处理器中转并由内核处理,而信号由内核(也可能通过系统调用)中转并由进程处理。内核可以将中断作原创 2021-01-19 16:14:09 · 108 阅读 · 0 评论 -
man 3 ctime中文手册
文章目录名称概要描述返回值注意示例参考文档名称asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r, localtime_r - 将日期和时间转换为分解时间(broken-down time)或ASCII码概要#include <time.h>char *asctime(const struct tm *tm);char *asctime_r(const struct tm *tm, char翻译 2020-12-27 19:09:40 · 1319 阅读 · 0 评论 -
/proc/sys/kernel/文档(三)
文章目录perf_event_paranoid参考文档perf_event_paranoid控制非特权用户对性能事件系统的使用(无CAP_SYS_ADMIN)。预设值为2。-1允许所有用户使用(几乎)所有事件在没有CAP_IPC_LOCK的情况下,忽略perf_event_mlock_kb之后的mlock限制= 0 没有CAP_SYS_ADMIN的用户不允许ftrac...翻译 2020-02-14 12:30:05 · 3329 阅读 · 0 评论 -
/proc/sys/kernel/文档(二)
文章目录numa_balancingnuma_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mbosrelease, ostype & versionoverflowgid & overfl...翻译 2020-01-23 23:27:45 · 2343 阅读 · 0 评论 -
/proc/sys/kernel/文档(一)
文章目录acctacpi_video_flagsauto_msgmnibootloader_typebootloader_versioncap_last_capcore_patterncore_pipe_limitcore_uses_pidctrl-alt-deldmesg_restrictdomainname & hostnamehardlockup_all_cpu_backtraceh...原创 2020-01-20 22:01:47 · 2512 阅读 · 0 评论 -
/proc/sys/fs文档
简介Sysctl是在运行时配置内核某些方面的一种方法,并且/proc/sys/目录就在那里,这样您甚至不需要特殊的工具来完成它!实际上,使用这些配置工具只需要四件事:运行中的Linux系统root 权限常识(这些天来很难做到)了解所有这些值的含义正如快速的“ls /proc/sys”将显示的那样,该目录由几个子目录组成。每个子目录是内核的一部分,因此您可以逐个进行配置,也可以仅进行...原创 2020-01-15 22:45:18 · 2494 阅读 · 0 评论 -
内核的命令行参数
内核将内核命令行的参数解析为“--”。如果内核不识别参数,也不包含“.”,那么参数会被传递给init:带“=”的参数会被传递给init环境,其他会作为命令行参数传递给init。“ -- ”之后的所有内容都作为参数被传递给init。可以通过两种方式指定模块参数:通过带有模块名称前缀的内核命令行,或通过modprobe,例如:(kernel command line) usbcore.blin...原创 2020-01-11 14:16:36 · 2127 阅读 · 0 评论 -
Makefile简介
Makefile简介您需要一个名为makefile的文件来告诉make该怎么做。通常,makefile会告诉make如何编译和链接程序。如果头文件更改,则必须重新编译包含头文件的每个C源文件以确保安全。每次编译都会生成与源文件对应的对象文件。规则简介一个简单的makefile由具有以下形状的“规则”组成:target … : prerequisites … recipe...原创 2019-12-28 14:57:16 · 196 阅读 · 0 评论 -
linux内核3.x升级至5.x
官方升级步骤参考官方的升级步骤,实践了一下。环境如下:[root@bogon src]# uname -srLinux 3.10.0-862.el7.x86_64从网上下载了linux-5.1.15.tar.xz,101M。提前准备好环境,确保根目录有足够的空间和足够的内存进行安装,空间大约11G,内存最少也得2G吧。本人失败了2次,一次根目录空间不足,一次内存不足,只能呵呵了。其实...原创 2019-06-28 13:58:34 · 1958 阅读 · 0 评论