タグ

関連タグで絞り込む (240)

タグの絞り込みを解除

Linuxに関するindicationのブックマーク (384)

  • Linux Kernel Hash Table Behavior: Analysis and Improvements

    CITI Technical Report 00-1 Linux Kernel Hash Table Behavior: Analysis and Improvements Chuck Lever, Sun-Netscape Alliance <chuckl@netscape.com> ABSTRACT The Linux kernel employs hash table data structures to store high-usage data objects such as pages, buffers, inodes, and others. In this report we find significant performance boosts with careful analysis and tuning of four critical kernel data st

  • Linuxにおけるデバイスファイルの仕組み

    Linuxにおけるデバイスファイルはデバイスをファイルという概念を通して扱えるようにしたものです。デバイスファイルは通常のファイルと同様に読み書きを行うことができます。しかし実際には、その読み書きはデバイスドライバを通じてデバイスの制御に変換されます。 この記事では、デバイスファイルへの読み書きがどのようにデバイスの制御に変換されるのかを説明します。デバイスファイルはデバイスドライバとファイルの2つのコンポーネントに依存したものであるので、最初にデバイスドライバ、次にファイルについて説明し、最後にデバイスファイルがどのようにデバイスドライバと結び付けられるかを解説します。 この記事の内容は主に詳解 Linuxカーネル 第3版及びhttps://github.com/torvalds/linux/tree/v6.1によります。 目次 デバイスドライバ デバイスドライバの実例 read_wri

    Linuxにおけるデバイスファイルの仕組み
  • Linuxカーネル学習の敷居を下げたいという思いを実現した本、「Linuxのしくみ」

    以下イベントの発表資料です。 https://forkwell.connpass.com/event/273179/

    Linuxカーネル学習の敷居を下げたいという思いを実現した本、「Linuxのしくみ」
  • Qemuのしくみ (の一部) - VA Linux エンジニアブログ

    1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション 1.2 QemuのCPUエミュレーション 1.3 Qemuのスレッド 2. 追加のI/OスレッドとAioContext 2.1 追加のI/Oスレッド 2.2 AioContext 2.3 Big Qemu Lock 3. AioContextの各種イベント処理 3.1 AioHandler 3.2 event_notifier 3.3 タイマー、Bottom half 3.5 スレッドプール 執筆者 : 箕浦 真 こういう 仕事をしていると、ときどきQemuの仕組みや内部動作をお客様に説明する必要があることがあるが、そういう時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思って自分で作ってみることにした。 1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション Qemuはコンピ

    Qemuのしくみ (の一部) - VA Linux エンジニアブログ
    indication
    indication 2023/01/14
    仮想マシンで無茶苦茶お世話になっております
  • Debian: 任意のtesting/unstableパッケージのみをinstallする方法(システム全体はstableを維持)

    Debian: 任意のtesting/unstableパッケージのみをinstallする方法(システム全体はstableを維持) by nao · 公開済み 2019年3月9日 · 更新済み 2020年12月25日 前書き Debianパッケージは、基的な使い方をしていれば、安定版(stable)がシステムにinstallされます。しかし、「使用したいパッケージがstableにない場合」や「より新しいパッケージを使いたい場合」、システムにtesting/unstableパッケージを導入する必要性がでてきます。 この際、システム全体をtesting/unstableに変更したくない人は、多いと思います。その理由の一つは、パッケージが期待よりテストされていなかった場合、downgrade作業を実施しなければならないからです。最悪のケースは、testing/unstableから元々の環境(st

    Debian: 任意のtesting/unstableパッケージのみをinstallする方法(システム全体はstableを維持)
  • Debian(Ubuntu)で apt-get upgrade で自動更新したくない場合の対応 | レンタルサーバー・自宅サーバー設定・構築のヒント

    Debian(Ubuntu)で apt-get upgrade で自動更新したくない場合の対応

    indication
    indication 2022/06/19
    preferencesの設定方法
  • inodeから見たmvやcpの動き - Carpe Diem

    背景 実行中のファイルに対してcpで上書きする場合だとText file busyで置き換えられず、mvだと何も聞かれず置き換えられる理由を深掘ってみました。 データ構造 mvやcpの動きを確認する前に必要な前提知識を説明します。 プロセスとinodeとの関係 プロセスとinodeは以下のように プロセステーブルエントリ └ファイルテーブルエントリ └v-node(i-node) という形で繋がっています。 ref: Lec 21: File System, Kernel Data Structures, and Open Files inodeのデータ構造 inodeは以下のような情報を持ちます。 inode番号 ファイル種類(レギュラファイル、ディレクトリファイル、ソケット、etc...) OwnerID GroupID アクセス許可ビット ファイルサイズ データブロックへのポインタ

    inodeから見たmvやcpの動き - Carpe Diem
    indication
    indication 2021/07/12
    mvやcpの動作
  • Example: Nonblocking I/O and select()

  • GNU/Linux (x86/x86-64) のシステムコールをアセンブラから呼んでみる - CUBE SUGAR CONTAINER

    今回は、表題の通り x86/x86-64 の GNU/Linux でシステムコールをアセンブラから呼んでみる。 システムコールは、OS (ディストリビューション) のコアとなるカーネルがユーザ空間のプログラムに向けて提供しているインターフェースのこと。 なお、アセンブラの実装に関しては以下の二つを試した。 NASM (Netwide Assembler) GAS (GNU Assembler) アセンブラには INTEL 記法と AT&T 記法という二つのシンタックスがある。 NASM はデフォルトで INTEL 記法を、GAS はデフォルトで AT&T 記法を使うことになる。 使った環境は次の通り。 $ uname -sr Linux 4.15.0-65-generic $ nasm -v NASM version 2.13.02 $ as -v GNU assembler versio

    GNU/Linux (x86/x86-64) のシステムコールをアセンブラから呼んでみる - CUBE SUGAR CONTAINER
  • Linux kernel coding style — The Linux Kernel documentation

    Linux kernel coding style¶ This is a short document describing the preferred coding style for the linux kernel. Coding style is very personal, and I won’t force my views on anybody, but this is what goes for anything that I have to be able to maintain, and I’d prefer it for most other things too. Please at least consider the points made here. First off, I’d suggest printing out a copy of the GNU c

    indication
    indication 2021/06/03
    MicroSoftで不覚にも…
  • VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み

    Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。今回主催の@nullpo_head 氏が、Armの仮想化支援機構について、その仕組みから深く説明します。前半は「現代のハードウェア仮想化支援機構」について。全2回。 ハードウェア仮想化支援とは何か 佐伯 学哉氏:入門セッション3つ目は『Armの仮想化支援機構』についての入門セッションです。どうぞよろしくお願いします。 発表のスタートとゴールです。VMwareとかQemuとか使ったことあるけど仮想マシンの仕組みなんも知らんというところがまずスタートになっています。 1個目のゴールは、最近のVMのざっくりした仕組みとハードウェア仮想化支援とは何かということがわかること。そしてその話のあとに実際にArmの仮想化支援機構の概要を説明し、Armの仮想

    VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み
  • Diving into /proc/[pid]/mem

    A few months ago, after reading about Cloudflare doubling its intern class size, I quickly dusted off my CV and applied for an internship. Long story short: now, a couple of months later, I found myself staring into Linux kernel code and adding a pretty cool feature to gVisor, a Linux container runtime. My internship was under the Emerging Technologies and Incubation group on a project involving g

  • マイクロソフト、「WSL 2」でLinuxのGUIアプリを利用可能に

    Steven J. Vaughan-Nichols (ZDNET.com) 翻訳校正: 編集部 2020-09-29 13:13 Microsoftの最高経営責任者(CEO)を務めるSatya Nadella氏は、同社が5月にオンラインで実施した開発者向けイベント「Build 2020」で、「Windows Subsystem for Linux(WSL)2.0」が近々、LinuxGUIとアプリケーションをサポートするようになると発表していた。そして、9月に開催された「X.Org Developers Conference」で、同社のパートナー開発リードであるSteve Pronovost氏が、WSL内でグラフィカルなLinuxアプリケーションを実行できるようになったことを明らかにした。 これまでも、グラフィックエディターの「GIMP」、電子メールクライアントの「Evolution」、オ

    マイクロソフト、「WSL 2」でLinuxのGUIアプリを利用可能に
    indication
    indication 2020/09/30
    VirtManagerが動くと割りと嬉しい(.Net coreで作ろうか検討してた)
  • 電子辞書は組み込みLinuxの夢を見るか? - Zopfcode

    はじめに 去る2010年、津山高専の入学を間近に控えた puhitaku 少年は、とある SHARP の電子辞書を手にして震えていた。 SHARP Brain PW-GC610。Windows CE をプリインストールした、中学生から見ても一風変わった電子辞書。そんなものが津山高専の教科書販売で手に入るなんて…。 これは、そんな変わった電子辞書 Brain シリーズで Linux を動かすまでの記録だ。 (記事は、第53回 情報科学若手の回で発表した以下のスライドを記事にしたものです) speakerdeck.com Brain ハックの隆盛と衰退 SHARP の電子辞書 Brain シリーズは、Windows が動くことによって外部アプリ ― 言い換えると、PE 実行可能ファイルそのもの ― が追加可能であることを売りにしている。自作ソフトの防止や対策は特にないので*1、Visual

    電子辞書は組み込みLinuxの夢を見るか? - Zopfcode
    indication
    indication 2020/09/26
    freescaleの機能一覧だけでも白目るのに、もうなんだか、頭おかしい(すごい)
  • Debianでポートノッキング

    Zenn での初記事です。 先日、何故SSHのポートを22以外にするのは悪いことなのか という記事を見かけました。 この記事自体は2012年のものでそれほど新しいことは書かれていないのですが、ポートノッキングを選択肢として挙げられており、自鯖の最近の動向から併用するのも良いなと思って、自鯖のいくつかをポートノッキングを導入したので、その備忘録です。 タイトルにあるように対象はDebianで9と10での記録ですが、Ubuntuでも同様に設定できるはずです。 CentOS? 知らない子ですね。 さて、インストール自体は簡単で knockd というツールを使います。

    Debianでポートノッキング
    indication
    indication 2020/09/23
    こんなこと出来るんだ。製品に組み込めそう。(アップデートやファーム解析をブロックできる場合)
  • vmlinuxのヒミツ - VA Linux エンジニアブログ

    1. vmlinuzの怪 2. vmlinuxの入手 3. ELFファイル 4. ELFセクション 5. セクションの意味 6. Linuxのセクションとldscript 7. .cpuidle.textセクション 8. おわりに 執筆者 : 箕浦 真 1. vmlinuzの怪 Linux (カーネル) のファイル名といえば、/boot/vmlinuz-<version>だ。なんでlinux-<version>とかじゃないのだろうか。 vmの方は、これはおそらくBSD Unixのカーネルvmunixに倣ったものだろう。ベル研究所のResearch Unixを、VAXのハードウェアを生かして仮想記憶 (Virtual Memory) 機能を大幅に強化したため、vmunixとした。 zの方は、これは圧縮されていることを表す。なぜZで圧縮なのかはよくわからないが、圧縮の意味なのだ *1。 現在一

    vmlinuxのヒミツ - VA Linux エンジニアブログ
  • Linuxがブートするまで

    普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff

    indication
    indication 2020/08/17
    主にinitrdとinitramfsの2形式があるなんて、知らなかった…initrdでディスクドライバーをロードできなかったときの絶望感
  • リンカ

    ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの説明をおざなりにしすぎだ」というのがある。 多くのC言語の書籍は、 コンパイラがソースコードをアセンブリコードに変換します アセンブラがアセンブリコードを機械語に変換します リンカが機械語をリンクして実行ファイルが作られます と、いう解説がなされがちである。この説明を見たら、多くの人が、「え、リンクってなんですか?」と、思うに違いない。 アセンブラには、「人間が読めるニーモニックを、機械が読める機械語に変換する」みたいな、最低限の説明が付くものの、 リンカの説明は「リンクをします」のひとことだ

  • パフォーマンスの最大化 - ArchWiki

    この記事では、知覚または計測できるシステムパフォーマンスの向上を最終目的として、パフォーマンスに関連する基的なシステム診断、及び、リソース消費量の削減やシステム最適化のための手順に関する情報を提供しています。ゲーミングおよび低レイテンシに特有のその他のアドバイスは ゲーム#パフォーマンスを向上させる も参照してください。 基 システムを知る システムをチューンするには、全体のスピードを下げているボトルネックやサブシステムに狙いを定めるがベストな方法です。システムの仕様を知ることは、それらを特定することに役立ちます。 (LibreOffice や Firefox などの) 巨大なアプリケーションを同時に動作させたときにコンピュータが遅くなる場合、RAM の容量が十分であるか確認してください。以下のコマンドを使って、"available" 列の値を確認してください: $ free -h 起

  • SSDOptimization - Debian Wiki

    Translation(s): none This page is about optimal set up of an SSD (Solid State Drive). This page should be kept clean enough for beginners to get the most basic idea. Note that some of the configuration improvements listed below happen automatically today for new installations. WARNING Some firmware versions on some SSD models have bugs that result in data corruption when used in certain ways. For