[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 11/26 08:25 / Filesize : 70 KB / Number-of Response : 218
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【悪戦】初心者から中級者への道【苦闘】



1 名前:初心者1 [02/09/19 03:31 ID:yCmeLcvk]
データ
dos暦 ほぼなし
windowz暦 3年
unix暦 5ヵ月
Linux暦 2週間(vine)
プログラム暦 5ヵ月
使用するプログラミング言語 C(ってゆうか他知らない)
使用するエディタ vim


インストールはできたので、初心者から中級者って感じでやります。
題名はばくりました。まだ、音楽はきけるようになったけど、mpegとかはみれないです。
しかし、そんなことは気にせずいきます。いっしょに勉強するひと募集。


29 名前:login:Penguin mailto:sage [02/09/23 00:10 ID:x8EH4P0Z]
>>28
> ちょっとぐらい応援してくれる人あらわれたっていいじゃんかよ。
なぜあらわれないのか考えてみよう。

30 名前:初心者1 mailto:sage [02/09/23 01:01 ID:ezKGDErL]
なんで?俺そんな態度わるいんかな?

31 名前:login:Penguin mailto:sage [02/09/23 10:48 ID:FSj9qb7j]
応援している人がいても、わざわざ書き込んだりしない。
だって煽ってるほうが楽しいから。

だから煽りも応援とおもってこのまま続けれ。

32 名前:login:Penguin [02/09/23 11:34 ID:aoMaCszh]
君は凄いよ。凄く努力家で尊敬の価します。
今後ももっともっと勉強した方が良いよ。
本当に君は凄い、何もかも凄いよ。
応援してるから、がんばってね。ほらっ!もっとレス書いてみて。ほらっ!
そしたら、もっともっとスレッドは伸びるよ。相手のコメントを待ってちゃ駄目。
君からどんどん、レスを書いてみてください。

33 名前:login:Penguin mailto:sage [02/09/23 14:36 ID:OpsufMrn]
>>30
日記スレなんてそんなもんだよ。
ここは板自体がさびれてるからagaってるけど、
普通はスレ一覧の真ん中よりちょい下くらいでひっそりと咲いているもの。

34 名前:login:Penguin [02/09/23 19:13 ID:/mDkTu3d]
>>1
まずは、自己紹介からどうぞ。
年齢、学校名、身長、体重、血液型、生年月日を記入の上
このスレッドを継続して下さい。

35 名前:login:Penguin mailto:sage [02/09/23 23:59 ID:HOfL/LT0]
>>1
こっちはCとかわかんないしー。
はっきりいって俺よりレベル高そうだから、ROMるしかないって感じー。



36 名前:初心者1 mailto:sage [02/09/24 07:32 ID:mdWxu4f9]
やっぱ俺文章力ないからだめなのかなって思ってたから
なんかちょっとレスあってうれしいぞ。

俺のプロフィールはご勘弁をいろいろばれてしまうので、
大学は地方の国立です。ってゆうかよく学生ってわかりましたね。

俺も5ヶ月前までCとか全く知りませんでした。
というか、いまだに実はグラフィカルな表示方法もしりません。
つまり、windouz でウインドウをつくってなにかするってことはやったことなく
まあ、初心者ってことです。OSってwindoz以外知らなかったし、
UNIXはきいたことあったけど、昔のパソコンの種類みたいなもんだと思ってた。

もし、俺がこのあと成長していろいろ書けるようになったら、
このスレでこういう順序でやればこのぐらいの期間でこれだけ成長できるっていう
目安になるので、参考になったらいいなっておもってます。

で最近の様子。

一応目標としていたキャラクタ型のデバイスドライバをつくることができました。
といってもすごく簡単なものです。解説って感じでかきます。

37 名前:初心者1 mailto:sage [02/09/24 08:15 ID:mdWxu4f9]
デバイスドライバはキャラクタ型と、ブロック型にわかれます。
キャラクタ型は一バイト単位でデバイスとデータのやりとりをし、
ブロック型はそれ以上でやりとりするってことです。(大きさがきまっているかはしりません)

目的:デバイスに対してあるひとつの数字を渡してやるだけのデバイスです。
   ユーザー側からはその渡す数字と、渡した数字の効果の時間だけをわたします。
   具体的に書きたいのですが、友達にばれるといやなので、明言はさけます。

僕がつくったものはIOポートにドライバが直接書き込んで、制御するものです。
ここでIOポートとはデバイスごとに番号がわりふられているもので、
そこに信号をだすことによって制御します。
僕の認識ではIOポートといのは実際のハードウェアのピンとかなんじゃないかなって思ってます。
ほかにIOメモリという方法がありますが、僕は実装してないのでふれません。

デバイスドライバで重要なこととしてカーネル空間とユーザー空間をきちんとわけて考えるってのがあります。
デバイスドライバはカーネル空間の一部なので、アプリケーションを作成するときに使っていた、
関数は一切つかえません、そのかわりカーネルが用意している関数をしようします。

linuxのデバイスドライバはモジュール化することができます。
モジュール化するとはカーネルのコンパイルを一部とりのぞいて、OSの起動中に必要なときにもってこれる状態にすることです。
このため、モジュール化するための様式がある程度きまっていて、その規則にのっとっておこなわなければなりません。

書くときの規則とは、基本としてinit,releaseという関数をつくって、登録と削除をおこなえるようにしなければなりません。
その他にもなんこか使える関数は決まっていて、 initのなかでoperation構造体というものでその一覧をカーネルに登録します。
それによってその登録した関数がユーザー側から使えるようになります。



38 名前:初心者1 mailto:sage [02/09/24 08:15 ID:mdWxu4f9]

僕は簡単なものしか作っていないのでint,release以外はioctlという関数しかつかっていません、
read,writeを使用して作成することも考えたし、一応実装もしたのですが、
read,writeはキャラクタ型のものしかユーザー側と入出力できないといった制限があるのにたいし、
ioctl関数とはユーザー側からの入出力等を自分の定義した形でおこなえるので、
これを使用しました。ただ、ioctlを使うということは他にioctlを使っているデバイスドライバと、
同じ識別番号を使用してはいけないといった規則があるため、それ以外のものを選ばなければなりません。
これに対し、mmapといったユーザー空間のデータをカーネル空間で使用できるようにする関数もありますが、
これはめんどくさいらしいのでやめました。
はじめにはなした時間のことですが、これにはいろいろめんどくさいことがあるので、
説明をやめます。僕の理解力では理解できなかった部分も多かったし、
結果的に実装ではあんまりよくない方法をとりました。

以上概要でした。違ってるところとかあったらご指摘していただけるとうれしいです。
今後ですが、デバイスドライバはちょっとお休みします。
別に難しくてあきらめたってわけじゃ全然ないです。
かわりに他にかんがえてることがあるので。次からはそっちの方を報告します。
あっ、基本的にシステムまわりのことですからね。

39 名前:初心者1 mailto:sage [02/09/24 18:30 ID:LuYdOxNv]
応援age

40 名前:初心者1 [02/09/25 01:04 ID:fAZM49Ng]
がんばって書いたからコメントほすぃな。

41 名前:login:Penguin mailto:sage [02/09/25 01:16 ID:V0w9hsH3]
すげぇな、C暦5ヶ月でそこまで書けるのか!?
って、どのぐらいすごいことなのか分かんないけど。。。

俺、研究でプログラム書かないから、ここ2年間ぐらい使ってない。
書くのはしょぼ〜いシェルスクリプトぐらい、C言語忘れちまった。。。

42 名前:27 mailto:sage [02/09/25 01:43 ID:kYaZ10pV]
>>1
ユーザランドから、って言ったのは、煽りでもなんでもないだす。
例えば、自分でエンジン空けてガリガリ改造したり、エンジンヘッドを
自作(!)しちゃったりする人も、やっぱりいきなりエンジンを開けはじめ
ないで、、最初はガシガシ自動車の運転したり、ちょこっとした
改造やったりしてから、「次はエンジンだ!」ってやってく人の方が
多いと思うんですよ。
いきなりエンジン開けたところで、どうやったら欲しいエンジンに
なるのか、そもそも、どういうエンジンが必要なのか、わからないから
途方にくれちゃうんじゃないかな、と。

read/write/ioctl/mmapとで悩んだみたいだけど、他のディバイス
ドライバ叩くようなプログラムになれていれば、「どんなとき、
どれを使うのが楽か」ってのが*感覚的に*わかったんじゃ
ないかな、と。
でも、そうじゃなくて、オバケ屋敷の出口から探検したって、
それはそれで楽しいかもしれないし、ブレークスルーってのは、
そういうとこからおこるのかもね。

読んでて楽しいよ。デバドラじゃなくてもいいから、続けてね。
もし、「あー目的がねーからやめよかな」って思うなら、
pc.2ch.net/test/read.cgi/linux/1011982036/281-
こっち来て手伝ってよ。

43 名前:login:Penguin mailto:sage [02/09/25 01:56 ID:22rGSS6z]
IOポートを叩くことだけが目的なら、
ioperm(又はiopl)システムコール使ったユーザ空間で動くプログラムを
書いて、sudoを通して使う、もしくは実行ファイルにsビットを
立てればふつーに実行できるよ。

多分、ゲームか友達にイタズラするためか、学祭用の出し物だと
思うけど、楽するとこは楽する、ってのも手。

44 名前:初心者1 mailto:sage [02/09/25 03:56 ID:93bZEqCQ]
キタ━━━━━━(゚∀゚)━━━━━━ !!やた、反応あった。

>43
たぶん systemcallであるだろうなっとは思っていたのですが、
今回の目的はデバイスドライバの勉強だったので、
システムコールじゃちょっとって感じでした。
学園祭とか、いたずらとかでもなく、目的は勉強だけです。
これでなんかしようって気は全然ありません。
ってゆうかこんなんでなんか利用できる方法ってあるんですか?

>42
おっしゃることは本当にそうだと思います。たしかに今回writeに対して
ioctlがどんな利点をもっているかとはすぐにわかりませんでしたが、
システムコールで使っていたら、すぐにわかったことでしょう。
まったくもってそのとおりなのですが、なんていっても、
ユーザー側のプログラムにあまり興味がわかないのです。
本当にただそれだけなのですが、ひょっとしたらそのうち書きだすかもしれません。
ディストリビューションのことですが、僕としてはまだなにか新しいものを作れる段階では
ないと思っています。一応次にやりたいなっておもっているのはCPU等のアーキテクチャな方です。
今回メモリまわりのことの知識が足らなくて苦労する点がありました。
一回本を読んだことはあるのですが、やっぱり実際につくってみるかってのが性分にあってますので、
チャレンジしてみます。とりあえず、アセンブリ言語をあるていどやってからはじめよっかなって、
思ってデバイスドライバは中断しました。助言していただいてる方向の正反対をいって、申し訳ありません。




45 名前:login:Penguin [02/09/25 10:11 ID:RSI5JpUm]
-------一時終了------------

1のどこが初心者なのかと。

ここは、文系人間で、ウインドウズしか使ったことなくて、
最近リナックスを入れてみて、なんとかGNOME上でインターネット出来た初心者が
次のステップを目指すスレです。

では、次の方どうぞ。
今後>>1はなかったことにして進めてください。

---------再開---------------

46 名前:login:Penguin mailto:sage [02/09/25 10:34 ID:kyoT8myB]
>>45
いや、あからさまに初心者だと思うよ。ただ、スタート地点から
よーいどんしたら、一見あさっての方向に走りだしただけだよ。
全速力で。

>次のステップを目指すスレです。
彼にとっては、デバドラをとりあえず動かすことが次のステップで、
その次はMM、その次はプロセス管理なんだよ。

「文系人間」なる人は、何が次のステップなのかな?

47 名前:login:Penguin mailto:sage [02/09/25 13:57 ID:QVU4TFiQ]
Linuxの方が窓より融通利くのでこの世にLinuxしか無いと思えばいいさ。
漏れもMacの人だったがUNIX大学で使うぞってなってからそう思ってやってた。
取り合えず先ずは後先も考えずにいじくり倒してみろと言いたい。
(バックアップは別パーテーションのHDに取ってな)
んで、ある程度分かってきたら元に戻して解説書と一緒にじっくりと。



48 名前:初心者1 mailto:sage [02/09/25 14:20 ID:93bZEqCQ]
>45
だから最初にいったじゃん、同じようなスレがあるんだけど、(てゆうか俺が題名ぱくった)
さすがにそこで話す話ではないなって思ったので、スレ立てたんだよ。
ちなみに【悪戦】素人から初心者への道【苦闘】ってやつ。 だから、スレの趣旨としては間違ってないと思うんだけど。

>46
かなり洞察鋭いですね。なんで、CPU設計終わったらプロセスやろっかなって思ってるのわかったんですか?
すごくびっくりした。カーネルの方向にいくってばればれでした?でもMMってなに?


全然アセンブラわかんねえ。とりあえず今Cで書いたものをアセンブラに書き直してます。
しかも、なんか全然おもしろくないんですよ。なれたら面白くなってくるのかな。
引き続きがんばろっと。

49 名前:初心者1 mailto:sage [02/09/25 14:47 ID:93bZEqCQ]
今プログラム板にはじめていって、アセンブラスレをみた、
全くわからん、これはデバイスドライバよりピンチだぞ。
設計のためにちょっとだけやってみるかってノリだったが、
まじで困ったぞ。

50 名前:login:Penguin [02/09/26 00:56 ID:ElgTUi62]
>>1
君はすごいよ。
君の将来設計が聞きたいね。まず、どのような職について
どのようなことをしてお金を稼ぎたいのかを。
それとも、趣味でやってるのかな?趣味だったらかなりの悪趣味かも(w
まぁ、別に煽ってるわけではない。君には君の道がある。
なんにせよ、ひとつの事極める事は良いことだよ。

51 名前:login:Penguin mailto:sage [02/09/26 01:13 ID:0Me4K4dS]
>>1
こういう流れでMMって言や、Memory Management のこと。
CPUの話でMMUとかでてくるだろ。あのMM。UはUnitだ。

アセンブラは、必要なとこだけ使えばいいのでわ?
OS書くのに楽するためにCが出来たんだし。

52 名前:login:Penguin mailto:sage [02/09/26 01:26 ID:0Me4K4dS]
>>50
> それとも、趣味でやってるのかな?趣味だったらかなりの悪趣味かも(w

あんた、Linux板来る資格ないよ(w

53 名前:login:Penguin mailto:sage [02/09/26 02:58 ID:eKF8zrHZ]
>>37
>具体的に書きたいのですが、友達にばれるといやなので、明言はさけます。

もうばれてるから気にすんな

54 名前:初心者1 mailto:sage [02/09/26 07:29 ID:gxcE2bEv]
まじでばれてる?ほかの人にいわないでね。

メモリはまだあんま考えてないですね。たぶんまだ先にいろいろありそうだから。
MMUってのは聞いたことあるようなないような、ハードウェウについてはいまから勉強します。

将来設計ですか?あんま考えてないなあ、ずっとコンピュータ系でくっていくかも怪しい。
友達とかによくいわれるのですが、あんまり技術系の性格ではないらしいです。
まあ、1年ぐらいはそういうことして働こうかなとは思ってますが。
なんか勘違いされてるみたいですが、俺そんな難しいことやれませんから、
これで食っていくってのはつらいなって感じです。

本当にアセンブリ進まないですね。しばらく時間が拘束されているため、
あんまり時間が取れないのもありますけど。

どうでもいいですが、いきなりレベル低くなったらすみません。
どうやら俺はレベルの高低がよくわかってないので、
いきなりレベル低いことやりだすかもしれないですが、勘弁してください。

55 名前:login:Penguin [02/09/26 12:06 ID:G+lOzbd9]
リナクソ

56 名前:login:Penguin mailto:sage [02/09/26 12:45 ID:l3dRzYLM]
>>1
あんまり面白くない。
別の場所で勝手にやれば?


よって
    ======== 終了 ========
    ======== 終了 ========
    ======== 終了 ========


57 名前:login:Penguin [02/09/26 13:06 ID:59ZWdb/6]
もともとLinuxにまったく興味関心がない人が
宿題でやれと言われたから仕方なく調べ物をしてるって感じだな。

他になにか本気でのめりこむことができるものがあるんなら、
そっちをやったほうがいいと思う。




58 名前:初心者1 mailto:sage [02/09/26 19:47 ID:gxcE2bEv]
夏休みだからって宿題って、小学生じゃないんだから
でもやっぱあれですね。こういう風にいわれるとやる気なくなるなあ。
正直プログラムは好きですけど、linuxが好きかはわかんないです。

一応アセンブラだいたいこんな感じかなってわかってきました。
基本的にCで考えたのとあんまりかわらないなって感じで、
ちょっと複雑で具体的になったようです。

どうでもいいですけど、はじめてまともにスレたてたのですが、
批判的なこといわれてるの結構みてましたけど、
いざ自分がってなるとちょっとショックですよね。
ここは2chだぞっていわれるとそれまでですけど、

59 名前:login:Penguin mailto:sage [02/09/26 21:53 ID:VtSPaEEG]
やる気無くなるならヤメればいいじゃん。
何か勘違いしてるようだけど、
別に、俺らは無理してやってくれなんて言ってないし・・・

>夏休みだからって宿題って、小学生じゃないんだから
おまえ、誉められたら調子コイてるじゃん
小学生並だよ。(ぉ


60 名前:login:Penguin mailto:sage [02/09/26 22:34 ID:a8IF1cbv]
   ,,ヘヘヘヘ,,   / ̄ ̄ ̄ ̄ ̄
  ミ,, ´Д`ミ < いろいろあるかも知れんけど、まぁちょっと辛抱しやぁ
  .ミ,,    ,,ミ  \_____
  | | |
  (__)_)

61 名前:login:Penguin mailto:sage [02/09/26 23:29 ID:lt1pzqZK]
>>1
このテのスレのコツは、礼を言うべきときは言って、あとは
アオリ、ハゲマシ関係なく基本的には淡々と進めることだ。

良スレの例:
pc.2ch.net/test/read.cgi/linux/997328024/-100



62 名前:初心者1 [02/09/27 02:59 ID:9MajON2l]
57と59って一緒の人ですよね。それでいいますけど。
はじめむかついたんですが、冷静に考えてみると、そのとおりですね。
確かに調子こいてましたね。すみません。

それでこんなふうにいわれた理由をかんがえたんですが、
54のときに俺がこれでくってく気ないっていったじゃないですか、
あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
申し訳ないです。

>60,61
ありがとうございます。冷静に考えることができました。

63 名前:login:Penguin mailto:sage [02/09/27 09:47 ID:UBXLbX2m]
おれもデバイスドライバ書いてみたいなと思ってて、でも、
まだそれはちょっと無理だろ、とか思っていたけど、

順序なんて、気にしなくてもいいって気づかされた思いでした。
だって自分で使う範囲だもんね。
いちさんありがと

64 名前:login:Penguin mailto:sage [02/09/27 11:26 ID:Bk3J3OAM]
>>63
そうです。
そういう謙虚さが大事です。

1 のようにそれを誇示しなければね...
1 のように上っ面だけで知ったかしなければね...
1 のように井の中の蛙にならないように...


65 名前:login:Penguin mailto:sage [02/09/27 11:53 ID:xWQNNWMT]
>>62
> あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
そうか?

66 名前:login:Penguin mailto:sage [02/09/27 13:30 ID:8a8CuTaT]
マターリいこうよ

67 名前:login:Penguin mailto:sage [02/09/28 04:13 ID:T7306Jam]
もう>>1は断念したってよ。



68 名前:初心者1 [02/09/28 05:25 ID:Uo++okTX]
計画:
基本的なアセンブリがよくできてませんが、とりあえず、コンピュータの構成と設計っていう本を読んでから、設計に移ります。

設計にはいるのは一週間後にできたらいいなって思ってます。
とりあえず、もうちょっとアセンブリ読ませて下さい。

69 名前:login:Penguin [02/09/28 10:26 ID:jsIlIQWG]
素人の書いたアセンブラよりCの吐き出すコードのほうが優秀

70 名前:(´・ε。・`) mailto:sage [02/09/28 11:34 ID:bWsHazmv]
>>69
最近の最適化コンパイラには恐ろしい物を感じます。

71 名前:login:Penguin [02/09/28 22:04 ID:WdiW7Vuo]
アセンブリを翻訳するのがアセンブラですか?

72 名前:login:Penguin mailto:sage [02/09/28 22:35 ID:bWsHazmv]
>>71
アセンブリ言語で書かれたソースをアセンブルするもの


73 名前:初心者1 [02/09/29 08:35 ID:Zr8OXTox]
アセンブラに関する気づいたこと

アセンブラやってて思ったんですが、Cってあんまりマシン語に直結してないんですね。
まず、勉強になった点として、配列をメモリに確保するときに、実際にメモリでおこなわれているのはスタックポインタによる配列の確保と
その先頭番値をあらわすアドレスの値をメモリに格納するということ。
つまり次にメモリを参照するために必要とするデータは先頭をさすアドレス1つだということ。
当たり前って思うかも知れませんが、オフセットを示すデータというものは一切存在しないということです。
これは2次元配列とかも同様で、スタック上に使用するメモリの領域だけが確保され、先頭アドレスをさす領域だけメモリに格納されています。


どうやって、オフセットもわからずにアクセスするんだよって思ってたのですが、コンパイルがうまくやってたんですね。
さすがにコンパイラの動きまではよくわからなかったので、うまく言葉でかけないんですが、
実際にみてみるとうまくコンパイルしてるんだなって思いました。
ひょっとしたらリンカとかいうやつかも、そのへんはちょっとあいまいです。時間があったらコンパイラも勉強したいな。

74 名前:初心者O mailto:sage [02/09/29 10:26 ID:R9ALiYg7]
データ
DOS暦 なし
Windows暦 5ヶ月
UNIX暦 なし
Linux暦 一週間
プログラム暦 3日
使用したいプログラミング言語 C(というか何もできない)
使用したいエディタ Emacs

ここまで読んできて初心者1の事がかなり気に入ったので、書き込
んだ。上の通り、一緒に勉強はまだ無理だけど、何とかしてみたい。
とりあえず、二ヶ月ぶりにC言語の勉強を再開してみたいと思う。

75 名前:(´・ε。・`) mailto:sage [02/09/29 10:37 ID:E36f/MyU]
>>74
その前にWindowsを骨までしゃぶるのも悪くないと思われ。

76 名前:login:Penguin mailto:sage [02/09/29 13:26 ID:cgAyopzQ]
>>74
ようするに、パソコン暦が5ヶ月って事だね。
まずは、ネットサーフィンを楽しみましょう。

77 名前:初心者1 mailto:sage [02/09/29 19:52 ID:Zr8OXTox]
>74
気に入ってもらえてうれしいです。一緒にがんばりましょう。
でもEmacs使うんですか?さびしいなあ。

アセンブリなんですが、だんだん読むのにもなれてきたのですが、
合成命令とかについてまで考えてやるべきなのか迷っているところです。
一個一個調べるのもめんどくさいなって感じで。
一応バイナリになおして考えてみないと、設計するのにはきついかなって思ってます。




78 名前:初心者O mailto:sage [02/09/30 00:35 ID:PZ+XrXtN]
とりあえずvim少し勉強してみた。手が疲れないし、こっちの方がやりやすい。ありがとう。vimって見た感じではとっつきにくそうだけど、意外とできるね。

>>75,>>76
ネットサーフィンは夏休み中やりすぎで、飽きてしまったんで、なんかこう
ちょっとは賢そうな事がやりたかったんで。Linuxのカーネルとか解ったら、
おもしろそうじゃないですか。といってもWindowsのこともあんまり解かって
ないですけど。


79 名前:初心者1 [02/09/30 04:08 ID:XvUv5uln]
ttp://pc.2ch.net/test/read.cgi/linux/1014426934/l50

viのことだけど、ここのスレみるとしらない技が結構あったからいいと思う.

80 名前:login:Penguin [02/10/01 00:16 ID:9Zu+PtrS]
おまいら俺も混ぜてください。

81 名前:login:Penguin mailto:sage [02/10/01 00:21 ID:IiVW1Qnd]
>>62
> 54のときに俺がこれでくってく気ないっていったじゃないですか、
> あれってこの業界で飯くっている人に対して、すごく失礼ですよね。
> 申し訳ないです。

そお? その程度の煽りでキレるようなアフォは、何やっても一緒だと思うけど。
自分の仕事に誇りを持ってる人なら、他人に文句言われたからって関係ないと思うよ。

82 名前:初心者1 [02/10/02 00:27 ID:a6w5p+Z5]
:続アセンブラ

最近javaとかparlとかいわゆる高級言語がたくさんありますよね。
そういうの聞いてて、ああCっていうのは低級なんだなとか思ってたんですよ。
でもアセンブラ始めてからCも高級言語なんだって気づきました。

最近気づいたこと

プロセスを立ち上げたときに、確保するメモリの領域にはいくつかの区分があります。
テキスト、データ、スタックの三つです。
テキスト領域にはプログラムコード全てがはいり、
プログラムカウンタはここにアクセスすることによってプロセスをどうさせます。
データ領域にはglobal,staticなデータがはいります。
データ領域のなかにはヒープ領域というものがあり、 mallocはここにとられます。
ここで注意するべきなのはlocalな変数などはここでは確保されません。
最後のスタック領域にはlocal変数がはいります。なんでスタックとかいうのかというと\

関数呼び出しがあるとこの領域に必要なレジスタを退避させて、
新しい関数は別な領域を使用するからです。

アセンブラ勉強するのはすごくCがわかりやすくなっていいなって思いました。


83 名前:login:Penguin mailto:sage [02/10/02 02:26 ID:+pWWMmrM]
>>82
アセンブラって何で勉強してる?本とかwebとか。

84 名前:初心者1 [02/10/02 09:16 ID:nYUcznpH]
はじめはスパークのマニュアルみてましたが、レジスタウィンドウ方式を使っているため、
勉強には不向きだと考え、
いまはミップスのマニュアルとパターソン&へネシーのコンピュータの構成と設計を使っています.


85 名前:初心者1 [02/10/02 23:44 ID:a6w5p+Z5]
続続アセンブリ:

Cプログラ厶から実行ファイルまでのながれで、コンパイラ→アセンブラ→リンカ→ローダーってのがありますが、
ここのなかでなぜかいちばん理解しにくいのがリンカなんです。
他の人はよくしりませんが、リンカってのはよくわからない。
リンカってのはやってることは、
ライブラリ関数とかのやつのコードをひっぱってくる
2つ以上のファイルを結合させるときに、外部ラベルを考慮して参照先アドレスを配置する。
2つ以上のファイルを結合させるときの絶対アドレスの再配置。

なんてのがあるみたいなんですけど、なんかイメージわかないんですよね。
演習とか実験みたいなのができたらいいんですけど、こればっかは手間とか考えるとつらそうだな。

どうでもいいですけど、今日の朝asahi.comでセコムがロボットを開発みたいなのみて笑っちゃいました。
現金を輸送するロボットで時速4kmでうごくらしいんですが、強盗に襲われそうになると電撃をはっするらしいです。

86 名前:login:Penguin mailto:sage [02/10/03 10:31 ID:iwLT9qR6]
>>85
はいはい。
どうでもいいから sage でやってね。
分る?
メール欄に sage ってかくのよ、ぼっちゃん。


87 名前:login:Penguin mailto:sage [02/10/03 21:14 ID:mVpVgt40]
さげ



88 名前:login:Penguin mailto:sage [02/10/03 23:13 ID:tyVDr8Wf]
>>1
(´д`)がんばれよ。

89 名前:初心者1 mailto:sage [02/10/04 01:00 ID:l4q6vFCM]
ほんとありがとうございます。

今はアセンブリからちょっとはなれて回路の方には入りました。
ALUがどうたらこうたらって話です。
なんだか電気っぽい話になってきていて、
本当にこれがCPUとかになるんだろうか不思議な感じです。
とりあえず、加算と減算の回路については理解しました。
ただ、ちょっと不安がのこるのはコンパイラのあたりですね。
この本では概念的にしかやってないので、一回ちゃんとした本読んだ方がいいかも。

90 名前:login:Penguin mailto:sage [02/10/04 01:00 ID:QtqYPAQ5]
>>86
お馬鹿さんはお呼びでない。
わからないなら黙ってろよ。

91 名前:login:Penguin mailto:sage 釣られたね! [02/10/04 09:37 ID:8gQLcDOc]
>>90
ん?
2ちゃんで何...(以下...


92 名前:miyazaki mailto:   [02/10/04 17:31 ID:r+fd1eWx]
鯖を立てるのに一番簡単なディストリです
www.m7th.com/

93 名前:login:Penguin mailto:sage [02/10/04 17:50 ID:8EgqCJoC]
糞じゃん


94 名前:login:Penguin mailto:sage [02/10/04 18:04 ID:rCNqmcrU]
>>93
誰が?


95 名前:login:Penguin mailto:sage [02/10/04 18:06 ID:rCNqmcrU]
おっ!!
>>91 のメール欄ちょとワタラ


96 名前:login:Penguin mailto:sage [02/10/04 18:54 ID:4H9Ua+dE]
まぁ、良いんだけどさ。
デバドラやるんならそれなりのスレ名にして欲しいんだが。
てっきり質問箱と思って来てみりゃ…。
スレ違いの内容なら煽られても仕方無い訳で。


97 名前:初心者1 mailto:sage [02/10/04 20:23 ID:l4q6vFCM]
特にデバイスドライバやってるつもりもなく、色々理解しようって感じでやってます。

ちなみに僕のlinuxに関する知識はいまだ動画がみれないレベルです。
でも、まあそんなのはwindowzで見ればいいかと思ってるので、
かまわないです。やっぱりlinuxの魅力は中味が分かるところですから。
本当に設定とかに関しては全然しらなく、すべてdefaltです。
sbinのパスすら通してないです。そうそう、サウンドの設定だけやりましたね。
まあそんな感じだから、スレどおりでいいかなって。

続回路な話のはずですが、今日オライリーのlinuxカーネル買ってきました。
始めの一章よんでて思ったんですが、レベルめちゃくちゃ高いですね。
さっぱりわかりません。前にすこしだけタネンバウムのOSの本を読んだんですが、
全然あっちの方がわかりやすかった。まあ時間かけて読みます。






98 名前:初心者1 [02/10/06 01:16 ID:VkGuXPbc]
って言うか、ボクって馬鹿です。
こんなつまらないスレッドを立てたのが間違いでした。
今後このようなスレッドは立てません。本当にごめんなさい。
こんなボクですが今後優しく見守って下さい。

99 名前:login:Penguin mailto:sage [02/10/06 02:36 ID:pL6Yxwnt]
>>98
終了宣言かとおもったよ。
ま、立ててしまったからはマターリ続けてください。
あと、sage進行でお願いします

#>>1はLinux歴も浅そうだし、多分厨房の俺よりもわかってないと思うけど、
#なんでデバイスドライバとかCPUの話しとかに進めるのか不思議。
#「もしかしてすごいやつなのか?」と思って見てます(w

100 名前:login:Penguin [02/10/06 15:49 ID:8y2mclT+]
>>99

100get

やまの頂上は1つだよ。登り方はいろいろあって最初は多少変でも構わないよ。

101 名前:初心者1 mailto:sage [02/10/06 21:48 ID:MP7alyvj]
すみません、今日まだかくほどのことやってないのですが、
98は俺じゃないです。

昨日のオライリーの本が気になって、ちょっとプロセスやってます。
実はfork,execをちゃんと理解してないので、
今システムコールを実験的ユーザー側でやってます。
ちなみにforkのソースよんだら、ちんぷんかんぷんでした。

102 名前:login:Penguin [02/10/07 03:36 ID:vDyq1SyP]
1を応援する100はなにもの

103 名前:login:Penguin mailto:sage [02/10/07 13:13 ID:jDGb8Ex3]
>>101
続けるならトリップつけれ。

104 名前:login:Penguin mailto:sage [02/10/08 00:05 ID:dyMlOW14]
100じゃないが、応援してるぞ
やっぱ一人で勉強するのって孤独じゃん? がんがれ

105 名前:login:Penguin [02/10/08 02:26 ID:/yXbQksY]
104は日本語がんがれ

106 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/09 01:20 ID:USOvDY6d]
トリップってこんなんでできるんですか?

とりあえず、乗算はおわったんですが、除算、浮動小数点演算はつまんなくてとばしちゃいました。
これからCPUのおもな機構についてはいっていくようなんですが、
回路って結構むずかしいですね。ってゆうか知識まったくなかったんで、
かなり苦労してます。フェッチとかいきなりいわれてもねえ。
まあ、パイプラインまではやくつくといいなあ。


107 名前:login:Penguin mailto:sage [02/10/09 02:30 ID:VLz3Or8J]
>>1
あの〜ぉ・・・・
>>1さんは、メーテル好きですか?
ボクは好きです。メーテルのような女性と付き合いたいです。
そこらへんにいるメス豚なんて眼中にありません。
>>1さんは、ボクと同じ匂いがします。いつもメーテルで
オナーニしてますよね?ボクは、毎日オナーニしてます。>>1さんは何をオカズに
オナーニしてますか?今度ボクが一番大事にしてるフィギュアを貸してあげます。
メーテルのヌードです。ちょっとセイーシが付いてますが気にしないで下さい。
どうせ同じ匂いですから気にしないでしょう。
>>1さんは、ボクの憧れです。こんなボクですが、シカトしないでください。





108 名前:login:Penguin mailto:sage [02/10/09 02:49 ID:I4s0zecG]
>>107
さっそくテンプレ化か。
速いな。

109 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/09 23:45 ID:USOvDY6d]
>107
シカトしたいんですが、一応僕はアニオタじゃないので、
メーテルでの抜き方がわかりません。とういうか想像力自体がないので。

フリップフロップなおはなし。

フリップフロップはビットを記憶させるためにもちいます。
簡単な回路がループになっているような感じです。
よく使われているのはDFFとかいうらしい。ほかにも何種類かあるようでが、
テキストじゃちょっとかけません。
現在PCとプリップフロップ(多分レジスタだと思う。)の関係までを理解しました。



110 名前:login:Penguin mailto:sage [02/10/10 00:57 ID:lGsGEbCD]
基本情報の勉強してるみたいだな(w
本当に>>1は初心者とみた。
基本情報(情報処理二種)の参考書の最初のページに載ってると思う。

>>1に問題です。
問題1
ある記憶装置に対してデータの転送を要求してから転送終了までの時間を何というか。
問題2
コンピュータの構成要素の中で、主記憶装置に記憶されている個々の命令を取り出して、その対象とする装置に必要な指示を与えるものを何というか。
問題3
命令レジスタはどのような部分から構成されるか。
問題4
割込みにはどのような種類があるか。
問題5
内部割込みにはどのようなものがあるか。
問題6
制御装置内のレジスタのうち、命令が記憶されている主記憶のアドレスを記憶しておくためのレジスタを何というか。



111 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/10 02:15 ID:XQl+U/B3]
1、さあ?
2、プログラムカウンタ
3、Dフリップフロップ
4、トラップ、シグナル、exception?言葉だけしってるけど意味分かんない
5、内部割り込みってなに?
6、さあ、命令メモリとかかな。

全然とけないですがまずいですかねえ。一応いま勉強してるんでかんべんして下さいよ。

112 名前:login:Penguin [02/10/10 04:12 ID:QBkaeGAM]
まじで素人じゃねーーーーーーーーーーーーーーーーーーーか

113 名前:login:Penguin mailto:sage [02/10/10 08:00 ID:DJTyz/gz]
>>1
漏れもコンプーターの構成と設計っての教科書として買ったから勉強するよ。

114 名前:login:Penguin mailto:sage [02/10/10 18:00 ID:lGsGEbCD]
>>1
今のおまえの知識じゃ二種すら受からないよ。
まずは二種を取ってから道を選びましょう。
そんな形がない知識じゃ相手にもされないよ。

115 名前:login:Penguin mailto:sage [02/10/10 18:06 ID:lGsGEbCD]
ちなみに、答え
1.アクセス時間
2.制御装置
3.命令部・アドレス部
4.プログラム割込み,SVC割込み,入出力割込み,機械チェック割込み,タイマ割込み,コンソール割込み
5.プログラム割込み、SVC割込み
6.命令アドレスレジスタ(プログラムカウンタ)

>>1はたぶんネタで答えたのでしょう。
本気を出してくださいよ。>>1さんよ。(W

116 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/10 18:27 ID:XQl+U/B3]
>113
一緒に勉強しましょうよ。

>115
全然ねたじゃないし、ちゃんと答えてわかりませんが、
情報処理2種かなんかの勉強すれば概要がわかるなら、それでもいいですね。
まあ、別にいいじゃないですか、どこからやっても。
不自由する場面がでてきたらそのつど調べることにしてるんで、そのうちでてくるでしょ。
でも割り込みはきになるなあ。プログラム割り込みってシグナルでしょ。入出力はデバイス側の処理がおわったのでカーネル側につたえるやつでしょ。他のはよくわかんないなあ。SVCとか調べてもでてこんし。

117 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/10 21:22 ID:XQl+U/B3]
そういえば115さんは実力ありそうなので、聞きますが、
どういう経路をたどって普通はカーネルの方にいったのですか?
これやって、これやって。って感じで教えてもらえると参考になります。
できればやった本とかも、聞きたいなあ。



118 名前:login:Penguin mailto:sage [02/10/11 00:47 ID:SrC4besf]
>>1
悔しいのか?(ぉ

>>116では、能書き言って
>>117では、教えてください?

おまえ都合の良い奴だな〜ぁ。
正直言って糞だよ。糞。
犬のようにワンワン吠えてなさい(ぉ

まぁ後で偽善者がおまえをフォローしてくれるよ。
ワンワン♪

119 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/11 01:24 ID:KnogNsin]
いや、別に悔しくもなんとも。だって悔しいって思うんなら、
ネットかなんかで調べてから答えますよ。

っていうかさすがにそれじゃあおられた気分にならないので、
もうちょっとうまくあおってくださいよ。俺あおられた方がやるきでるんですよね。
どうでもいいですが、117で書いた俺の日本語変ですね。

120 名前:login:Penguin mailto:sage [02/10/11 02:03 ID:tw2cWXap]
>>110 >>115
なんかおかしくないか?

>問題3
>命令レジスタはどのような部分から構成されるか。
>3.命令部・アドレス部
アドレス部ってなんだ.いらないでしょ.
少なくともコンピュータの構成と設計に載ってるような
シングルパイプラインプロセッサでは.

>>1
オライリーのlinuxカーネルは難解だよな.
挫折せずにやり遂げて欲しい.応援してるよ

121 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/11 03:24 ID:KnogNsin]
>120
ありがとうございます。
コンピュータの構成と設計ってけっこうみんな読んでる本なんですか?
俺的にはデバイスドライバのときより詰まる場所がすくなくていい感じなんですけど。

122 名前:login:Penguin mailto:sage [02/10/11 03:36 ID:3CUouhSb]
超有名だね
計算機アーキテクチャに携わる人間にとっては入門書的存在

123 名前:login:Penguin [02/10/11 03:41 ID:dxESzOVL]
パタヘネって研究室でも必須事項、つーーーーーか、おまえまだやってんのかよ

124 名前:login:Penguin mailto:sage [02/10/12 02:04 ID:AdVcAF7P]
いつも中央処理装置を見ながらオナニしてます。
一番エクスタシーを感じるのは、8086です。
君には判らないだろうな〜ぁ。8086ってわかる?

125 名前:初心者1 ◆.6Hqkk7dyk mailto:sage [02/10/12 02:28 ID:ttW15sfw]
インテルのですか?

126 名前:login:Penguin [02/10/13 22:28 ID:WflKUHkf]
Z80が最高でした。
まだZ80を組みこみで使っているものってありますか?

www.asahi-net.or.jp/~mz8h-tkd/mycon.htm#s_aki80

127 名前:login:Penguin mailto:sage [02/10/14 00:30 ID:Tba4FqHg]
ゼッパチ!マシン語でいろいろと書いたなぁ (遠い目
今でもポケコンぐらいでなら、使われているのかなぁ



128 名前:login:Penguin mailto:sage [02/10/14 00:42 ID:Tba4FqHg]
(何故マシン語か?の解説)
アセンブラを動かすだけの余裕が当時のメモリーには無かったから

129 名前:login:Penguin mailto:sage [02/10/14 01:06 ID:e5Udr8xA]
連休で休み?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<70KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef