🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

990閲覧

Linuxカーネルの規模

pussy_pussy

総合スコア22

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2020/11/25 23:28

編集2020/11/26 00:18

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/

このページにSizeという項目があるのですが、この単位は何でしょうか?
また、このページのkernelという項目のソースコードがLinuxOSを構成しているものと捉えてよろしいのでしょうか。

追記:
単純にソースコードの文字数かと思いカウントしてのですが空白を含めた文字数でもSizeと一致しませんでした

再追記:
https://www.kernel.org/
こちらのページのファイルをダウンロードして展開したところ、
linux-5.9.11 というファイルが見つかり、プロパティを参照すると
サイズ 955 060 256
格納サイズ 973 062 656
物理サイズ 1 011 333 120
とありました。
これらのサイズの単位は何でしょうか?
文字数でいうとどれくらいになるのかはわかるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

これらの知識はコンピューターやITの初歩の初歩です。

知らないってのは金槌の存在を知らないけど
大工になりたいんだ!って言ってるレベルです。

もしITエンジニアを志すのであれば、
ITパスポート基本情報技術者といった資格を勉強していくと体系的に学習出来るかと思います。
情報処理の大学や専門学校等に通うのも良いと思います。

このページにSizeという項目があるのですが、この単位は何でしょうか?

特に指定が無ければバイトです。

コンピュータは元々0と1しか認識出来ないという話は聞いた事あると思います。
ON/OFFのスイッチがあって、スイッチがどちらにあるかで0か1かを判別する仕組みです。
それでどうやって計算するねん。

そこでこの0と1を大量につなぎ合わせて、
大量の桁の2進数として扱います。
大量の桁の2進数が1個あっても、やはりどうやって計算するねんとなります。

なので2進数の数値を用途に応じて切り取って、
大量の2進数の数値を手足のように扱って計算することになります。

1個のON/OFFスイッチをビットと呼び、
このビット8個1組にしたバイトがコンピュータでの基準となります。

8ビット ≒ 1バイト

8ビット≒2進数8桁では0〜255までの値しか扱えませんので、
用途に応じてこの1バイトをくっつけて計算します。
2バイトなら0〜65535を表現可能です。


単純にソースコードの文字数かと思いカウントしてのですが空白を含めた文字数でもSizeと一致しませんでした

文字コードの話になります。

1ビット≒2進数1桁というのは先程説明しました。
例えば7ビット集まれば128種類の数値が表現出来ます。

コンピュータが文字を表現する為に、
この128種類の数値に1文字ずつ割り当てていくという事を考えた人が居ました。
こうして出来たのが7ビット1組で1文字を表現するASCII文字です。

数値10文字、アルファベット26文字、大文字小文字で2倍の52文字
その他記号で埋めて127文字をあてがいました。

しかしこの7ビットが一生続くわけなので何処で区切れば良いか分からない。
そこで実際に文字コードとして使われる際、
常にスイッチ0としてそこに置いておく1ビットを足して8ビット(≒1バイト)にして使います。

コンピュータが全世界で使われるようになって、
英語以外の文字列を取り入れる為に色々と拡張した文字コードの規格もありますが、
LinuxのカーネルならASCII文字以外殆ど使われていないでしょう。
(日本語等が含まれていると相当複雑になります。興味があればユニコードなどで調べてみてください)

ソースコードの文字数をカウントすれば
ほぼ文字数と同等になるのはそういった経緯があるからです。

実際にはテキストの改行文字も1〜2バイトで計算するので、
一致しないと判断したのだと思いますが、
この辺を上手く勘定に入れて計算すれば一致するはずです。

投稿2020/11/26 01:29

miyabi-sun

総合スコア21203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pussy_pussy

2020/11/26 01:53

詳しくありがとうございます。 FEの資格はこれから勉強して取ろうと思います。 自分が基礎的な内容から理解できていないことを自覚出来ました。
miyabi-sun

2020/11/26 02:01

勉強頑張ってくださいね 人間の価値ってのはBefore→Afterの差で決まるものです
guest

0

このページのkernelという項目のソースコードがLinuxOSを構成しているものと捉えてよろしいのでしょうか。

あくまでここにあるのはカーネルだけです。シェルや各種ユーティリティなどを揃えてはじめてOSとして実用可能になります。

投稿2020/11/26 00:19

maisumakun

総合スコア145975

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pussy_pussy

2020/11/26 00:21

なるほどです。 OSを構成するソースコードの行数を調べているところなのですが、 Linuxでも具体的な数値というのはわからないものなのでしょうか? つまり、全てのソースコードを公開しているわけではないのでしょうか?
pussy_pussy

2020/11/26 00:28

すみません。Githubではすべて公開されているみたいですね。 全ソースコードの行数などは調べられるものなのでしょうか。
pussy_pussy

2020/11/26 00:33

何度もすいません。clocというLOC計測ツールがあるようですね。 これを使ってGithubのlinuxのソースコードのLOCを計測してみようと思います。 これで問題ないでしょうか?
maisumakun

2020/11/26 01:32

> これで問題ないでしょうか? 何のために測定したいかによります。
pussy_pussy

2020/11/26 02:24

大学の課題なので厳密な数値は必要ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問