質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

14回答

13424閲覧

どのようにOSなどの勉強をしたらいいですか?

yu-ki000

総合スコア50

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

9クリップ

投稿2015/04/03 07:58

1年ほど前からubuntuを使い始め、分からないながら色々やっていたのですが、1年たっても初心者から脱出ができません。

最近パソコンのシステム内部がどのようになってるか知りたくなってきました。
しかし、どこから何を勉強したらいいのかわかりません。

カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?
またシステムに詳しくなるためには何を勉強すべきでしょうか?

本来は自分で調べ上げ、自力で学習すべきなのでしょうが壁にぶち当たってしまいました。

できれば回答お願いします。
またアドバイス等がありましたら、よろしくお願いします。

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

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

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

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

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

guest

回答14

0

「Linuxシステムコールプログラミング」という本があるので、このあたりから攻めてみてはどうでしょうか。
システムコールがわかれば、OSがわかるようになります。

投稿2015/04/03 08:08

chokojori

総合スコア971

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

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

yu-ki000

2015/04/03 08:47

違う質問でも回答してくださいましたね。回答ありがとうございます。 良さそうな本ですね。知りたい内容も一致してます。 時間を見つけてじっくり読んでみたいと思います。
guest

0

OSにしても、プログラミング言語にしても、きちんと学習したい・・・
もし現在「ググッて」勉強がメインであるなら、その方法を止めるべきかと思います。
ただしく、書籍を読んで勉強しましょう。

このように書くと、今後はどの書籍がいいですか?という質問がくるので・・・

正直答えようが、ありません。

例えば、
「詳解 Linuxカーネル 第3版」
この本なんか、よく書かれていると思いますが、では万人向けか?というとそうではありません。それなりのベース知識が必要となります。

というように、読み手によってレベルが違うので、お勧めって、なかなか正しい回答できません。

なので、もし可能であれば、このようなIT系の書籍のある本屋さんにいって、まずは「立ち読み」です。
ぱらぱらっと読んで、これなら理解できそうと思う本をまずは1冊読破しましょう。
最近は、Amazonでも、「なか見!」ができるようになったので、それでもいいですが、手にとって見るよりも効率は悪いかも。

こんな事を何冊か繰り返せば、そうとうきちんとした勉強になるかと思います。

読んでいて途中で分からないことがでてきたら、その分からないことが書かれている記事を「ググる」のはありだと思います。

本を中心に学習してください。そして、Google先生は、あくまでも補助で。が効率よい方法かと。

でも、Google先生の情報は、間違い・勘違い・自分との環境違い、だらけであるという事も、忘れずに。

投稿2016/03/03 05:44

編集2016/03/03 05:45
ItoTomonori

総合スコア1283

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

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

0

>カーネルをいじれる、システムやツールのエラー・不具合を治せる、
>サーバ構築等ができるようになるには何を勉強すべきでしょうか?
>またシステムに詳しくなるためには何を勉強すべきでしょうか?
例えば、Linux を想定しているのであれば、
ネット検索
で、それなりの情報がでてきます。
そこから、辿り付けなければ、能力不足だという事です。
(あえて、検索ワードや、URLを示しません。)
Linux の一次情報を得たり、GNUプロジェクトに参加しようとする場合は、
それなりの、英語での読書能力、交渉能力が必用になってくると、思います。

OSを構成するのは、現在では、
OS本体:Linuxカーネルと呼ばれる部分他、様々な機能群、コマンド群、標準アプリ群
になっていますので、何を目的とするかで、
勉強する事柄も、変わります。

Linuxカーネルや、ハードウェアの素に近い部分を弄る為には、
CPU毎の、アーキテクチャ、メモリ構造、IOチップや、
サポート機能毎の、ハードウェア
(コントローラチップ毎の~や、PCI-Expressバスに対する~他)の
知識も必須となります。
DOSVの、CPU、IOチップ、のハンドブック的文書を全部読破するだけでも、
かる~~く、数年はかかるかも。
なので、そんな事を、チップのハンドブック片手に、やる方は非常に限られた事になって
しまっています。

むか~~しは、
FDD、HDD、GDC、232C、GPIBのドライバなんて、
コントローラの仕様書片手に、結構簡単に書けたのですが、
現在では、それすらも、CPUのリングプロテクション 下では、
CPU毎の、お作法があったり、ユーザーモードでは出来ない事があったり。
それらの情報はネット上に出ている事柄だけでは不足しますので、
各CPUメーカー、IOチップメーカー毎に文書を手にいれる方法から、
探せないと、何もできない事になります。
⇒一般に文書を提供していない場合は、秘密保持契約が必用だったり。
個人向けには、情報提供せずに、ユーザー企業にのみ情報提供をしていたり。
種々情報は、英語で提供される事が多いので、日本語だけでは行える事は、
限定的だったりします。

ブラックボックスになったコンピュータを、
ユーザーの手に取り返そう、という活動の一つが、
Arduino、MBED、Wiring
Intel galileo / edison
などのマイコン系のMaker'sの活動だったり、
Raspberry Pi、
だったりします。

投稿2015/04/03 08:43

daive

総合スコア2028

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

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

yu-ki000

2015/04/03 09:46

回答ありがとうございます。もやもやと少し見えてきました。 もやもやを明確化できるよう勉強してみます。 情報ありがとうございます!!
daive

2015/04/03 12:59

書き忘れ、 現行PCでの、 OSっぽいのを、書くのに最大の障害が、 EFIとも、UEFIとも呼ばれる奴です、 旧BIOSは、FDDセクタ0か、HDDセクタ0を 読み込んで、ブートシーケンスが始まりましたが、 UEFIは、思想からして、変わって、どうなったやら。 ドライバー署名必須になったり、GPT起動可能になったり。
guest

0

カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?

他の回答者の方も書かれていましたが、範囲がちょっと広すぎるのではないかと思います。

yu-ki000さんが差し当たりやりたいこと・目指したいことは何でしょうか?
Linuxでサーバを構築したいのか、だとしたら何のサーバなのか(ファイルサーバ?Webサーバ?...)、誰が何のために使いたいのか。
自分の中でゴールを決めて勉強をすれば、知識が身になりやすいと思います。

仕事で覚えなくてはいけないのでしたら別ですが、自分の勉強としてやるのであれば、それを通じて自分の実益(?)になるテーマを見つけてはどうでしょうか。
私自身も最初にUnixを勉強し始めた時は漠然とコマンドリファレンスを読んでいましたが、コマンドのオプションや機能をを覚えてもピンときませんでした。「それで?」って感じでした。
そのうち自分で(自分の自由になる)メールサーバが欲しくなってそれに向けて勉強を始めました。
Unixコマンド、tcp/ip、smtp・popプロトコル、プロダクトのコンパイルのやり方、エラー対処、目的が明確なので勉強の方向性にも迷いがありませんでした。

目的意識があれば勉強も捗ると思います。最初は「1つの分からないことを調べた結果、分からないことが3つになった」なんてこともあると思います。(実体験)
知識を得るのも最初はサイトやブログでいいと思います。
勉強が軌道に乗ってくると、まとまった知識を得るには書籍のほうがいいと思えてきます。
その時に初めて、どんな本を読めばいいのかを考えればいいのではないかと思うのです。

投稿2016/08/28 12:58

編集2016/08/29 00:33
ynakano

総合スコア1894

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

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

0

「コンピュータはなぜ動くのか」
知っておきたいハードウエア&ソフトウエアの基礎知識
http://ec.nikkeibp.co.jp/item/books/P81650.html
などを読まれてはいかがでしょうか?

これも勉強になると思います。

投稿2016/08/26 17:31

Yatsurugi

総合スコア1628

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

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

kei344

2016/08/26 19:38

回答欄は編集出来ますよ? また、URLはせっかくなのでリンクを貼ってはいかがでしょう。
guest

0

Linuxのカーネルソースを読むとか
システムコールの基本書を読んでは
いかがでしょうか?

投稿2016/08/25 09:44

Yatsurugi

総合スコア1628

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

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

0

いきなりカーネルソースを眺めるのもいいですが、カーネルの機能や構成を知ることが近道かも知れません。
基礎技術としてはプログラミング言語とアーキテクチャやネットワークの知識が必要かもしれません。
世の中にどんなツールが存在するのかといったノウハウも要るでしょう。

これら全て、Linuxをソースからビルドすることで色々学べます。
更に深く追求する足がかりにもなるでしょう。

ということでLFS(Linux From Scratch)をおすすめします。
http://www.linuxfromscratch.org/

投稿2015/04/07 06:32

編集2015/04/07 10:36
take88

総合スコア1351

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

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

yu-ki000

2015/04/10 10:04

情報ありがとうございます。 やっぱり英語の文献が多いですね。 Linuxを触る以上、英語のドキュメントが多いので、ある程度英語が読めるように頑張ってみます。
guest

0

こんにちは。

カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?

頑張ってますね。範囲むちゃくちゃ広いです。
全体を網羅すると言う意味では情報処理技術者試験は結構優れていると思います。
全体的に概観後、どこに注力するのか決めてから、そこを突破口にだんだん広げていくのがよいと思いますよ。

カーネルをいじれるためには、コンピュータの基本的な仕組みを把握する必要があります。どの当たりを触るかにもよりますが、回路とのI/F、割り込みベクタ、MMU、アセンブラ等をざっとでも理解しておかないと厳しいだろうと思います。
システムやツールのエラー・不具合を治すには、それらのツールで使われているプログラミング言語をそれなりにマスターする必要があるでしょう。C++だけでなく意外に多数ありそうです。
サーバ構築にはネットワーク機器やデータベースの仕組みや設定方法についての把握が必要と思います。

突破口を絞れたら、その情報を求めて再度質問されるのも良いように思います。

投稿2016/03/03 06:26

Chironian

総合スコア23272

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

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

0

まずは、カーネルのコンパイルを試してみて、カーネル入れ替えをやってみたらよいかもしれませんね。
LFS(Linux From Scratch) も良いですが、私は一時期 gentoo をよく使っていました。

サーバ構築であれば、まずなんでもよいから、web の資料を基にやってみたらよいと思います。
単純な html だけを表示するホームページ、php スクリプトの動作、WordPress の動作…慣れた人にとってはどうってことはないですが、初心者であれば、「文字の打ち間違い」ですら、自分が間違っているのか、サイトの説明が違っているのかわからないこともあります。Apache ができたら、nginx をやっておくと、これからはためになるでしょう。

次は、メールサーバ等は凝り始めると難しいですね。いくつかのサービスが協調動作しますから。
Postfix + dovecot で IMAP で接続できるシステムを設定するのも、良いと思います。

「不具合を治せる」ようになりたい場合、「不具合」が目の前にあれば、人に聞きながらでも対処していくと、スキルはものすごく付きます。「自分にはわからない」で止まったら終わりです。

投稿2015/05/20 13:49

takotakot

総合スコア1111

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

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

0

カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等とあるけど
まずLINUXでサーバー構築したいのなら月900円位も出せばレンタルサーバかりられるのだからそれで勉強するか、自宅のいらないパソコンでつくればいいとおもう。あと自信がつかない主な原因はせっかく作ったのが壊れるのがいやとかの理由でいじらなくなることだから、毎日いじるのがいい、いろいろAPTから入れるとかPPAから最新とってくるとか、ソースからビルドしてみるとか、年寄りが盆栽をいじるが如く。
/etc/のファイルを調べるだけで結構勉強になるよ
それでOSとかが再起不能になったときが本当に腕を見せるべきときだから逃げるべきでない。
やってたらカーネルごと飛んでしまうのもよくあるから、そのうち笑ってなおせるようになる。
そうなりそうだってのも事前に読めるようにもなる。
私の経験ではWEBで調べるとほぼどんな問題も解決すると思う。(ハードが死んだ時を除く)
そういうことに逃げたくなったり面倒だと思う人は進路ごと考えたほうがいいかも。
仕事だと退職しないと逃げられなくなるから。

投稿2015/05/20 13:26

kokawa2003

総合スコア217

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

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

0

基本情報技術者の参考書をおすすめします。その名の通り基本がつまっているので、他の技術書を読み解くための前提知識を知ることができると思います。

投稿2015/04/07 13:43

sutonea

総合スコア207

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

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

yu-ki000

2015/04/10 10:09

回答ありがとうございます。 近い目標として、資格取得の勉強から入ってみようかと思います。
guest

0

少し前の本になりますが、「Linuxエンジニア養成読本」がとても勉強になりました
http://www.amazon.co.jp/dp/4774163775

ディストリビューションの違い、起動までの動き、ファイルシステムの仕組みなどが初心者レベルでもわかりやすくまとまっています
まずはこのあたりから攻めてみてはいかがでしょうか(すでに知っている情報でしたら申し訳ありません)

投稿2015/04/07 13:14

shimizu

総合スコア28

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

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

yu-ki000

2015/04/10 10:05

情報ありがとうございます。 要請読本シリーズにLinuxがあるんですね。確認してみたいと思います。
guest

0

カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何>を勉強すべきでしょうか?
またシステムに詳しくなるためには何を勉強すべきでしょうか?

このキーワードを聞いて普通にLPICを連想しました。
まだこの資格を持っていないならいかがですか?

投稿2015/04/06 00:59

NukoSweet

総合スコア17

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

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

yu-ki000

2015/04/10 10:07

情報ありがとうございます。 LPICは知らなかったです。ぜひ資格取得の勉強も視野に入れて見たいと思います。
guest

0

どのような壁にぶち当たったか分かりませんが、技術的な壁ならば、一つずつ越えて行くしかないのではないかと思います。取り組み方などの壁なら、好きなこと、興味のあることを優先してやって、モチベーションを維持するのが大事ではないかと思います。
不要なOSの知識を持っていてもあまり意味も無いと思いますし、必要になった時必要な勉強をすれば良いと思います。
こいうことは、楽しんでこそです。

投稿2015/04/03 11:28

編集2015/04/03 11:31
tohshima

総合スコア374

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問