タグ

2013年7月29日のブックマーク (3件)

  • 第3回 プロセス・スケジューリング

    Linuxは複数のプロセスを同時に実行できるマルチタスクOSです。第2回目で紹介したように,プログラムはプロセスという単位で管理されており,それぞれが独立したメモリー空間を持つことで複数のプロセスが干渉しないように動作できます。 しかし,通常のパソコンにはプロセッサが1つしか搭載されていませんので,同時に1つのプログラムしか実行できないはずです*1。なぜ,Linuxではマルチタスクを実現できるのでしょうか。その答えはカーネルにあります。 今回は,カーネルがどのようにマルチタスクを実現しているかを解説します。 時分割でマルチタスクを実現 最初にプロセッサがプログラムをどのように実行するかを見てみましょう。 プロセッサの基構造は至って単純です。プロセッサは「Program Counter(PC)」と呼ばれるレジスタが指し示すメモリー・アドレスから命令を読み込んで実行します。実行後は再度PC

    第3回 プロセス・スケジューリング
  • 0から作るOS開発

    0から作るOS開発について ここではOS(のようなもの)を自分で作るための 簡単で基礎的な技術を載せています。 このホームページはC言語の基礎的な知識がある方を対象としています アセンブラなども取り扱います 何故? プログラムってどうやって動いているんだろう? OSってなんだろう? どうやって動いているんだろう? プログラム作ったことあるけどmain関数が動く前ってどうなってるんだろう? と思ったことありませんか? こんなふうに考えてもんもんとして過ごしていませんか? そんな方のためのこのホームページです! その当時 ふと疑問に思って オペレーティングシステムに関する技術を読んでみましたが、 メモリ管理とかプロセスがどうたらこうたらと小難しいことばかりで 具体的にどう動くのか(もちろん十分具体的に書かれており 頭がついていってないだけなのですが。。。。)、 もっと言えばどうやって作るのか

    0から作るOS開発
    zariganitosh
    zariganitosh 2013/07/29
    作ってみたい
  • システムコールについてどれくらいご存じですか?

    システムコールについてどれくらいご存じですか?:知ってトクするシステムコール(1)(1/2 ページ) 「システムコール」と聞いて、どういう印象を受けますか? 「難しくて、自分では手に負えない」とか「使う必要を感じない」という方は多いでしょう。しかし、コンピュータを使う人ならどんな人でも、システムコールについて知っておくといろいろトクをするんですよ。(編集部) システムコール? 聞いたことはあるけど…… 企業情報システムや、Webアプリケーション、携帯機器向けアプリケーション、あるいはちょっとしたツールの作成など、なんらかの形でソフトウェア開発に携わったことのある方なら、一度は、「システムコール」という言葉を耳にしたことがあるはずだ。しかし、先に挙げたような分野のアプリケーション開発現場で、明示的にシステムコールを利用する開発者は多くない。 システムコールは、低レベルのプログラミングやカーネ

    システムコールについてどれくらいご存じですか?