タグ

zyxwvのブックマーク (1,081)

  • vCPUをどうpCPUに割り当てるかを決定する機構 Xenにおける2つの主要スケジューラのアルゴリズムと性能

    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。西村氏は、Xenの仕組みとCreditスケジューラ、Credit2スケジューラについて発表しました スケジューラやVM間通信機構の機能を提供するXenの仕組み 西村啓佑氏:西村です。「Xenのスケジューラがぜんぜんわからん」というタイトルで発表します。 出オチとして、タイトルどおりXenのスケジューラの話をしようと思いますが、そもそもXenってなんぞやというところから説明したいと思います。XenはVMMの一種で、例えば今回話すスケジューラやVM間通信機構といった機能を提供しています。 Xenのアーキテクチャの世界観の中で、VMMに対するVMはドメインと呼ばれていて、(スライドを示して)この図のように、1つのVMM上で複数のドメインを立ち上げるこ

    vCPUをどうpCPUに割り当てるかを決定する機構 Xenにおける2つの主要スケジューラのアルゴリズムと性能
    zyxwv
    zyxwv 2022/02/28
    Creditスケジューラはタイムスライス(30ms)方式。残り時間があるvCPUがIO待ちになったら最高優先度で実行しレイテンシ削減。Credit2はタイムスライスが可変で、creditはOSのweightに応じて減り方が違う。
  • Armのライセンス形態はどうなっているのか AppleはどのIP?

    Armのライセンス形態はどうなっているのか AppleはどのIP?:Apple Siliconがやってくる(2/2 ページ) 例えばAppleの例で言えば、A4~A5Xまでは、Cortex-A8/A9を使っており、これは通常のプロセッサIPのライセンス(Cortex License)を受けて製造した訳だが、Apple A6以降は自社設計のCPUコアになっている。これはArchitecture Licenseを取得して、自身で論理設計から行ったものである。 長らくArmはこの2立て(Cortex LicenseとArchitecture License)のライセンス形態をとっていた。厳密に言えばCortex Licenseの方は Fast Track、Single Use、Multi Use、Team、Perpetual、Subscription、Lead、Technologyと契約形態や

    Armのライセンス形態はどうなっているのか AppleはどのIP?
    zyxwv
    zyxwv 2022/02/23
    armv8とかはアーキの種類で、Cortexはそれに基づいてArmが論理設計したCPUのこと。Appleなどはarmv8アーキは採用しているがCortexは使っていない。(物理設計はファウンダリ依存)
  • edk2-platforms/Platform/Qemu/SbsaQemu at master · tianocore/edk2-platforms

    zyxwv
    zyxwv 2022/02/21
    QEMU で SBSA な UEFI を使う
  • edk2-platforms/Readme.md at master · tianocore/edk2-platforms

    zyxwv
    zyxwv 2022/02/21
    aarch64 向けにクロスコンパイルするときは build コマンドを "GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build ..." とする
  • [poky] Fwd: Poky build failure with "Could not invoke dnf" error message.

    zyxwv
    zyxwv 2022/02/18
    dnf でエラーがでる場合は、IMAGE_INSTALL で指定したパッケージ名に対応する rpm がない。tmp/build/rpm 以下を見てパッケージ名を修正する。
  • Linux x86_64のメモリアドレッシング - Qiita

    前述のように、Linuxはセグメンテーションを使いません、x86ではIntelのマニュアルで言うところの「3.2.1 Basic Flat Model」を利用します。また、そもそもx86_64の64bitモードではセグメンテーションが使えません。セグメンテーション機構はLegacy-modeと書かれているので、実行時に指定できるアドレスの範囲より物理メモリのサイズが大きかった8086の名残みたいな機能なのでしょう、きっと。 しかしながら、どのユーザプログラムも他のプロセスがどの部分の物理メモリを使っているか意識したくないので、各プロセスはそれぞれ仮想的なアドレス空間で動作します。ページング機構によって物理アドレスとリニアアドレスのマッピングを管理することで、それを実現しています。 ページングの仕組み メモリをページフレームという一定サイズの領域に分割します。そして、ページフレームとそこに格

    Linux x86_64のメモリアドレッシング - Qiita
    zyxwv
    zyxwv 2022/02/17
    ページマッピングの管理領域は木構造とし必要時に確保してメモリを節約。管理領域へのポインタはCR3レジスタで、これを切り替えることでプロセス毎の空間を切り替える。
  • Kubernetesオペレータのアンチパターン&ベストプラクティス

    CloudNative Days Tokyo 2021の発表資料です。 https://event.cloudnativedays.jp/cndt2021/talks/1207 補足資料 https://git.io/operator-bestpractice

    Kubernetesオペレータのアンチパターン&ベストプラクティス
    zyxwv
    zyxwv 2022/02/17
    カスタムコントローラの役割
  • raspberrypi2 yoctoの開発環境の作成 - みつきんのメモ

    bitbakeでOSイメージを作成してばっかりで、 このOS上で開発する環境を作成していなかった。 このままではyoctoはbitbakeしてOSをSDに書いて終了するものだと思われかねないので、今回はクロスコンパイル環境を作成する。 開発環境の作成方法 yoctoでは開発環境(=toolchain)を作成する方法はいくつか提供されている。 bitbake meta-toolchain bitbake -c populate_sdk bitbake meta-toolchain-qt など。 bitbake meta-toolchain おそらく最もスタンダードな方法。 toolchainと、レシピで用意されたsysrootのインストーラが作成される。 この方法では、bitbakeしたrootfsとtoolchainのsysrootが乖離してしまうため、 別途sysrootを用意する必要が

    raspberrypi2 yoctoの開発環境の作成 - みつきんのメモ
    zyxwv
    zyxwv 2022/02/16
    クロスコンパイル環境のビルドは kas build hoge.yml -c populate_sdk で、できたインストーラを実行。
  • Tuning Xen for Performance - Xen

    Tuning your Xen installation: recommended settings Storage options There are several choices for storage, however it is important to understand that the IO performance inside of the guest depends greatly on the storage option used: LVM: this is probably the simplest way for obtaining good storage IO performance on Linux without much hassle. ZFS ZVOLS: this is a more advanced configuration, and sho

    zyxwv
    zyxwv 2022/02/14
    Xen のパフォーマンスチューニング。Dom0 の vCPU を物理 CPU コアに固定したり、Dom0 に割り当てるメモリを制限したり。ゲストが使うドライバのバックエンドは Dom0 にあるので Dom0 を絞りすぎると悪化する。
  • OS開発に必要なArmアーキテクチャとは part.2 MMUとデバイス取得情報、ブート方法

    Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。OS開発に必要なArmの低レイヤーなプログラミングについて、orumin氏が共有しました。後半はMMUとデバイス取得情報、ブート方法について。 Arch64のMMUとTCR 金津穂氏(以下、金津):次にMMUについて見ていきます。Armの場合、TTBR(Translate Table Base Register)というページテーブルを保持するレジスタが2つありまして、これがIntel 64におけるCR3レジスタとほぼ同等になっています。ここにページテーブルを登録して、実際にページウォークを実行します。 このTTBRですね。ここ「x」って書いてあるんですけど、TTBRはTTBR0とTTBR1があって、それもそれぞれException Level

    OS開発に必要なArmアーキテクチャとは part.2 MMUとデバイス取得情報、ブート方法
    zyxwv
    zyxwv 2022/02/14
    UEFI の一部で規格化されている ACPI では、AML という言語で記載されたデバイス情報をインタプリタが解釈して提供する。
  • Hello UEFI!

    zyxwv
    zyxwv 2022/02/13
    UEFI アプリの作りかた
  • Linux-Kernel Archive: Error message for invalid initramfs cpio format?

    zyxwv
    zyxwv 2022/02/12
    grub でロードできる initramfs の作り方
  • CPUとGPUのマルチスレッディングの違いについて - arutema47's blog

    "Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 記事について 記事はCPUとG

    CPUとGPUのマルチスレッディングの違いについて - arutema47's blog
    zyxwv
    zyxwv 2022/02/11
    GPU のコア数とスレッド数の違い。スレッド数はコア1つが同時に流せる処理の数。メモリIO待ちになったスレッドはすぐに切り替えてコアの使用率を最大にする。
  • [Xen] インストール

    Xenをインストールする方法を紹介します。 OSはUbuntu 12.04 LTSです。 CPUはx86_64です。 $ sudo apt-get install xen-hypervisor-4.1-amd64 i386の場合は、xen-hypervisor-4.1-i386をインストールします。 そして、Xenが有効になったOSを起動するために、リブートします。 $ sudo reboot Xenの情報が表示されるか、確認します。 $ sudo xm info ERROR: Can't find hypervisor information in sysfs! このエラーが出た場合は、Xenが有効になっていません。 以下のように、OSの起動スクリプトを入れ替えます。 $ sudo mv /etc/grub.d/10_linux /etc/grub.d/20_linux $ sudo m

    zyxwv
    zyxwv 2022/02/11
    grub の設定を変更して grub の設定を変える
  • is there any way to rebuild images

    zyxwv
    zyxwv 2022/02/08
    bitbake -c clean <image> もしくは kas build hoge.kas -c clean
  • UEFI のブートプロセスについて

    UEFI とは Unified Extensible Firmware Interface - Wikipedia からの引用です。 Unified Extensible Firmware Interface (ユニファイド・エクステンシブル・ファームウェア・インタフェース、UEFI)はオペレーティングシステム(OS)とプラットフォームファームウェアとの間のソフトウェアインタフェースを定義する仕様である。 UEFI の仕様にはハードウェアの初期化や OS のブートストラップといったものが含まれます。このような処理を行うプログラムとして昔は BIOS がありましたが、UEFI は BIOS の至らない点を踏まえて設計された仕様です。UEFI は最終的に BIOS を置き換えることを目的にしていると思いますが、仕様で 「Evolutionary, not revolutionary」 と表現さ

    zyxwv
    zyxwv 2022/02/06
  • EFI システムパーティション - ArchWiki

    EFI System Partition (ESP とも呼ばれます) は UEFI ファームウェアによって起動される UEFI ブートローダ、アプリケーション、ドライバの格納場所として機能する OS に依存しないパーティションです。UEFI ブートには必須です。 既存のパーティションの確認 例えば Windows 10 のようなオペレーティングシステムがインストールされている UEFI 対応のコンピュータに Arch Linux をインストールする場合、既に EFI システムパーティションがある可能性が非常に高いと言えます。 ディスクパーティションスキームとシステムパーティションを調べるには、起動したいディスクの root で fdisk を使用します: # fdisk -l /dev/sdx このコマンドは以下を返します。 ディスクのパーティションテーブル:パーティションテーブルが GP

    EFI システムパーティション - ArchWiki
    zyxwv
    zyxwv 2022/02/06
    UEFI のシステムパーティションの作りかた
  • ARM64/QEMU - Ubuntu Wiki

    Ubuntu/arm64 can run inside the QEMU emulator. You can either do this fully emulated (e.g. on an x86 host) or, accelerated w/ KVM if you have an arm64 host. This page describes how to do both. I've chosen to describe a UEFI-based system here so I can make use of the kernel on the guest's disk image. It is possible to boot directly into Linux instead. Note: this requires Ubuntu 20.04 or greater Get

    zyxwv
    zyxwv 2022/02/06
    /usr/share/qemu-efi/QEMU_EFI.fd に UEFI のファームウェアイメージがある。
  • GRUB と U-boot の比較 - Qiita

    PC の場合は GRUB を使うことが一般的。 非UEFI BIOS の場合: BIOSが起動 ブートメディアのブートローダー(ハードディスクなどの場合は最初のセクタ)から GRUB ステージ1として boot.img を起動 必要に応じ、GRUB ステージ1.5としてcore.img を起動 ファイルシステムから /boot/grub などの中にある GRUB ステージ 2 を起動 カーネルを起動 UEFIの場合: UEFI が起動 ブートメディアの UEFI システムパーティション 中のEFIアプリケーションとして grub.efi や grubx64.efi などを起動 カーネルを起動 カーネルを起動したあと カーネルとして vmlinuz を起動(bzImage形式の自己解凍ファイル) 初期 RAM ディスクとして initrd ないし initramfs を展開し初期ルートファイ

    GRUB と U-boot の比較 - Qiita
    zyxwv
    zyxwv 2022/02/06
    UEFI はファームウェアでハードベンダが用意するもの。UEFI から GRUB をロードするなど。u-boot はブートローダであってファームウェアではない。
  • uefi

    uefi update 2016-12-29 UEFI (Unified Extensible Firmware Interface) 従来のBIOSに代わるPCの基的なソフトウェア。 2.2TBを超えるHDDを使用したbootが可能になる。 boot速度改善。(シャットダウン時に保存された休止状態ファイ ルからシステムを読み込むことで、高速に起動する) secure boot機能。(認証されたOSしか起動できなくなる) ※UEFIおよびsecure bootが可能なためには下記の条件を満たしていることが必要である。 64bit OSであること。 UEFI 2.3.1 以降であること。 UEFIモードでインストールしてあること。 マザーボードがsecure boot対応していること。 UEFI ブート UEFI対応OSの起動プロセスは・・・ UEFI対応OSでは、従来のMBR(マスターブ

    uefi
    zyxwv
    zyxwv 2022/02/06
    UEFI shell からブートする方法