2015-01-01から1年間の記事一覧

セッションとプロセスグループ

プロセスグループ http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/credentials.7.html より引用: 各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちらも pid_t 型で表現される。 プロセスは、それぞれ getsid(2), get…

Ctrl+C と killコマンド の違い

kill : 指定されたプロセスにのみシグナルを送信(プロセスの親子は関係ない) Ctrl+C : フォアグラウンドのジョブの全プロセスに対してSIGINTを送信 [実験] 以下のようなスクリプトを実行させ、killした場合とCtrl+Cした場合とで挙動の違いを見る。 [user1@…

OS自作入門 29日目分、30日目分 (読了)

29日目分 圧縮と簡単なアプリケーション OSのサイズを小さくするため、圧縮ファイルを解凍する機能をOSにつける話など。 他、インベーダーゲームのアプリなど。 30日目分 高度なアプリケーション この章はOS本体とは直接関係ないので流し読み。 IPLのと…

OS自作入門 27日目分、28日目分

27日目分 LDTとライブラリ キーワード:LDT(local descriptor table)、ライブラリポイント: GDTが全部のタスクから共通に使えるセグメント設定であるのに対し、LDTはあるタスクでしか有効でないセグメント設定 アプリ用のセグメントをLDTの中で設定すれば…

OS自作入門 25日目分、26日目分

OS自作入門、平日は結局できず、前回から4日、間が空いてしまった。そのせいもあり、モチベーションが若干下がり気味。しかし何とか最後まで完走したい。25日目、26日目分、これまでの知識を応用してプログラムをOSらしく改良しているだけで、新出事項は…

OS自作入門 24日目分 ウィンドウ操作

掲題のとおり、ウィンドウ操作。切り替え、移動、マウスで閉じる、アプリケーションウィンドウも入力切り替え、入力ウィンドウをマウスで切り替える、タイマAPI、タイマAPIのキャンセル。 プログラムの論理を追うのはそれなりに大変だが、これまでの知識を応…

OS自作入門 23日目分 グラフィックいろいろ

malloc のAPI、ウィンドウに点や線を書くAPI など。mallocでは、アプリからはOS用のセグメントは利用できないので、OSのメモリ割り当て関数は利用できない。よって、はじめにOSがアプリ用に確保するデータセグメントを、指定されたサイズ分だけ多めにとって…

OS自作入門 21日目分

前日分(20日目分)の理解がおざなりで、プログラムも複雑になってきて、ここは新出事項も多かったので、内容を追うのが大変だった。 21日目分 OSを守ろう キーワード:アプリ用のセグメント、一般保護例外、ポイント: アプリ用のセグメントを使って…

OS自作入門 22日目分

22日目分 C言語でアプリケーションを作ろう キーワード:スタック例外、アプリの強制終了、データセグメント、セクション ポイント: 一般保護例外になる例:IN命令、OUT命令、STI命令、CLI命令、不正なアドレスをCALL スタックがセグメントを外れるとス…