Created: 2020-05-29 10:12 Updated: 2020-05-29 10:12

Hoje compilei e instalei o kernel-5.6.15 na máquina de trabalho. Depois do trabalho, fiquei curioso quanto o número de linhas de código desta versão. Então descompactei o código-fonte e utilizei o cloc para efetuar uma análise simples do código. Eis os resultados:

67299 text files.
66848 unique files.
11157 files ignored.

github.com/AlDanial/cloc v 1.81  T=6 s (86.0 fs, 40573.4s/s)
------------------------------------------------------------------------
Language                      files     blank   comment      code
-----------------------------------------------------------------
C                             28264   2794020   2308754  14227120
C/C++ Header                  20089    537040    964805   4338669
reStructuredText               2231    108696     54652    288204
Assembly                       1317     46897    101253    229762
JSON                            274         0         0    162946
Bourne Shell                    603     14649     10349     58264
make                           2546      9635     10746     42802
YAML                            500      8456      2339     39400
SVG                              59       118      1365     37555
Perl                             60      6620      4739     33988
Python                          118      4993      4595     26271
yacc                              9       699       359      4808
PO File                           5       791       918      3077
lex                               8       326       300      2014
C++                              10       324       130      1949
Bourne Again Shell               51       360       298      1796
awk                              10       140       116      1060
Glade                             1        58         0       603
NAnt script                       2       146         0       553
Cucumber                          1        28        50       174
Windows Module Definition         2        15         0       109
m4                                1        15         1        95
CSS                               1        28        29        80
XSLT                              5        13        26        61
vim script                        1         3        12        27
Ruby                              1         4         0        25
INI                               1         1         0         6
sed                               1         2         5         5
-----------------------------------------------------------------
SUM:                          56171   3534077   3465841  19501423
-----------------------------------------------------------------

Cerca de 18.5 milhões de linhas de código e C, incluindo os arquivos de header. Um projeto de software de muito respeito.

Vale lembrar que o kernel não contém as aplicações que acompanham o sistema operacional e que o tornam usável. O kernel, basicamente, oferece o acesso aos dispositivos de hardware de uma forma padronizada para as aplicações. É isso que o torna a peça central de um sistema operacional.

E pensar que a versão 1.0 do kernel do Linux, lançada em 14 de Março de 1994, tinha 176250 linhas de código e suportava apenas a arquitetura i386...