摘要:为什么我一回车,这些字符就发到遥远的另外一台机器上去了? Linux 内核机制是我们这个专栏重点要讲述的部分,我会基于最新 4.x的内核进行讲解,当然我也意识到了内核机制的复杂性,所以我选择通过 故事性和…...
在平时的生活中,我们几乎时时刻刻都在使用操作系统,只是大部分时间你都意识不到它的存在。操作系统到底在背后默默地做了哪些事情,才能让我们轻松地使用电子设备呢? 不知道你有没有产生过这些疑问:
桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一个美丽的画面?这都是从哪里跑出来的?
电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方?
为什么我一回车,这些字符就发到遥远的另外一台机器上去了?
对于普通用户来讲,其实只要会用就行了,但是咱们作为专业人士,要深入探究一下背后的答案。操作系统其实就像一个软件外包公司,其内核就相当于这家外包公司的老板。为什么这么说呢?
假设,我们现在就是在做一家外包公司,我们的目标是把这家公司做上市。其中,操作系统就是这家外包公司的老板。我们把这家公司的发展阶段分为这样几个时期:
初创期 :这个老板基于开放的营商环境(x86 体系结构),创办一家外包公司(系统的启动)。因为一开始没有其他员工,老板需要亲自接项目(实模式)。
发展期 :公司慢慢做大,项目越接越多(保护模式、多进程),为了管理各个外包项目,建立了项目管理体系(进程管理)、会议室管理体系(内存管理)、文档资料管理系统(文件系统)、售前售后体系(输入输出设备管理)。
壮大期 :公司越来越牛,开始促进内部项目的合作(进程间通信)和外部公司合作(网络通信)。
集团化 :公司的业务越来越多,会成立多家子公司(虚拟化),或者鼓励内部创业(容器化),这个时候公司就变成了集团。大管家的调度能力不再局限于一家公司,而是集团公司(Linux 集群),从而成功上市(从单机操作系统到数据中心操作系统)。
把外包公司做上市的过程,就是我们对 Linux 操作系统从入门到精通的过程。要做到对 Linux 了如指掌,我认为你需要爬 6 个陡坡。
第一个坡:抛弃旧的思维习惯,熟练使用 Linux 命令行
上手 Linux 的第一步,要先从 Windows 的思维习惯,切换成 Linux 的“ 命令行 + 文件”使用模式。不过,在这个专栏里,命令行并不是我们的重点,但是考虑到一些刚起步的同学,在第一部分我会简单介绍一些能够让你快速上手 Linux 的命令行。专栏每一模块的第一节,我都会有针对性地讲解这一模块的常用命令,足够你把 Linux 用起来。
第二个坡:通过系统调用或者 glibc,学会自己进行程序设计
用代码操作 Linux,可以直接使用 Linux 系统调用,也可以使用 glibc 的库。如果说使用命令行的人是吃馒头的,那写代码操作命令行的人就是做馒头的。你会发现,你平时用的一个简单的命令行,却需要 N 个系统调用组合才能完成。其中每个系统调用都要进行深入地学习、读文档、做实验。经过一段时间的学习,你已经很接近操作系统的原理了,你能看到另一番风景。
第三个坡:了解 Linux 内核机制,反复研习重点突破
进一步了解内核的原理,有助于你更好地使用命令行和进行程序设计,能让你的运维和开发水平上升一个层次。Linux 内核机制是我们这个专栏重点要讲述的部分,我会基于最新 4.x 的内核进行讲解,当然我也意识到了内核机制的复杂性,所以我选择通过 故事性和图形化 的方式,帮助你了解并记住这些机制。
第四个坡:阅读 Linux 内核代码,聚焦核心逻辑和场景
一旦爬上这个坡,对于操作系统的原理,你应该就掌握得比较清楚了。这个时候,你就可以有针对性地去做课题,把所学和你现在做的东西结合起来重点突破。例如你是研究虚拟化的,就重点看 KVM 的部分;如果你是研究网络的,就重点看内核协议栈的部分。
第五个坡:实验定制化 Linux 组件,已经没人能阻挡你成为内核开发工程师了
纸上得来终觉浅,绝知此事要躬行。从只看内核代码,到上手修改内核代码,这又是一个很大的坎。例如,你可以自己实现一个设备驱动程序,实现一个自己的系统调用,或者实现一个自己的文件系统等等。专栏最后一个部分,我专门设计了两个实验,帮你度过这个坎。只要跟着我的步伐进行学习,接下来,就没人能够阻挡你成为一名内核开发工程师了。
第六个坡:面向真实场景的开发,实践没有终点
说了这么多,我们都只是走出了万里长征第一步。我始终坚信,真正的高手都是在实战中摸爬滚打练出来的。
如果你是运维,仅仅熟悉上面基本的操作是不够的,生产环境会有大量的不可控因素,尤其是集群规模大的更是如此,大量的运维经验是实战来的,不能光靠读书。
如果你是开发,对内核进行少量修改容易,但是一旦面临真实的场景,需要考虑各种因素,并发与并行,锁与保护,扩展性和兼容性,都需要真实项目才能练出来
想了解更多内容请关注GZ号【路人甲科技】
台州高防护IP段(TCP_SYN,ACK,RST)展示:
180.188.26.1
180.188.26.2
180.188.26.3
180.188.26.4
180.188.26.5
180.188.26.6
180.188.26.7
180.188.26.8
180.188.26.9
180.188.26.10
180.188.26.11
180.188.26.12
180.188.26.13
180.188.26.14
180.188.26.15
180.188.26.16
180.188.26.17
180.188.26.18
180.188.26.19
180.188.26.20
180.188.26.21
180.188.26.22
180.188.26.23
180.188.26.24
180.188.26.25
180.188.26.26
180.188.26.27
180.188.26.28
180.188.26.29
180.188.26.30
180.188.26.31
180.188.26.32
180.188.26.33
180.188.26.34
180.188.26.35
180.188.26.36
180.188.26.37
180.188.26.38
180.188.26.39
180.188.26.40
180.188.26.41
180.188.26.42
180.188.26.43
180.188.26.44
180.188.26.45
180.188.26.46
180.188.26.47
180.188.26.48
180.188.26.49
180.188.26.50
180.188.26.51
180.188.26.52
180.188.26.53
180.188.26.54
180.188.26.55
180.188.26.56
180.188.26.57
180.188.26.58
180.188.26.59
180.188.26.60
180.188.26.61
180.188.26.62
180.188.26.63
180.188.26.64
180.188.26.65
180.188.26.66
180.188.26.67
180.188.26.68
180.188.26.69
180.188.26.70
180.188.26.71
180.188.26.72
180.188.26.73
180.188.26.74
180.188.26.75
180.188.26.76
180.188.26.77
180.188.26.78
180.188.26.79
180.188.26.80
180.188.26.81
180.188.26.82
180.188.26.83
180.188.26.84
180.188.26.85
180.188.26.86
180.188.26.87
180.188.26.88
180.188.26.89
180.188.26.90
180.188.26.91
180.188.26.92
180.188.26.93
180.188.26.94
180.188.26.95
180.188.26.96
180.188.26.97
180.188.26.98
180.188.26.99
180.188.26.100
180.188.26.101
180.188.26.102
180.188.26.103
180.188.26.104
180.188.26.105
180.188.26.106
180.188.26.107
180.188.26.108
180.188.26.109
180.188.26.110
180.188.26.111
180.188.26.112
180.188.26.113
180.188.26.114
180.188.26.115
180.188.26.116
180.188.26.117
180.188.26.118
180.188.26.119
180.188.26.120
180.188.26.121
180.188.26.122
180.188.26.123
180.188.26.124
180.188.26.125
180.188.26.126
180.188.26.127
180.188.26.128
180.188.26.129
180.188.26.130
180.188.26.131
180.188.26.132
180.188.26.133
180.188.26.134
180.188.26.135
180.188.26.136
180.188.26.137
180.188.26.138
180.188.26.139
180.188.26.140
180.188.26.141
180.188.26.142
180.188.26.143
180.188.26.144
180.188.26.145
180.188.26.146
180.188.26.147
180.188.26.148
180.188.26.149
180.188.26.150
180.188.26.151
180.188.26.152
180.188.26.153
180.188.26.154
180.188.26.155
180.188.26.156
180.188.26.157
180.188.26.158
180.188.26.159
180.188.26.160
180.188.26.161
180.188.26.162
180.188.26.163
180.188.26.164
180.188.26.165
180.188.26.166
180.188.26.167
180.188.26.168
180.188.26.169
180.188.26.170
180.188.26.171
180.188.26.172
180.188.26.173
180.188.26.174
180.188.26.175
180.188.26.176
180.188.26.177
180.188.26.178
180.188.26.179
180.188.26.180
180.188.26.181
180.188.26.182
180.188.26.183
180.188.26.184
180.188.26.185
180.188.26.186
180.188.26.187
180.188.26.188
180.188.26.189
180.188.26.190
180.188.26.191
180.188.26.192
180.188.26.193
180.188.26.194
180.188.26.195
180.188.26.196
180.188.26.197
180.188.26.198
180.188.26.199
180.188.26.200
180.188.26.201
180.188.26.202
180.188.26.203
180.188.26.204
180.188.26.205
180.188.26.206
180.188.26.207
180.188.26.208
180.188.26.209
180.188.26.210
180.188.26.211
180.188.26.212
180.188.26.213
180.188.26.214
180.188.26.215
180.188.26.216
180.188.26.217
180.188.26.218
180.188.26.219
180.188.26.220
180.188.26.221
180.188.26.222
180.188.26.223
180.188.26.224
180.188.26.225
180.188.26.226
180.188.26.227
180.188.26.228
180.188.26.229
180.188.26.230
180.188.26.231
180.188.26.232
180.188.26.233
180.188.26.234
180.188.26.235
180.188.26.236
180.188.26.237
180.188.26.238
180.188.26.239
180.188.26.240
180.188.26.241
180.188.26.242
180.188.26.243
180.188.26.244
180.188.26.245
180.188.26.246
180.188.26.247
180.188.26.248
180.188.26.249
180.188.26.250
180.188.26.251
180.188.26.252
180.188.26.253
180.188.26.254
180.188.26.255返回搜狐,查看更多
责任编辑: