タグ

2017年7月21日のブックマーク (8件)

  • Linuxシステムコール徹底ガイド | POSTD

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

    Linuxシステムコール徹底ガイド | POSTD
    nekonenene
    nekonenene 2017/07/21
    システムコール
  • マイクロカーネル - Wikipedia

    モノリシックカーネル及びマイクロカーネルのOSの構成 マイクロカーネルの概念図 マイクロカーネル(英: microkernel)とはオペレーティングシステム (OS) の設計思想、及びそのようなOSのカーネル部の名称である。OSが担う各種機能のうち、必要最小限のみをカーネル空間に残し、残りをユーザーレベルに移すことで全体の設計が簡素化でき、結果的にカスタマイズ性が向上し、性能も向上できるというOSの設計手法のことである。カーネル体が小規模な機能に限定されるので「マイクロカーネル」と呼ばれるが、必ずしも小さなOSを構成するとは限らない。 マイクロカーネルの出現に伴い、従来型のOSを「モノリシックカーネル(一枚岩のカーネルという意)」と呼ぶようになった。マイクロカーネルの思想を更に推し進めたナノカーネルも提唱されている。 純粋なマイクロカーネルでは、まずカーネル空間で提供される機能を、メモリ

    マイクロカーネル - Wikipedia
    nekonenene
    nekonenene 2017/07/21
    Machカーネルはマイクロカーネル、Linuxカーネルはモノリシックカーネル
  • アプリケーションバイナリインタフェース - Wikipedia

    アプリケーションバイナリインタフェース(ABI, 英: Application Binary Interface)とは、アプリケーション(ユーザ)プログラムとシステム(オペレーティングシステムやライブラリ)との間の、バイナリレベルのインタフェースである。また、アプリケーション相互間や、それらの部品(プラグイン等)とのバイナリインタフェースもある。 ABIはアプリケーションプログラミングインタフェース (API) とは異なる。APIはソースコードとライブラリ間のインタフェースを定義したものであり、同じAPIをサポートしたシステム間では同じソースコードをコンパイルして利用できる。一方、ABIはオブジェクトコードレベルのインタフェースであり、互換ABIをサポートするシステム間では同じ実行ファイルを変更無しで動作させることができる。 ABIには、以下のような定義が含まれる。 CPU - 命令セット

    nekonenene
    nekonenene 2017/07/21
    カーネルに対応して存在する「インターフェイス」、MacはMach-OカーネルにBSDインターフェイスを乗せている形
  • セマフォとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

    簡単に書くよ セマフォ(英:semaphore)とは 排他制御(ダブルブッキングしないようにすること)のための仕組み であり 同時に使える人の数が決まっている物に割り当てられた「あと何人の人が使えるよ」を表した数字 です。 ちょっと小難しい言い方をすると 共有資源に対するアクセス可能な数を示す値 が「セマフォ」です。 資源にアクセスする度にセマフォの値を増減することで、排他制御を実現します。 ……と言われても、何がなんだか分かりませんよね。 大丈夫です。 順番に説明していきます。 まず予備知識として「排他制御」を理解しておいてください。 排他制御は「ダブルブッキングしないようにすること」です。 同時に使われるとマズい(おかしくなる)ものに組み込む仕組みで、1つの物を同時に使わせないための工夫です。 例えば、そうですね。 ピヨ太君が、とあるファイルに文章を書いていたとしましょう。 ピヨ太君が

    セマフォとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
  • テスト・アンド・セット - Wikipedia

    DPRAMによるテスト・アンド・セット命令は様々な方式が考えられる。ここでは2種類のバリエーションを示す。いずれの場合もDPRAMは2ポートあって、2つの電子部品(例えば2つのCPU)がDPRAM内の任意のメモリ位置にアクセスできる。 CPU1がテスト・アンド・セット命令を発行すると、最初にDPRAM内の特別な場所にテスト・アンド・セットのターゲットとなっているメモリアドレスを「内部ノート」として記録する。ここでもしCPU2も同じアドレスにテスト・アンド・セット命令を発行しようとしていた場合、DPRAMにある「内部ノート」をチェックして状況を把握し、BUSY割り込みを発行する。BUSY割り込みにより、CPU2はCPU1の完了を待ってリトライすることになる。これは割り込み機構を利用したビジーウェイト(あるいはスピンロック)的実装である。これらは全て高速に処理されるので、CPU2が待っている時

    nekonenene
    nekonenene 2017/07/21
    確認そして書き込み
  • MySQLを捨てClickHouseでレポートAPIのレスポンスを1000倍高速化した話 - GENIEEエンジニアブログ

    はじめに みなさん始めまして、R&D部 基盤技術開発部の石田祥英です。 北大の情報科学研究科を卒業前に飛び出しジーニーに半年早く17卒入社し、現在は主にFlink, Kafka, Play Framework(scala)や、バッチ用途でgolang,pythonなどを使いプロダクト横断のシステムの開発・検証をやっています。 TL;DR ClickHouseで分析系クエリが1000倍の速度に爆速化 DBの容量もMySQLと比べ1/13に軽量化 ClickHouse導入はMySQLには無い制限もあるけど、なんとかなる あんまり日での導入事例が見当たら無いけど、クエリの高速化・DBの軽量化したい人はぜひ使うといいことがあるかもしれません 社内勉強会用の資料 Report apiを支える技術 from Geniee, Inc. / 株式会社ジーニー ClickHouse導入の背景 一般的に広

    MySQLを捨てClickHouseでレポートAPIのレスポンスを1000倍高速化した話 - GENIEEエンジニアブログ
  • 未来食堂の”事業計画書”、全文公開します(飲食店の事業計画書) - 未来食堂日記(飲食店開業日記)

    こんにちは。 このブログは『あなたの"ふつう"をあつらえる』未来堂が開店するまでの日記です。 (OPEN予定は9月13日) 事業計画書 タイトルのとおりです。二言はありません。 未来堂の”事業計画書”を、全文公開します。 売上予想からコンセプト実現可能性まで、全てご覧いただけます。 コピーではありません、原です。 目次は以下のとおりです。 事業目的~アイデアが生まれてきたストーリー 事業内容~業種・業態、特徴 市場環境~顧客の状況、競合の状況、今後の見通し ブランドデザイン 利益計画 競争優位性 コンセプト実現のための取り組み サブサービス 実績 当事業計画書は創業・第二創業促進補助金に提出し、採択されました。 なぜ公開するのか 飲業界のオープン化を願うから IT業界ではオープンソース(OSS)という概念があり、この概念こそがIT業界を迅速により良く発展させた根幹だと私は考えていま

  • AWS ALBの運用豆知識 | 外道父の匠

    たいした諸事情なわけでもないですが、だいぶ更新を空けてしまいましたので、ささやかなことからコツコツと書いていこうかと思います。 今回は、ALB(Application Load Balancer)の運用で得られた豆知識の記録です。 暖機運転の豆知識 申請の必要性 ALBはトラフィックが増加しても自動的に拡張して対応してくれますが、急激に増加すると拡張が間に合わずにキャパシティオーバーとなって、ALBがエラーを返してしまう可能性があります。そのため、事前にこのくらい跳ね上がりますので暖めて馴染ませておいてください。ってのが暖機運転(Pre-warming)です。 基的には事前に申請して扱う仕組みですが、想定よりトラフィックが多くなり、エラーが多発し、数十分・数時間も解決しない場合もこの申請をすることがあります。この場合、ALBが自動拡張してくれない = 何か他に問題がある 可能性が高いので

    AWS ALBの運用豆知識 | 外道父の匠
    nekonenene
    nekonenene 2017/07/21
    暖機運転の申請