タグ

unixに関するdoi-tのブックマーク (8)

  • 論文紹介: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 - みずぴー日記

    ICSE 2016勉強会に参加するために論文リストを確認していたら、40年間のC言語のプラクティスの変遷を追った論文がおもしろかったので紹介する。 対象の論文 論文: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 論文中で使われれたデータ: https://github.com/dspinellis/unix-history-repo 要約 過去40年間のUnixのソースコードを分析し、コーディングスタイルの変化を調査した。その結果、以下のことが分かった。 新しい言語機能は価値のあるものならば採用される レジスタ割り当てをコンパイラに任せるようになる スペースをどこにいれるかなどのコードの書き方が統一されていく 分析対象 1972年以降にリリースされた計66個

    論文紹介: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 - みずぴー日記
  • Makeについて知っておくべき7つのこと | POSTD

    Make は、様々なタイプのファイルのビルド作業を自動的に行ってくれるシンプルかつ強力なツールです。しかしながら、makefileを書く際に問題にぶち当たるプログラマもいれば、Makeの基知識がないことで、既存のものを再発明してしまうプログラマもいます。 Makeの働き デフォルトでは、Makeは一番目のターゲットから開始します。このターゲットのことをデフォルトゴールと呼びます。 Makeはカレントディレクトリのmakefileを読み込み、一番初めのルールで処理を開始します。しかし、Makeが完全にこのルールを処理する前に、ルールが依存するファイルのためのルールを処理しなければなりません。各ファイルそれぞれは、自身のルールに従って処理されます。 実はこれは、各ターゲットの再帰的アルゴリズムになっています。 ターゲットをビルドするルールを見つける。ルールがないようであれば、Makeはうまく

    Makeについて知っておくべき7つのこと | POSTD
  • コマンドラインツールを作るときに参考にしている資料 | SOTA

    コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた.古いが全然色あせてない. コマンドラインツールの作り方を書いたではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい

  • fork()は失敗するんだぜ、覚えときな

    fork() can fail: this is important あー、fork()のことね。プロセスがもっとプロセス作るためのやつな。いや、他にもプロセス作る方法はあるけどな。ま、面白い話がもうひとつあるから聞かせてやるよ。 forkは失敗するんだぜ。分かってるか? マジで分かってるか? マジだぜ。forkは失敗するもんだ。mallocと同じさ。失敗することもある。そんなに頻繁にってわけじゃないけどさ、でも失敗したら、無視できっこないぜ。ちっとは脳みそ働かせなきゃならん。 forkが0を返したら、そいつは子プロセスで、親なら正数を返すってことは、みんな知ってるよな。その値は子のpidだ。こいつを保存しといて、あとで使うってわけだ。 失敗を確認しない場合どうなるか知ってるか? そうだよ。お前多分、"-1"(forkのエラー通知)をpidとして扱ってるんだろ。 さて、問題の始まりだ。

  • コマンドによる「負荷」の原因切り分け

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    コマンドによる「負荷」の原因切り分け
  • Linuxのしくみを学ぶ - プロセス管理とスケジューリング

    Linuxのしくみを学ぶ - プロセス管理とスケジューリング」公開ページ こちらのページはSoftware Design誌 2009年12月号の記事「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」の公開ページです。 「ハイパーバイザの作り方」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 HTML PDF ePub mobi Kindle 原稿データ 全ての原稿データはgithub上で公開されています。 Pull RequestやIssuesを通じて文章の誤り訂正や解説の追記、各フォーマットの表示の改善などのコントリビューションを受け付けています。 改善された記事は随時このページにアップロードしていきます。 記事に関するご質問 記事を読んで何かわからなかった点があったり、疑問に思ったことがあれば以下の連絡先に問い合わせてください。 Twitter: @syuu

  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
  • Unixに関するいろいろな略称とその意味 - UNIX的なアレ

    いろいろな略称が多い! コマンドやディレクトリ名など、UnixなOSはとにかくいろいろな略称が多いです。特にさわりはじめの人はこの略称がいみわからずに心が折れてしまうことは多いと思います。実際にSchooでUnixの授業をやったときもこの略称を説明しました。 というわけでまとめてみました。なぜ略称が多いのかが気になる人はこちらを読んでみてください。 UNIXという考え方―その設計思想と哲学 作者:Mike Gancarzオーム社Amazon ※ちなみに、Linuxにもほぼ通用すると思いますがMacをベースに書いているのでUnixという表記にしています。 ディレクトリ名 名称 来の意味 備考 usr User Services and Routines これは若干怪しめです。Userという説も var Variable ログやメールの情報など、変わりうる情報を扱うもの tmp Tempor

    Unixに関するいろいろな略称とその意味 - UNIX的なアレ
  • 1