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...