はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Pixel 10

『qiita.com』

  • 人気
  • 新着
  • すべて
  • Ubuntu系OSのinit - Qiita

    3 users

    qiita.com/akachochin

    はじめに Ubuntu系OSのinitについて知りたくなり、実装を調べました。調査に使ったディストリビューションは、Linux Mint 21です。このディストリビューションは、Ubuntu 22.04をベースにしています。この記事は、以下のカーネルバージョンを前提とします。 fyoshida@fyoshida-desktop:~$ uname -a Linux fyoshida-desktop 5.15.0-48-generic #54-Ubuntu SMP Fri Aug 26 13:26:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux initramfs内のinitを調べる initramfsイメージの展開 まず、initramfsイメージを展開しましょう。展開には、unmkinitramfsを使います。使い方は、ここ を参照ください。

    • テクノロジー
    • 2022/12/18 23:07
    • techfeed
    • Linux
    • Linuxカーネルがx86 microcodeを扱う処理について - Qiita

      30 users

      qiita.com/akachochin

      はじめに お久しぶりです。@akachichonです。 さて、当初はルートファイルシステム周辺に関する記事を書こうとしましたが色々あり、今回はマイクロコードアップデートについて書きました。 なお、引用したソースコードもしくは確認に使った環境は、「Ubuntu Server 19.10」です。 Ubuntu Server19.10のソースコード取得方法については、補足「Ubuntu Linuxのカーネルソースコード取得方法」を参照してください。 ルートファイルシステムイメージについて Ubuntu Server19.10のルートファイルシステムイメージは、/boot/initrd.img-5.3.0-24-genericです。ルートファイルシステムイメージはUbuntuに限らず、多くのLinuxディストリビューションで共通だと思います。 さて、中身を確認しましょう。ルートファイルシステムイメ

      • テクノロジー
      • 2019/12/21 20:11
      • linux
      • あとで読む
      • cpu
      • techfeed
      • PC
      • stop_machine()の実装を読む - Qiita

        9 users

        qiita.com/akachochin

        お久しぶりです。 @satoru_takeuchi さんのシステムを一時的に停止させるカーネルモジュールという良い記事を見つけました。 仕事でソースあさっていたとき、stop_machine()を見つけてちょっと厨二病くすぐられたけど、進捗に追われて「後で読もう」のままになってたのを思い出しました。 興味がわいたので、読んでみることにしました。なお、Linuxカーネルのバージョン5.0.13のソースを読み、引用しています。 stop_machine()の実装概要とデータ構造 stop_machine()に関連するデータ構造はおおよそ以下の通りです。以下worksはキューで、stop_machine()に実行させたい処理および関連する各種パラメータをworkに詰めてキューイングします。 そして、CPUごとに存在するスレッドがworksキューからworkを取り出し、stop_machine()

        • テクノロジー
        • 2019/05/09 22:55
        • linux
        • Linuxのシステムコール再実行について - Qiita

          29 users

          qiita.com/akachochin

          # ifdef CONFIG_X86_64 __visible void do_syscall_64(unsigned long nr, struct pt_regs *regs) { struct thread_info *ti; enter_from_user_mode(); local_irq_enable(); ti = current_thread_info(); if (READ_ONCE(ti->flags) & _TIF_WORK_SYSCALL_ENTRY) nr = syscall_trace_enter(regs); /* * NB: Native and x32 syscalls are dispatched from the same * table. The only functional difference is the x32 bit in * regs-

          • テクノロジー
          • 2018/12/24 19:54
          • kernel
          • linux
          • システム
          • あとで読む
          • qiita
          • 資料
          • プログラミング
          • initramfsについて - Qiita

            28 users

            qiita.com/akachochin

            久々のQiita投稿がAdvent Calendarになった@akachochinです。異分野のソフトエンジニアから質問されたこと、個人的に不明瞭な箇所を調べてみたかったことがあり、今回はinitramfs周りの実装の基本的な部分をまとめました。 このあたり、地味ですが、知っていると評価用ボードでとりあえずのLinux環境を構築できたり、意外と有用です。 なお、ソースコードを引用したLinuxのバージョンは4.12.7, アーキテクチャは断りのない限り、amd64もしくはi386です。 initramfsとは initramfsの説明 Documentation/filesystems/ramfs-rootfs-initramfs.txt に概要が書かれています。 日本語訳もあります。このドキュメントはinitramfsを知るためには必読だと思います。 面倒くさい方のために(笑)、かいつま

            • テクノロジー
            • 2017/12/17 13:04
            • initramfs
            • linux
            • Saved For Later
            • Linuxでのpage構造体群の配置 - Qiita

              9 users

              qiita.com/akachochin

              何回か「あれどうだっけ?」と調べるのが面倒なのと、記憶力あまりないので、メモ。(おじさん、記憶力あまりないもんで) 読んだソースはLinux4.10ですが、本質的なところは過去のバージョンでもたぶん変わらないのではないかと思います。 Linuxのメモリモデル 「物理RAM空間の連続性」に着目すると、「物理的に連続していたフラットなRAM空間」と「物理的に非連続なメモリホールのあるRAM空間」(例えばx86)に分類できます。 Linuxにおいて、ページ構造体を配置する方式は、4通りあり、カーネルコンフィグで指定します。概要は以下の表のとおりです。 定義名 物理RAM空間はフラット? 概要/備考

              • テクノロジー
              • 2017/03/26 08:24
              • Linux
              • Saved For Later
              • Linuxのユーザプロセスのメモリマップについて - Qiita

                15 users

                qiita.com/akachochin

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                • テクノロジー
                • 2017/01/11 21:10
                • memory
                • kernel
                • linux
                • Saved For Later
                • seqファイルシステムについて - Qiita

                  9 users

                  qiita.com/akachochin

                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                  • テクノロジー
                  • 2017/01/03 22:57
                  • Saved For Later
                  • linux
                  • VDSO(arm)の実装をちょっと調べてみました - Qiita

                    10 users

                    qiita.com/akachochin

                    vdsoとは "vDSO" (virtual dynamic shared object; 仮想動的共有オブジェクト) という共有ライブラリです。 目的は、頻繁に呼び出されるシステムコールをカーネル空間に切り替えることなくユーザ空間で処理させることにより性能を向上させることが目的です。 代表的な使用例は、gettimeofday()です。 詳細は、Linuxのmanページを見てください。 例えば・・・以下のように、lddコマンドで適当なバイナリの依存ライブラリを確認すると、linux-vdso.so.1は具体的なファイルでなく、それが存在するアドレスのみが表示されます。ちょっと特殊ですね。 % ldd /usr/games/sl linux-vdso.so.1 => (0x00007ffd58df1000) libncurses.so.5 => /lib/x86_64-linux-gnu/

                    • テクノロジー
                    • 2016/12/22 23:43
                    • Linux
                    • Linuxの「BSD process accounting」とは - Qiita

                      4 users

                      qiita.com/akachochin

                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                      • テクノロジー
                      • 2016/08/16 00:30
                      • ArduPilot with Linux その1 - Qiita

                        3 users

                        qiita.com/akachochin

                        Ardupilotについて 1年ほど前に、ドローンのフライトコントローラ周りのOSSプロジェクトについてという記事を書きました。 その中で、Ardupilotというオープンソースプロダクトについて言及し、以下の図を載せました。 現在でも、ユーザプロセスやライブラリ、HAL、OSといったフレームワークの基本的構造は変わりません。 しかし、変わったことがあります。 それは、HALで抽象化の対象となるOSにLinuxも加わったということです。つまり、Linux + Ardupilotでドローンのフライトコントローラを制御できるようになったことである。 OS好きとして、Linuxをどう使っているのか非常に興味の湧くところです。また、Nuttx以外にもサポートされているOSもあるようです。こちらも興味がありますね。 Ardupilotの概要が書かれた資料はないの? まず、ArdupilotのWeb

                        • テクノロジー
                        • 2016/07/18 23:19
                        • vimで一時的に文字コードを変換するには - Qiita

                          5 users

                          qiita.com/akachochin

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                          • テクノロジー
                          • 2016/07/08 10:29
                          • Linuxのバッテリードライバの実装について - Qiita

                            5 users

                            qiita.com/akachochin

                            Advent Calendar6日目です。はい。 どうもです。最近カーネルソースリーディング不足気味のakachochinです。 昨日は部屋の片付けなどで現実逃避家の用事どっぷりでした。そんなことより、Advent CalendarなんだからLinuxの話しろって?ごもっともです。 最近Power Managementのソースを読むことが多いのですが、その中でお手軽に読めそうなネタを見つけたので、お気楽に読んでみます。 バッテリー ノートPCのようにバッテリーが搭載されているマシンでLinuxを動かした場合、/proc/acpi/batteryの下および/sys/devices/[ユーザ環境依存ディレクトリ]/power_supply/BAT0/alarmといったファイルがあります。 これらのファイルは、バッテリーの状態が読めるファイルであったり、alarm機能の設定をするためのファイルで

                            • テクノロジー
                            • 2015/12/06 17:44
                            • ドローンのフライトコントローラ周りのOSSプロジェクトについて - Qiita

                              11 users

                              qiita.com/akachochin

                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #1.はじめに ドローンのフライトコントローラを開発するオープンソースプロジェクトについてよくわからなかったので調べてみた。色々と誤解しやすいポイントや情報不足があったので、備忘録として書いてみた。 有力なプロジェクトには、「Dronecode」、「APM/Ardupilot」、「PX4/Autopilot」の3プロジェクトが存在する。 それぞれの公式サイトを見ると、これら3つのプロジェクトが互いに関係しているかのように見受けられるが、その関係が非常にわかりづらい。 例えば、PX4/AutopilotではPixhawkというハードウェア

                              • テクノロジー
                              • 2015/08/28 09:12
                              • ドローン
                              • 「OSSエンジニアのための(はじめての!)ドローン勉強会」 - Qiita

                                6 users

                                qiita.com/akachochin

                                アメリカでは大学で無人(というより遠隔)操縦するためのパイロットを育成している。 FAAという政府機関からライセンスを受ける。一度全部ドローンを禁止した上で、政府機関限定で許可。民間ビジネス利用は2015/9/30以降とのこと。 ここで、無人機は航空機と同様の扱いとしていることに注意。つまり、管制がしゃべっている言葉を理解し、場合によっては回避行動などが必要となる。 Amazonがセスナの免許所有者を採用していることは有名らしい。 さらに、副操縦士も必要。例えば操縦士がトイレに行くことを想定すればわかる。 日本は、模型飛行機という扱い故に航空法で飛行範囲に大きな縛りを受ける。さらに場合によっては条例の縛りも加わる。 歴史的な経緯から、倶楽部(民間団体)前提。ドローンは航空機でないので、航空法上の飛行許可はされない。 さらに、電波法の縛りもある。例えば、Youtubeに動画をアップして再生す

                                • テクノロジー
                                • 2015/06/15 21:57
                                • Drone
                                • Linux Power Management実装ちょっと読んでみる(もくもく会の記録) - Qiita

                                  5 users

                                  qiita.com/akachochin

                                  この間、Linuxもくもく会に行ってきました。 2点後悔しました。晩飯を事前に食べておけばよかったという点がひとつ、もうひとつはもっとバッテリーの持ちが良いノートPCを買うべきです。 MBA持つ人が増えつつあるのもわかります...。 まあ、それは措いて。もくもく会でソース読んだ記録を残します。 ACPI周り 組み込みとかでこのあたりに関わった人は、色々と面倒なことになります(笑)。ちょっとバグるとストールする、まさにスペランカーのような世界が展開されます。 私は職業柄NetBSDがメインですが、Linuxはどうなってるのかなー、と気になった次第。 キーワードで思いつくのは...Power Managementモードの一つ、S3 Stateをキーワードにソースの在り処を探ってみます。 eria@eria-thinkpad:~/source/linux-3.19 % grep -rIi "S3

                                  • テクノロジー
                                  • 2015/03/14 00:31
                                  • ACPI
                                  • kernel
                                  • linux
                                  • Linuxのunlocked_ioctlとcompat_ioctlの違い - Qiita

                                    5 users

                                    qiita.com/akachochin

                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                    • テクノロジー
                                    • 2014/12/22 08:50
                                    • linux
                                    • Linux(x86-32bit)のページフォルトハンドラを読んでみる(その7) - Qiita

                                      3 users

                                      qiita.com/akachochin

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                      • テクノロジー
                                      • 2014/10/10 11:04
                                      • Linux
                                      • プログラミング
                                      • programming
                                      • あとで読む
                                      • Linux(x86-32bit)のページフォルトハンドラを読んでみる(その1) - Qiita

                                        5 users

                                        qiita.com/akachochin

                                        今回やること 前回はmmap()をざっくり読んでみました。 その際に以下のように書きました。 ここまで見たとおり、アドレス空間のマップと同時に物理ページを割り当てている様子はありません。 ユーザ空間であればそれはごく普通のことです。それは、デマンドページングというやつでしょう。 この場合、実際に物理メモリを割り当てるのは、ページフォルトハンドラとなるはずです。 そこで今回はページフォルトハンドラを見て、Linuxの仮想記憶をもう少しだけ深く知ってみましょう。 ただ、ページフォルトハンドラは長いです。なので何回かに分けて書いてみます。 ページフォルトハンドラはどこにあるのか ハンドラの名前に「fault」が含まれると思われるので、arch/x86の下をgrepします。 検索結果を漁ると、以下の関数が見つかります。 dotraplinkage void __kprobes notrace do

                                        • テクノロジー
                                        • 2014/08/31 21:20
                                        • kernel
                                        • linux
                                        • Linuxのmmap()を通して、アドレス空間の扱いを垣間見る - Qiita

                                          91 users

                                          qiita.com/akachochin

                                          近況 飲んで帰ってきて、気づいたらこんなの書いていました。 ちょっと具体性に乏しいので、もう少し後でパッチを書きます。 (でも、明日は会社の歓迎会で飲んでくるのだ) 前回のあらましと今回見るところ 前回、仮想アドレスと物理アドレスの紐付けをする処理とそのデータ構造のページテーブルを見ました。 そして、今回はユーザ空間へのアドレス空間マップを行うmmap()を見ることで、仮想アドレス空間の扱いの一端をかいま見てみましょう。 mmapの実装 mmapは以下の実装である。 (厳密に言うと、システムコールのベクタではないので「システムコールの開始地点」ではない) asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *arg) { struct mmap_arg_struct32 a; if (copy_from_user(&a, a

                                          • テクノロジー
                                          • 2014/08/28 21:51
                                          • linux
                                          • mmap
                                          • kernel
                                          • c
                                          • メモリ管理
                                          • Programming
                                          • いつか理解したい
                                          • memory
                                          • プログラミング
                                          • https://qiita.com/akachochin/items/248431b5038197763f08

                                            3 users

                                            qiita.com

                                            • 暮らし
                                            • 2014/08/28 00:34
                                            • プログラマ
                                            • Linuxの仮想 - 物理アドレスと、カーネル空間の概要(その2) - Qiita

                                              5 users

                                              qiita.com/akachochin

                                              struct page *vmalloc_to_page(const void *vmalloc_addr) { unsigned long addr = (unsigned long) vmalloc_addr; struct page *page = NULL; pgd_t *pgd = pgd_offset_k(addr); /* * XXX we might need to change this if we add VIRTUAL_BUG_ON for * architectures that do not vmalloc module space */ VIRTUAL_BUG_ON(!is_vmalloc_or_module_addr(vmalloc_addr)); if (!pgd_none(*pgd)) { pud_t *pud = pud_offset(pgd, addr

                                              • テクノロジー
                                              • 2014/08/25 00:15
                                              • Linuxの仮想 - 物理アドレスと、カーネル空間の概要 - Qiita

                                                9 users

                                                qiita.com/akachochin

                                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                • テクノロジー
                                                • 2014/08/22 22:21
                                                • linux
                                                • cgroupsとメモリ資源と関係を勉強する前に、Linuxの仮想記憶周りを読む... - Qiita

                                                  55 users

                                                  qiita.com/akachochin

                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                  • テクノロジー
                                                  • 2014/08/11 08:41
                                                  • linux
                                                  • cgroups
                                                  • fork
                                                  • CPU
                                                  • メモリ
                                                  • cgroup
                                                  • プロセス
                                                  • cgroupsを全く知らないところから、正味一時間ちょいでソースから雰囲気つかむ - Qiita

                                                    12 users

                                                    qiita.com/akachochin

                                                    cgroupについてのドキュメントについて(+雑談) Wikipediaに載っており、Documentation/cgroups の下にもいっぱいドキュメントがあるのでそれを見れば良いのだろうが、やはりソース読んでみてなるほど感を得てみたいなと思い、先日秋葉原でやったLinuxもくもく会に出席しました。 自分は飯食っていなかったので21:30くらいで断念しました(食ってくればよかった)が、みんなでもくもくとソース読むのはとても集中できますし、雑談も自然と低レイヤなネタになりがちでそれが楽しく、愉悦です。 それはおいておいて さすがに、cgroupsを実現するための全てのコード読むのは途方もない(多岐にわたる)し、現実的でありません。 ふと見ると、cgroupsにはプロセスIDの割り当てにも絡んでいるだろうことがわかります。 そこで、まずはプロセスID割り当て箇所に絞り、雰囲気を掴んでみるこ

                                                    • テクノロジー
                                                    • 2014/07/27 00:36
                                                    • kernel
                                                    • linux
                                                    • cgroup
                                                    • findコマンドで複数拡張子を指定して、コマンドを実行する - Qiita

                                                      5 users

                                                      qiita.com/akachochin

                                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                      • テクノロジー
                                                      • 2014/07/25 11:31
                                                      • UNIX

                                                      このページはまだ
                                                      ブックマークされていません

                                                      このページを最初にブックマークしてみませんか?

                                                      『qiita.com』の新着エントリーを見る

                                                      キーボードショートカット一覧

                                                      j次のブックマーク

                                                      k前のブックマーク

                                                      lあとで読む

                                                      eコメント一覧を開く

                                                      oページを開く

                                                      はてなブックマーク

                                                      • 総合
                                                      • 一般
                                                      • 世の中
                                                      • 政治と経済
                                                      • 暮らし
                                                      • 学び
                                                      • テクノロジー
                                                      • エンタメ
                                                      • アニメとゲーム
                                                      • おもしろ
                                                      • アプリ・拡張機能
                                                      • 開発ブログ
                                                      • ヘルプ
                                                      • お問い合わせ
                                                      • ガイドライン
                                                      • 利用規約
                                                      • プライバシーポリシー
                                                      • 利用者情報の外部送信について
                                                      • ガイドライン
                                                      • 利用規約
                                                      • プライバシーポリシー
                                                      • 利用者情報の外部送信について

                                                      公式Twitter

                                                      • 公式アカウント
                                                      • ホットエントリー

                                                      はてなのサービス

                                                      • はてなブログ
                                                      • はてなブログPro
                                                      • 人力検索はてな
                                                      • はてなブログ タグ
                                                      • はてなニュース
                                                      • ソレドコ
                                                      • App Storeからダウンロード
                                                      • Google Playで手に入れよう
                                                      Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                      設定を変更しましたx