タグ

Linuxに関するkmiya_bbmのブックマーク (12)

  • MINIXの30年の歴史から学んだこと

    (文書はAndrew S. Tanenbaum教授の許可をいただいて島慶一が翻訳しました。) MINIXの30年の歴史から学んだこと (原題: Lessons learned from 30 years of Minix) 著者: Andrew S. Tanenbaum (収録: Communications of the ACM, Vol. 59 No. 3, March 2016, Pages 70-78) Linuxのことはみなさんよくご存知だと思いますが、その直接の祖先であるMINIXも齢三十を迎え、古参のソフトウェアとしてはまだまだ元気にやっています。MINIXの生い立ち、またMINIXやLinuxの始まりの物語はあまり知られておらず、だからこそMINIXの開発から多少なりとも学ぶべきことがあるのではないかと思うのです。これからお話しすることには、オペレーティングシステム特有の

    kmiya_bbm
    kmiya_bbm 2018/04/20
    むっちゃ面白い。リーナスの自伝『それがぼくには楽しかったから』(原題:Just for Fun: The Story of an Accidental Revolutionary)も面白いよ。
  • IoT時代の最新SELinux入門

    Linuxを襲う不正アクセスを水際で止めるセキュリティ機構「SELinux(エスイーリナックス)」。Linuxのアクセス制御とは別の防御壁として動作し、組み込みからクラウドまで幅広く浸透しています。あらゆるデバイスがインターネットにつながるIoT時代に避けては通れない技術の一つです。SELinuxを使いこなすための知識を基礎から解説します。 「インストール後にすぐ無効」はなくせるか、SELinuxのこれから 「IoT時代の最新SELinux入門」連載も今回が最後になります。連載の最後に、SELinuxの現在の開発の状況と、今後どのような方向に開発が進んでいくのかを過去の例から考えてみましょう。 2017.08.24 新たな脆弱性、SELinuxで守れるかテスト 前回はSELinuxの機能を利用したドメインを作成し、制御する方法を紹介しました。この際、ポリシーを追加し、許可の要/不要を吟味し

    IoT時代の最新SELinux入門
  • Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ

    主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /

    Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ
  • Linuxシステムコール徹底ガイド | POSTD

    要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3

    Linuxシステムコール徹底ガイド | POSTD
  • ファイルディスクリプタについて理解する - Qiita

    ファイルディスクリプタについて分かっているような分かっていないような感じだったのRubyでコードを書きつつ、理解したときのメモ 参考 ファイルディスクリプタ数の上限変更とlimits.confの罠 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Shinpeim/process-book そもそもファイルディスクリプタとは何か 以下より引用 IT用語辞典 ファイルディスクリプタとは、プログラムがアクセスするファイルや標準入出力などをOSが識別するために用いる識別子。0から順番に整数の値が割り当てられる。OSによってはファイルディスクリプタにバッファ管理機能なども含めた「ファイルハンドル」と呼ばれる管理体系が存在する。 ファイルディスクリプタには、識別子とともにファイル名、ファイルサイズ、プログラムが操作中のファイル内の位置、ファイル作成、更新日時などの情報が含まれており、OSは

    ファイルディスクリプタについて理解する - Qiita
  • Unixプロセスとリソースの基礎を再確認した - えいのうにっき

    前置き 最近、「なるほどUnixプロセス ― Rubyで学ぶUnixの基礎」というを読んでいる。 tatsu-zine.com 僕の所属している会社・はてなでは「メンター制度」というものがある。はてなに所属する全てのエンジニアに、誰かしら(グレード的に自分より上となるエンジニア)をメンターとしてつける、という制度。メンターとメンティーは月に一度、1on1を実施する。 自分はセールスエンジニアという特殊な職種ではあるが、メンターとしてシスプラ(インフラ)部門のエンジニアの方に付いて頂くことになった。このことは僕にとって、とても有り難く、心強い。 というのも、入社から2ヶ月ちょっと、実際にセールスエンジニアとして業務を進めてみて、インフラ周りの基礎知識・ローレイヤーに関しての基礎知識が強く求められるなぁと...、、というか、それを知っているといないとでは、問題や課題についての理解の仕方も違っ

    Unixプロセスとリソースの基礎を再確認した - えいのうにっき
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • 伽藍とバザール

    Eric S. Raymond 著 山形浩生 YAMAGATA Hiroo 訳    リンク、コピーは黙ってどうぞ。くわしくはこちらを見よ。 プロジェクト杉田玄白 正式参加作品。詳細は http://www.genpaku.org/ を参照のこと。 1999/07/30版、1999/08/16訳更新, 2000年5月2日更新 原文の最新版はhttp://www.catb.org/~esr/writings/cathedral-bazaar/にて各種フォーマットで入手可能。 翻訳の pdf 版はhttps://cruel.org/freeware/cathedral.pdfにある。 翻訳の PostScript 版 (tar+gzip圧縮)はhttps://cruel.org//freeware/cathedral.tgzにある。 第 2 部 「ノウアスフィアの開墾」 (Homesteadi

  • Linux Performance

    static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • 1