タグ

システムコールに関するserihiroのブックマーク (6)

  • Linuxのプロセス間通信 - Qiita

    この記事について LinuxのIPC(プロセス間通信)を紹介します。 プロセス間通信とは Inter Process Communication(IPC)はプログラムの実行単位であるプロセスの間で行われるデータ交換のことを指します。プロセスの依存関係は可能な限り疎結合になるようOSで管理されています。そのため、IPCLinux OSの機能を経由して行う必要があります。 OSがプロセスに提供するデータ交換の方法はひとつだけではありません。それぞれ特徴のある多彩な方法を提供しています。 ここで紹介するのは以下の5つです。 共有メモリー セマフォ マップドメモリー パイプ ソケット通信 (他にありましたらコメントで教えていただければ幸いです。) それでは、見ていきましょう。 共有メモリ プロセス間で同じメモリを共有します。 共有メモリの最大の利点はそのアクセススピードにあります。 一度共有メモ

    Linuxのプロセス間通信 - Qiita
  • 共有メモリとファイルシステム――その1

    今回は、mmap(2)で共有メモリを実装すると処理能力の向上が見込めること、そしてその実装方法にはいくつもの選択肢があることを紹介し、次回以降の比較につなげていく。(編集部) 共有メモリ活用方法のバリエーション 第5回では、プロセス間でデータをやりとりする方法としてパイプpipe(2)と共有メモリmmap(2)の双方を取り上げ、それぞれの利点・欠点について紹介した。 パイプpipe(2)を使う方法は実装がシンプルだし、概念としても分かりやすい。どのタイミングでロックがかかるかも明確だ。一方、小さいサイズのデータを何度もやりとりするようなケースでは、大量のread(2)/write(2)システムコールが発生し、効率が悪いことも紹介した。 共有メモリmmap(2)を使う方法は、pipe(2)/read(2)/write(2)と比べて実行速度の面で利点がある。共有メモリを使うと、それぞれ独立した

    共有メモリとファイルシステム――その1
  • デーモンプロセスの作り方を通じて色々なことを再確認した - えいのうにっき

    続き。今回はデーモンプロセスについて。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき パイプとソケットでのプロセス間通信を Ruby で再確認した - えいのうにっき デーモンプロセスについて知るときに前提知識として外せないのが、「プロセスグループ」と「セッショングループ」というふたつの概念らしい。まずはそれについて再確認する。 プロセスグループとセッショングループ プロセスグループ 今までずっとプロセス単体について見てきていたけど、実はプロセスというものは、全てがいずれかの「プロセスグループ」というものに属している。各プロセスグループには、ユニークな整数のIDが振られている

    デーモンプロセスの作り方を通じて色々なことを再確認した - えいのうにっき
  • Linuxシステムコール徹底ガイド | POSTD

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

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

    What's new. Blender 2.8 - 4.x の使い方(2019-08-03 - 2023-12-23) 開発状況をウォッチしていたBlender 2.8 が公開されたので、別サブドメインでモバイル用のサイトとして「Blender 2.8 の使い方 (01), (02), (03), (04), (05), (06), (07), (08), (09), (10), (11), (12), (13), (14), (15), (16), (17) (18) (19) 」を始めました。 Raspberry Pi メモ(55) (2022/11/30,2022/12/08) 64ビット版のUbuntu 22.04LTS を Raspberry Pi 4B にインストールして、システムコンテナのLXC気で使うための解説です。 Raspberry Pi メモ(54) (2021/

    serihiro
    serihiro 2016/03/13
    偶然辿り着いたけど低レイヤー系技術の掲載量が半端ない。。
  • 1