1read 100read
2012年5月Linux129: 【悪戦】初心者から中級者への道【苦闘】 (221)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
今夜も Wine で乾杯! - 17本目 (847)
こんなソフト無いですか? in Linux板 (12th) (149)
国勢調査 (344)
linuxを2文字で (548)
Linuxを徹底的に軽くするスレ 1グラム (231)
Fedora 総合スレッド Part 52 (145)
【悪戦】初心者から中級者への道【苦闘】
- 1 :02/09/19 〜 最終レス :12/05/03
- データ
dos暦 ほぼなし
windowz暦 3年
unix暦 5ヵ月
Linux暦 2週間(vine)
プログラム暦 5ヵ月
使用するプログラミング言語 C(ってゆうか他知らない)
使用するエディタ vim
インストールはできたので、初心者から中級者って感じでやります。
題名はばくりました。まだ、音楽はきけるようになったけど、mpegとかはみれないです。
しかし、そんなことは気にせずいきます。いっしょに勉強するひと募集。
- 2 :
- >>1
同じようなスレを建てるな。
どしろうとからのスレに同居して、それが 1000 行ったらここを使え。
- 3 :
- 今だ!2ゲットオオォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
- 4 :
-
∧_∧
/⌒ヽ ) トボトボ・・・・・オソカッタ
i三 ∪
|三 |
(/~∪
三三
三三
三三
- 5 :
- とりあえず、やるのはしょっぱなからデバイスドライバ。
教科書はオライリーのデバイスドライバを読む。
んで作るってことで、よろしく。
- 6 :
- だってやること全然ちがうんだもん。
スレ違いっていわれそうじゃん
- 7 :
- なんというか、恐いもの知らずというか、
ごく稀れにそれでモノになってしまう奴も居るが、
そういう奴はクソスレ建てたりするバカとは違う。
ま、迷惑にならんように sage 進行でやってみれ。
- 8 :
- どこから初級で、どこから中級なの?
ちなみに、俺はLinux歴4年目だけど
まだまだLinuxを使いこなせてない。けどサーバなどは立てられる。
xinetdの設定もiptablesのルールもある程度設定できる。
Cシェルも組める。。。。。。
やっぱ、今まで独学でLinuxを習ったから
同期の社員でLinuxを使える奴がいないし、比べられもしない。
- 9 :
- まあガンバレ
- 10 :
- 全然サーバーもたてられないし、Cシェルも組めません、xinetd,iptablesって言葉も知らないのですが、
なんとなく、linuxはソースコードがあるので、それよめるようになりたいなって思ってます.
だって、いつもつかってるものの仕組みぐらい知りたいじゃないですか?
俺てきにはある程度よんだら中級ってことにしたいんですが、よろしいでしょうか?
- 11 :
- やっぱ初心者にはむぼーなのかなと思いながら、
いきなりつまった、いちおうちょっと前からよんでるのだが、
これハードウエアの知識かなりないとよめなくねえか。
でも初志貫徹っていってた中学の教えなのでがんばる。
今までのまとめ、
initとcleanをおこなってモジュールを登録削除する。
moduleとして登録するためにはfile_operation構造体をつかう。
file構造体でアクセスしているdeviceを管理する。
- 12 :
- やっぱな
- 13 :
- 別にハードだったらWindowsでもいいんでない?
なんで、ぃぬxで勉強したがる?おまえの目的は何だ?
今時期、ぃぬxでハード詳しいだけじゃ飯は食っていけん。
新しいデストリビューションを作るんだったら話は別だが・・・・。
まぁ、おまえが辿り着く場所は、もう把握出来るけどね。
断念 諦め 絶望
そして、Windowsを使い続けるだろう
- 14 :
-
- 15 :
- CDからブートできないんでFDのブートディスクを作ろうと思っています。
KONDARA MNU/LINUX2.1のブートディスクの作り方をおしえてください
- 16 :
- >>13
ぃぬ楠でハードに詳しくて食っていってる人。
http://slashdot.jp/journal.pl?op=display&uid=1020
>>15
スッドレ違い
くだらない質問スレへカエレ!(・∀・)つーか、Kondaraあきらめろって
何回言われたらと小一時間...
- 17 :
- >13
いやだから、動いてるしくみわかるのはwindowsじゃだめでしょ。
なんとなく今日はメモリのところをよんだ。
ページング、ページングってやたら多いなあ、
まとめ、
kmallocは物理メモリに連続した領域を確保する。
vmallocは仮想メモリに連続した領域を確保する。
なのかなあ、ちょっと自信ない。
- 18 :
- >>1さん
そんな勉強方法だと疲れませんか?
本で勉強するのも大切だけど、OSが壊れるまで
触ったほうが良いかも。もっともっとlinuxの視野を広げて
私に教えてくださいね(w
- 19 :
- >>1
# rm -rf /
するとどうなるか試してみろ。
この結果がどうなるかまず3、4つ予測してからな。
- 20 :
- こいつも美味しい所だけつまみ食い野郎だったか。
- 21 :
- >20
なにおいしい所だけつまみぐいやろうって?
>19
/以下が再帰的に全部消えるんでしょ。
>18
それはあなたのいうとおりなんですが、
本を読む方が性分的似合っているのでって感じです。
現にデバイスドライバよんでて楽しいし。
今日はユーザー空間にからわたす引数をカーネル空間でどうやってつかおうかなって、ことします。
一応、mmapを使う方法ではなく、ioctlをつかう方針でいこっかな。
- 22 :
- >>21
> /以下が再帰的に全部消えるんでしょ。
で、その後どうなる?
- 23 :
- >22
わかんないっす、すみません。動かなくなってOS再インストールなのかな
ioctlわかんねえ、サンプルプログラムがよくわからんぞ。
ioctlのcmdをきめるのに、なぜこんなにごちゃごちゃしているのだ。
しっかし、さすが俺のたてたスレ異常にのびないな。まあ、俺の日記がわりってことでいいか
まとめ:cmdのきめかた
マジック番号をきめるにはDocumentation/ioctl-number.txtをみて使ってない番号をしらべるのだが、'a'とかあるのはそれを16進数に直したものがとってある。
include/asm/ioctl.hにある最初の8ビットがどうやらマジックナンバーに関与するよう。
cmdをきめるため、マジックナンバーを使用し、_IO,_IOR,IOW,IOWRなどを使用する。が、なぜ転送の0である_IOがあるかは不明。
- 24 :
- ioctlの使い方みたいなのはだいたいわかってきた模様。
しかし、__get_userの第一引数ってのがよくわからんぞ。
insmodしようとするとその第一引数が文句いわれる。
これなんにつかうものなのか。
- 25 :
- そろそろ君がまだ足を踏入れられない領域なのんだと自覚するべき
- 26 :
- >>25
胴衣
>>1
気持ち悪いからもう止めたら?
- 27 :
- >>24
えーと、カーネル側から攻めるんじゃなくって、
ふつーにユーザ側のプログラムからはじめた方が
早く幸せになれると思います。
- 28 :
- わるかったな気持ち悪くて、まあ、きみほどではない。
一応今日プログラム書いてみた。
けっこう時間かかったけど、デバイスに直接アクセスして音がなるようになった。今度はこの周波数をいじってメロデイにするか。
賛成の人が全くいないようですが、僕は偏屈なのでつづけます。
ちょっとぐらい応援してくれる人あらわれたっていいじゃんかよ。
なぜみんなユーザー側からのプログラムかけっていうのかわかんないんすが、
システムコールとかおぼえよってことなのかな
- 29 :
- >>28
> ちょっとぐらい応援してくれる人あらわれたっていいじゃんかよ。
なぜあらわれないのか考えてみよう。
- 30 :
- なんで?俺そんな態度わるいんかな?
- 31 :
- 応援している人がいても、わざわざ書き込んだりしない。
だって煽ってるほうが楽しいから。
だから煽りも応援とおもってこのまま続けれ。
- 32 :
- 君は凄いよ。凄く努力家で尊敬の価します。
今後ももっともっと勉強した方が良いよ。
本当に君は凄い、何もかも凄いよ。
応援してるから、がんばってね。ほらっ!もっとレス書いてみて。ほらっ!
そしたら、もっともっとスレッドは伸びるよ。相手のコメントを待ってちゃ駄目。
君からどんどん、レスを書いてみてください。
- 33 :
- >>30
日記スレなんてそんなもんだよ。
ここは板自体がさびれてるからagaってるけど、
普通はスレ一覧の真ん中よりちょい下くらいでひっそりと咲いているもの。
- 34 :
- >>1
まずは、自己紹介からどうぞ。
年齢、学校名、身長、体重、血液型、生年月日を記入の上
このスレッドを継続して下さい。
- 35 :
- >>1
こっちはCとかわかんないしー。
はっきりいって俺よりレベル高そうだから、ROMるしかないって感じー。
- 36 :
- やっぱ俺文章力ないからだめなのかなって思ってたから
なんかちょっとレスあってうれしいぞ。
俺のプロフィールはご勘弁をいろいろばれてしまうので、
大学は地方の国立です。ってゆうかよく学生ってわかりましたね。
俺も5ヶ月前までCとか全く知りませんでした。
というか、いまだに実はグラフィカルな表示方法もしりません。
つまり、windouz でウインドウをつくってなにかするってことはやったことなく
まあ、初心者ってことです。OSってwindoz以外知らなかったし、
UNIXはきいたことあったけど、昔のパソコンの種類みたいなもんだと思ってた。
もし、俺がこのあと成長していろいろ書けるようになったら、
このスレでこういう順序でやればこのぐらいの期間でこれだけ成長できるっていう
目安になるので、参考になったらいいなっておもってます。
で最近の様子。
一応目標としていたキャラクタ型のデバイスドライバをつくることができました。
といってもすごく簡単なものです。解説って感じでかきます。
- 37 :
- デバイスドライバはキャラクタ型と、ブロック型にわかれます。
キャラクタ型は一バイト単位でデバイスとデータのやりとりをし、
ブロック型はそれ以上でやりとりするってことです。(大きさがきまっているかはしりません)
目的:デバイスに対してあるひとつの数字を渡してやるだけのデバイスです。
ユーザー側からはその渡す数字と、渡した数字の効果の時間だけをわたします。
具体的に書きたいのですが、友達にばれるといやなので、明言はさけます。
僕がつくったものはIOポートにドライバが直接書き込んで、制御するものです。
ここでIOポートとはデバイスごとに番号がわりふられているもので、
そこに信号をだすことによって制御します。
僕の認識ではIOポートといのは実際のハードウェアのピンとかなんじゃないかなって思ってます。
ほかにIOメモリという方法がありますが、僕は実装してないのでふれません。
デバイスドライバで重要なこととしてカーネル空間とユーザー空間をきちんとわけて考えるってのがあります。
デバイスドライバはカーネル空間の一部なので、アプリケーションを作成するときに使っていた、
関数は一切つかえません、そのかわりカーネルが用意している関数をしようします。
linuxのデバイスドライバはモジュール化することができます。
モジュール化するとはカーネルのコンパイルを一部とりのぞいて、OSの起動中に必要なときにもってこれる状態にすることです。
このため、モジュール化するための様式がある程度きまっていて、その規則にのっとっておこなわなければなりません。
書くときの規則とは、基本としてinit,releaseという関数をつくって、登録と削除をおこなえるようにしなければなりません。
その他にもなんこか使える関数は決まっていて、 initのなかでoperation構造体というものでその一覧をカーネルに登録します。
それによってその登録した関数がユーザー側から使えるようになります。
- 38 :
-
僕は簡単なものしか作っていないのでint,release以外はioctlという関数しかつかっていません、
read,writeを使用して作成することも考えたし、一応実装もしたのですが、
read,writeはキャラクタ型のものしかユーザー側と入出力できないといった制限があるのにたいし、
ioctl関数とはユーザー側からの入出力等を自分の定義した形でおこなえるので、
これを使用しました。ただ、ioctlを使うということは他にioctlを使っているデバイスドライバと、
同じ識別番号を使用してはいけないといった規則があるため、それ以外のものを選ばなければなりません。
これに対し、mmapといったユーザー空間のデータをカーネル空間で使用できるようにする関数もありますが、
これはめんどくさいらしいのでやめました。
はじめにはなした時間のことですが、これにはいろいろめんどくさいことがあるので、
説明をやめます。僕の理解力では理解できなかった部分も多かったし、
結果的に実装ではあんまりよくない方法をとりました。
以上概要でした。違ってるところとかあったらご指摘していただけるとうれしいです。
今後ですが、デバイスドライバはちょっとお休みします。
別に難しくてあきらめたってわけじゃ全然ないです。
かわりに他にかんがえてることがあるので。次からはそっちの方を報告します。
あっ、基本的にシステムまわりのことですからね。
- 39 :
- 応援age
- 40 :
- がんばって書いたからコメントほすぃな。
- 41 :
- すげぇな、C暦5ヶ月でそこまで書けるのか!?
って、どのぐらいすごいことなのか分かんないけど。。。
俺、研究でプログラム書かないから、ここ2年間ぐらい使ってない。
書くのはしょぼ〜いシェルスクリプトぐらい、C言語忘れちまった。。。
- 42 :
- >>1
ユーザランドから、って言ったのは、煽りでもなんでもないだす。
例えば、自分でエンジン空けてガリガリ改造したり、エンジンヘッドを
自作(!)しちゃったりする人も、やっぱりいきなりエンジンを開けはじめ
ないで、、最初はガシガシ自動車の運転したり、ちょこっとした
改造やったりしてから、「次はエンジンだ!」ってやってく人の方が
多いと思うんですよ。
いきなりエンジン開けたところで、どうやったら欲しいエンジンに
なるのか、そもそも、どういうエンジンが必要なのか、わからないから
途方にくれちゃうんじゃないかな、と。
read/write/ioctl/mmapとで悩んだみたいだけど、他のディバイス
ドライバ叩くようなプログラムになれていれば、「どんなとき、
どれを使うのが楽か」ってのが*感覚的に*わかったんじゃ
ないかな、と。
でも、そうじゃなくて、オバケ屋敷の出口から探検したって、
それはそれで楽しいかもしれないし、ブレークスルーってのは、
そういうとこからおこるのかもね。
読んでて楽しいよ。デバドラじゃなくてもいいから、続けてね。
もし、「あー目的がねーからやめよかな」って思うなら、
http://pc.2ch.net/test/read.cgi/linux/1011982036/281-
こっち来て手伝ってよ。
- 43 :
- IOポートを叩くことだけが目的なら、
ioperm(又はiopl)システムコール使ったユーザ空間で動くプログラムを
書いて、sudoを通して使う、もしくは実行ファイルにsビットを
立てればふつーに実行できるよ。
多分、ゲームか友達にイタズラするためか、学祭用の出し物だと
思うけど、楽するとこは楽する、ってのも手。
- 44 :
- キタ━━━━━━(゚∀゚)━━━━━━ !!やた、反応あった。
>43
たぶん systemcallであるだろうなっとは思っていたのですが、
今回の目的はデバイスドライバの勉強だったので、
システムコールじゃちょっとって感じでした。
学園祭とか、いたずらとかでもなく、目的は勉強だけです。
これでなんかしようって気は全然ありません。
ってゆうかこんなんでなんか利用できる方法ってあるんですか?
>42
おっしゃることは本当にそうだと思います。たしかに今回writeに対して
ioctlがどんな利点をもっているかとはすぐにわかりませんでしたが、
システムコールで使っていたら、すぐにわかったことでしょう。
まったくもってそのとおりなのですが、なんていっても、
ユーザー側のプログラムにあまり興味がわかないのです。
本当にただそれだけなのですが、ひょっとしたらそのうち書きだすかもしれません。
ディストリビューションのことですが、僕としてはまだなにか新しいものを作れる段階では
ないと思っています。一応次にやりたいなっておもっているのはCPU等のアーキテクチャな方です。
今回メモリまわりのことの知識が足らなくて苦労する点がありました。
一回本を読んだことはあるのですが、やっぱり実際につくってみるかってのが性分にあってますので、
チャレンジしてみます。とりあえず、アセンブリ言語をあるていどやってからはじめよっかなって、
思ってデバイスドライバは中断しました。助言していただいてる方向の正反対をいって、申し訳ありません。
- 45 :
- -------一時終了------------
1のどこが初心者なのかと。
ここは、文系人間で、ウインドウズしか使ったことなくて、
最近リナックスを入れてみて、なんとかGNOME上でインターネット出来た初心者が
次のステップを目指すスレです。
では、次の方どうぞ。
今後>>1はなかったことにして進めてください。
---------再開---------------
- 46 :
- >>45
いや、あからさまに初心者だと思うよ。ただ、スタート地点から
よーいどんしたら、一見あさっての方向に走りだしただけだよ。
全速力で。
>次のステップを目指すスレです。
彼にとっては、デバドラをとりあえず動かすことが次のステップで、
その次はMM、その次はプロセス管理なんだよ。
「文系人間」なる人は、何が次のステップなのかな?
- 47 :
- Linuxの方が窓より融通利くのでこの世にLinuxしか無いと思えばいいさ。
漏れもMacの人だったがUNIX大学で使うぞってなってからそう思ってやってた。
取り合えず先ずは後先も考えずにいじくり倒してみろと言いたい。
(バックアップは別パーテーションのHDに取ってな)
んで、ある程度分かってきたら元に戻して解説書と一緒にじっくりと。
- 48 :
- >45
だから最初にいったじゃん、同じようなスレがあるんだけど、(てゆうか俺が題名ぱくった)
さすがにそこで話す話ではないなって思ったので、スレ立てたんだよ。
ちなみに【悪戦】素人から初心者への道【苦闘】ってやつ。 だから、スレの趣旨としては間違ってないと思うんだけど。
>46
かなり洞察鋭いですね。なんで、CPU設計終わったらプロセスやろっかなって思ってるのわかったんですか?
すごくびっくりした。カーネルの方向にいくってばればれでした?でもMMってなに?
全然アセンブラわかんねえ。とりあえず今Cで書いたものをアセンブラに書き直してます。
しかも、なんか全然おもしろくないんですよ。なれたら面白くなってくるのかな。
引き続きがんばろっと。
- 49 :
- 今プログラム板にはじめていって、アセンブラスレをみた、
全くわからん、これはデバイスドライバよりピンチだぞ。
設計のためにちょっとだけやってみるかってノリだったが、
まじで困ったぞ。
- 50 :
- >>1
君はすごいよ。
君の将来設計が聞きたいね。まず、どのような職について
どのようなことをしてお金を稼ぎたいのかを。
それとも、趣味でやってるのかな?趣味だったらかなりの悪趣味かも(w
まぁ、別に煽ってるわけではない。君には君の道がある。
なんにせよ、ひとつの事極める事は良いことだよ。
- 51 :
- >>1
こういう流れでMMって言や、Memory Management のこと。
CPUの話でMMUとかでてくるだろ。あのMM。UはUnitだ。
アセンブラは、必要なとこだけ使えばいいのでわ?
OS書くのに楽するためにCが出来たんだし。
- 52 :
- >>50
> それとも、趣味でやってるのかな?趣味だったらかなりの悪趣味かも(w
あんた、Linux板来る資格ないよ(w
- 53 :
- >>37
>具体的に書きたいのですが、友達にばれるといやなので、明言はさけます。
もうばれてるから気にすんな
- 54 :
- まじでばれてる?ほかの人にいわないでね。
メモリはまだあんま考えてないですね。たぶんまだ先にいろいろありそうだから。
MMUってのは聞いたことあるようなないような、ハードウェウについてはいまから勉強します。
将来設計ですか?あんま考えてないなあ、ずっとコンピュータ系でくっていくかも怪しい。
友達とかによくいわれるのですが、あんまり技術系の性格ではないらしいです。
まあ、1年ぐらいはそういうことして働こうかなとは思ってますが。
なんか勘違いされてるみたいですが、俺そんな難しいことやれませんから、
これで食っていくってのはつらいなって感じです。
本当にアセンブリ進まないですね。しばらく時間が拘束されているため、
あんまり時間が取れないのもありますけど。
どうでもいいですが、いきなりレベル低くなったらすみません。
どうやら俺はレベルの高低がよくわかってないので、
いきなりレベル低いことやりだすかもしれないですが、勘弁してください。
- 55 :
- リナクソ
- 56 :
- >>1
あんまり面白くない。
別の場所で勝手にやれば?
よって
======== 終了 ========
======== 終了 ========
======== 終了 ========
- 57 :
- もともとLinuxにまったく興味関心がない人が
宿題でやれと言われたから仕方なく調べ物をしてるって感じだな。
他になにか本気でのめりこむことができるものがあるんなら、
そっちをやったほうがいいと思う。
- 58 :
- 夏休みだからって宿題って、小学生じゃないんだから
でもやっぱあれですね。こういう風にいわれるとやる気なくなるなあ。
正直プログラムは好きですけど、linuxが好きかはわかんないです。
一応アセンブラだいたいこんな感じかなってわかってきました。
基本的にCで考えたのとあんまりかわらないなって感じで、
ちょっと複雑で具体的になったようです。
どうでもいいですけど、はじめてまともにスレたてたのですが、
批判的なこといわれてるの結構みてましたけど、
いざ自分がってなるとちょっとショックですよね。
ここは2chだぞっていわれるとそれまでですけど、
- 59 :
- やる気無くなるならヤメればいいじゃん。
何か勘違いしてるようだけど、
別に、俺らは無理してやってくれなんて言ってないし・・・
>夏休みだからって宿題って、小学生じゃないんだから
おまえ、誉められたら調子コイてるじゃん
小学生並だよ。(ぉ
- 60 :
- ,,ヘヘヘヘ,, / ̄ ̄ ̄ ̄ ̄
ミ,, ´Д`ミ < いろいろあるかも知れんけど、まぁちょっと辛抱しやぁ
.ミ,, ,,ミ \_____
| | |
(__)_)
- 61 :
- >>1
このテのスレのコツは、礼を言うべきときは言って、あとは
アオリ、ハゲマシ関係なく基本的には淡々と進めることだ。
良スレの例:
http://pc.2ch.net/test/read.cgi/linux/997328024/-100
- 62 :
- 57と59って一緒の人ですよね。それでいいますけど。
はじめむかついたんですが、冷静に考えてみると、そのとおりですね。
確かに調子こいてましたね。すみません。
それでこんなふうにいわれた理由をかんがえたんですが、
54のときに俺がこれでくってく気ないっていったじゃないですか、
あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
申し訳ないです。
>60,61
ありがとうございます。冷静に考えることができました。
- 63 :
- おれもデバイスドライバ書いてみたいなと思ってて、でも、
まだそれはちょっと無理だろ、とか思っていたけど、
順序なんて、気にしなくてもいいって気づかされた思いでした。
だって自分で使う範囲だもんね。
いちさんありがと
- 64 :
- >>63
そうです。
そういう謙虚さが大事です。
1 のようにそれを誇示しなければね...
1 のように上っ面だけで知ったかしなければね...
1 のように井の中の蛙にならないように...
- 65 :
- >>62
> あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
そうか?
- 66 :
- マターリいこうよ
- 67 :
- もう>>1は断念したってよ。
- 68 :
- 計画:
基本的なアセンブリがよくできてませんが、とりあえず、コンピュータの構成と設計っていう本を読んでから、設計に移ります。
設計にはいるのは一週間後にできたらいいなって思ってます。
とりあえず、もうちょっとアセンブリ読ませて下さい。
- 69 :
- 素人の書いたアセンブラよりCの吐き出すコードのほうが優秀
- 70 :
- >>69
最近の最適化コンパイラには恐ろしい物を感じます。
- 71 :
- アセンブリを翻訳するのがアセンブラですか?
- 72 :
- >>71
アセンブリ言語で書かれたソースをアセンブルするもの
- 73 :
- アセンブラに関する気づいたこと
アセンブラやってて思ったんですが、Cってあんまりマシン語に直結してないんですね。
まず、勉強になった点として、配列をメモリに確保するときに、実際にメモリでおこなわれているのはスタックポインタによる配列の確保と
その先頭番値をあらわすアドレスの値をメモリに格納するということ。
つまり次にメモリを参照するために必要とするデータは先頭をさすアドレス1つだということ。
当たり前って思うかも知れませんが、オフセットを示すデータというものは一切存在しないということです。
これは2次元配列とかも同様で、スタック上に使用するメモリの領域だけが確保され、先頭アドレスをさす領域だけメモリに格納されています。
どうやって、オフセットもわからずにアクセスするんだよって思ってたのですが、コンパイルがうまくやってたんですね。
さすがにコンパイラの動きまではよくわからなかったので、うまく言葉でかけないんですが、
実際にみてみるとうまくコンパイルしてるんだなって思いました。
ひょっとしたらリンカとかいうやつかも、そのへんはちょっとあいまいです。時間があったらコンパイラも勉強したいな。
- 74 :
- データ
DOS暦 なし
Windows暦 5ヶ月
UNIX暦 なし
Linux暦 一週間
プログラム暦 3日
使用したいプログラミング言語 C(というか何もできない)
使用したいエディタ Emacs
ここまで読んできて初心者1の事がかなり気に入ったので、書き込
んだ。上の通り、一緒に勉強はまだ無理だけど、何とかしてみたい。
とりあえず、二ヶ月ぶりにC言語の勉強を再開してみたいと思う。
- 75 :
- >>74
その前にWindowsを骨までしゃぶるのも悪くないと思われ。
- 76 :
- >>74
ようするに、パソコン暦が5ヶ月って事だね。
まずは、ネットサーフィンを楽しみましょう。
- 77 :
- >74
気に入ってもらえてうれしいです。一緒にがんばりましょう。
でもEmacs使うんですか?さびしいなあ。
アセンブリなんですが、だんだん読むのにもなれてきたのですが、
合成命令とかについてまで考えてやるべきなのか迷っているところです。
一個一個調べるのもめんどくさいなって感じで。
一応バイナリになおして考えてみないと、設計するのにはきついかなって思ってます。
- 78 :
- とりあえずvim少し勉強してみた。手が疲れないし、こっちの方がやりやすい。ありがとう。vimって見た感じではとっつきにくそうだけど、意外とできるね。
>>75,>>76
ネットサーフィンは夏休み中やりすぎで、飽きてしまったんで、なんかこう
ちょっとは賢そうな事がやりたかったんで。Linuxのカーネルとか解ったら、
おもしろそうじゃないですか。といってもWindowsのこともあんまり解かって
ないですけど。
- 79 :
- ttp://pc.2ch.net/test/read.cgi/linux/1014426934/l50
viのことだけど、ここのスレみるとしらない技が結構あったからいいと思う.
- 80 :
- おまいら俺も混ぜてください。
- 81 :
- >>62
> 54のときに俺がこれでくってく気ないっていったじゃないですか、
> あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
> 申し訳ないです。
そお? その程度の煽りでキレるようなアフォは、何やっても一緒だと思うけど。
自分の仕事に誇りを持ってる人なら、他人に文句言われたからって関係ないと思うよ。
- 82 :
- :続アセンブラ
最近javaとかparlとかいわゆる高級言語がたくさんありますよね。
そういうの聞いてて、ああCっていうのは低級なんだなとか思ってたんですよ。
でもアセンブラ始めてからCも高級言語なんだって気づきました。
最近気づいたこと
プロセスを立ち上げたときに、確保するメモリの領域にはいくつかの区分があります。
テキスト、データ、スタックの三つです。
テキスト領域にはプログラムコード全てがはいり、
プログラムカウンタはここにアクセスすることによってプロセスをどうさせます。
データ領域にはglobal,staticなデータがはいります。
データ領域のなかにはヒープ領域というものがあり、 mallocはここにとられます。
ここで注意するべきなのはlocalな変数などはここでは確保されません。
最後のスタック領域にはlocal変数がはいります。なんでスタックとかいうのかというと\
、
関数呼び出しがあるとこの領域に必要なレジスタを退避させて、
新しい関数は別な領域を使用するからです。
アセンブラ勉強するのはすごくCがわかりやすくなっていいなって思いました。
- 83 :
- >>82
アセンブラって何で勉強してる?本とかwebとか。
- 84 :
- はじめはスパークのマニュアルみてましたが、レジスタウィンドウ方式を使っているため、
勉強には不向きだと考え、
いまはミップスのマニュアルとパターソン&へネシーのコンピュータの構成と設計を使っています.
- 85 :
- 続続アセンブリ:
Cプログラ厶から実行ファイルまでのながれで、コンパイラ→アセンブラ→リンカ→ローダーってのがありますが、
ここのなかでなぜかいちばん理解しにくいのがリンカなんです。
他の人はよくしりませんが、リンカってのはよくわからない。
リンカってのはやってることは、
ライブラリ関数とかのやつのコードをひっぱってくる
2つ以上のファイルを結合させるときに、外部ラベルを考慮して参照先アドレスを配置する。
2つ以上のファイルを結合させるときの絶対アドレスの再配置。
なんてのがあるみたいなんですけど、なんかイメージわかないんですよね。
演習とか実験みたいなのができたらいいんですけど、こればっかは手間とか考えるとつらそうだな。
どうでもいいですけど、今日の朝asahi.comでセコムがロボットを開発みたいなのみて笑っちゃいました。
現金を輸送するロボットで時速4kmでうごくらしいんですが、強盗に襲われそうになると電撃をはっするらしいです。
- 86 :
- >>85
はいはい。
どうでもいいから sage でやってね。
分る?
メール欄に sage ってかくのよ、ぼっちゃん。
- 87 :
- さげ
- 88 :
- >>1
(´д`)がんばれよ。
- 89 :
- ほんとありがとうございます。
今はアセンブリからちょっとはなれて回路の方には入りました。
ALUがどうたらこうたらって話です。
なんだか電気っぽい話になってきていて、
本当にこれがCPUとかになるんだろうか不思議な感じです。
とりあえず、加算と減算の回路については理解しました。
ただ、ちょっと不安がのこるのはコンパイラのあたりですね。
この本では概念的にしかやってないので、一回ちゃんとした本読んだ方がいいかも。
- 90 :
- >>86
お馬鹿さんはお呼びでない。
わからないなら黙ってろよ。
- 91 :
- >>90
ん?
2ちゃんで何...(以下...
- 92 :
- 鯖を立てるのに一番簡単なディストリです
http://www.m7th.com/
- 93 :
- 糞じゃん
- 94 :
- >>93
誰が?
- 95 :
- おっ!!
>>91 のメール欄ちょとワタラ
- 96 :
- まぁ、良いんだけどさ。
デバドラやるんならそれなりのスレ名にして欲しいんだが。
てっきり質問箱と思って来てみりゃ…。
スレ違いの内容なら煽られても仕方無い訳で。
- 97 :
- 特にデバイスドライバやってるつもりもなく、色々理解しようって感じでやってます。
ちなみに僕のlinuxに関する知識はいまだ動画がみれないレベルです。
でも、まあそんなのはwindowzで見ればいいかと思ってるので、
かまわないです。やっぱりlinuxの魅力は中味が分かるところですから。
本当に設定とかに関しては全然しらなく、すべてdefaltです。
sbinのパスすら通してないです。そうそう、サウンドの設定だけやりましたね。
まあそんな感じだから、スレどおりでいいかなって。
続回路な話のはずですが、今日オライリーのlinuxカーネル買ってきました。
始めの一章よんでて思ったんですが、レベルめちゃくちゃ高いですね。
さっぱりわかりません。前にすこしだけタネンバウムのOSの本を読んだんですが、
全然あっちの方がわかりやすかった。まあ時間かけて読みます。
- 98 :
- って言うか、ボクって馬鹿です。
こんなつまらないスレッドを立てたのが間違いでした。
今後このようなスレッドは立てません。本当にごめんなさい。
こんなボクですが今後優しく見守って下さい。
- 99 :
- >>98
終了宣言かとおもったよ。
ま、立ててしまったからはマターリ続けてください。
あと、sage進行でお願いします
#>>1はLinux歴も浅そうだし、多分厨房の俺よりもわかってないと思うけど、
#なんでデバイスドライバとかCPUの話しとかに進めるのか不思議。
#「もしかしてすごいやつなのか?」と思って見てます(w
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
オススメLinuxディストリビューションは? Part41 (818)
■最強のエディター、その名もXZ EDITOR■ (460)
キツいスペックのPCで頑張ってる人の為のスレ 14 (511)
無償OSでのシステム開発、電子政府向けの対応急ぐ (266)
【悪戦】初心者から中級者への道【苦闘】 (221)
最新カーネルを表示するスレ その4 (382)
--log9.info------------------
次の人が語れ!@年代別版 (127)
O型ってどう? (779)
最近の中学生って、バイトもしてない癖にリッチだよなぁ (691)
みんなでしりとりしようよ (336)
がんばれ!1960年代(笑笑笑笑) (380)
おっさんおばさんがBUMPを語るスレ3 (289)
小学生が集まるスレ (770)
1960年代周辺生まれ休憩所 (474)
9月・10月生まれでA型の人集合! (217)
1954(昭和29).4.2〜1955(昭和30).4.1生まれ part3 (262)
(・∀・)1966ひのえうまPART11(゚∀゚)※日本人限定 (281)
8月生まれの人 (282)
昭和30-50年代を語る (288)
三畳紀生まれ集合 (172)
12月生まれ (439)
小学生限定コーナー 夏休みバージョン (301)
--log55.com------------------
初心者質問スレ その135
プリント基板業者発注質問スレ 11枚目
【な】秋月、千石、若松などを語るスレ89【ど】
3Dプリンター個人向け@電気・電子板 その56
eBay, AliExpress で電子工作関連のお買い物 8
☆ オペアンプ part12
電子工作入門者・初心者の集うスレ 88
【CTC】伊藤忠テクノソリューションってどうよ?11 【むっつりスケベ集団】