コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2026年2月9日 >>> 2026年1月27日
link もっと後

2026年2月9日

SSLに対応 - Let's Encrypt

目次: 自宅サーバー

一昨年(2024年2月2日の日記参照)にJPRSドメイン認証型SSLを設定しました。年間990円とお安く使えて良かったのですが、サービス終了してしまうらしく、今月から先の継続ができなくなりました。

後継サービスはJPRSドメイン認証型SSL(自動更新)だと思われますが、特に何も変わってなさそうなのに、なぜか料金が年間2,200円(2.5倍)になっていました。値上げするなとは言わないけど、無言で2.5倍にするのはどうなんだ。嘘でもいいから「こんなに良くなりました」くらい言ってほしい……。

そんなこんなでJPRSのSSLとおさらばしてLet's Encryptに変更しました。無料なうえにボタン1個押すだけなのでめちゃ楽です。とてもありがたいんですけど、Let's Encrypt以外を選択する人って居るんだろうか……?

編集者:すずき(2026/02/09 22:10)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年2月8日

ジャガーさんの修理……のはずが雪

目次:

以前(2025年11月21日の日記参照)、ジャガーさんの左前をぶつけてバンパーをガリガリにしてしまいました。1か月前にいい加減直そうと思い立ち修理の予約をしたところ、予約が混んでいたらしくめちゃくちゃ先の日付になってしまいました。

で、今日はいよいよ修理工場に車を持っていく日でした、が……朝起きたら外は雪で真っ白でした……。ええ、なんで今日に限って雪が降る?

一瞬、頑張れば行けるか……?とも考えましたが、夏タイヤで下手に走って一か所でも凍っていたり積雪があったら終わりですし、事故ったら修理もへったくれもないです。修理工場にお電話して予約キャンセルしました。また予約するしかないな〜。

編集者:すずき(2026/04/07 21:51)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年2月1日

エンジン出力特性は三者三様

目次:

Automobile Catalogue(リンク)という素敵なサイトがありまして、各メーカーの幅広い車種について情報を公開してくれています。すごい。見ているだけで結構楽しいです。

で、公開している情報のなかにはエンジン出力特性も含まれていて、自分が今まで乗ってきた三車種(三菱 FTO GPX、スバル レガシィB4 GT、ジャガー XE S)の情報もありました。この数字を同一グラフにプロット(※)してみたら各車の性格の違いが出ていて面白かったので紹介したいと思います。

(※)本来は情報元のサイトの画像なりリンクを使って紹介すべきですが、グラフの縦軸がかなり違っていて比較しづらかったため、大体の値を拾って打ち込んだグラフを作りました。元の情報が気になる方はAutomobile Catalogueを見てくださいませ。

各車のエンジンの特徴

各車のエンジンはそれぞれFTOがNA、レガシィがターボ、XEがスーパーチャージャーです。もうちょっと詳しく紹介しておくと、こんな感じです。

三菱 FTO 1995: 6A12
V6, 1996cc, NA, DOHC, MIVEC(可変バルブタイミング機構)
スバル レガシィB4 GT AT 2005: EJ20
B4, 1994cc, ツインスクロールターボ, DOHC, AVCS(可変バルブタイミング機構)
ジャガー XE S 2016: AJ-V6(AJ126)
V6, 2995cc, スーパーチャージャー, DOHC, 直噴

一般論では、可変バルブタイミング機構はトルクが落ちる高回転域をカバーするためのものなので、NAかつ可変バルブタイミング装備のFTOが高回転にトルクのピークがくる高回転型エンジン、低速トルクの特性はNA<ターボ<スーチャーと言われますので、XEが低回転にピークがくる低回転型エンジン、レガシィは二者の真ん中と想定されます。

が、しかし実際の出力カーブを見てみるとこんな感じです。トルクのピークが綺麗に別れるのは想定通りですが、想定とちょっと違いました。


FTO、レガシィ、XEのエンジン出力プロット

FTOは想定通り高回転域にトルクのピークが来ます。これは乗っていた時の感覚とも一致しています。上まで回る爽快なエンジンでしたが、回さないときの加速感はあまりなかったです。

一方のターボなレガシィは低回転域にトルクを振っていて、スーチャーなXEは中回転域にトルクを振っているようでした。乗った感じだとレガシィとXEのトルクカーブの山の位置は逆のイメージだったので意外です。素人の感覚は当てになりませんねえ……。

編集者:すずき(2026/02/02 23:17)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2026年1月29日

shebangの役割 - カーネル側

目次: Linux

前回(2026年1月23日の日記参照)はshebang(ファイル先頭で#!から始まるおまじない)がカーネルにインタプリタを指定する役割があって、間違っているとshebangとして認識されずにexecveシステムコールが失敗することを示しました。

今回はexecveが失敗する理由を追ってカーネル側のコードを見ようと思います。調査に使ったのはlinux-5.15です。このバージョンを選んだ意味は特にないです。そんなに変わる部分でもないし、どのバージョンでもほぼ一緒だと思います。

スクリプト実行形式をカーネルに登録するのは下記の部分です。

実行形式を登録するコード

// linux/fs/binfmt_script.c

static struct linux_binfmt script_format = {
	.module		= THIS_MODULE,
	.load_binary	= load_script,
};

static int __init init_script_binfmt(void)
{
	register_binfmt(&script_format);
	return 0;
}

このregister_binfmt()関数は、カーネル内部にあるformatsリストに引数に渡したstruct linux_binfmtを追加するだけです。あとでexecveシステムコールの処理内でこのリストを頭からサーチする処理が出てきます。

スクリプト形式以外にはa.out(fs/binfmt_aout.c), ELF(fs/binfmt_elf.c), FLAT(fs/binfmt_flat.c)形式などが登録されています。

execveが失敗する箇所

次はexecveシステムコールを見ていきます。アーキテクチャ依存部分を除くと、こんな経路を辿ってやってきます。

スクリプトの実行関数までの呼び出し経路
do_execve()
  do_execveat_common()
    bprm_execve()
      exec_binprm()
        search_binary_handler()
          load_script()

呼び出し経路が深いので全部紹介はできないですけど、execveがエラーになる原因は最後のload_scriptを見るとわかります。

shebangをチェックしている部分

// linux/fs/binfmt_script.c

static int load_script(struct linux_binprm *bprm)
{
	const char *i_name, *i_sep, *i_arg, *i_end, *buf_end;
	struct file *file;
	int retval;

	/* Not ours to exec if we don't start with "#!". */
	if ((bprm->buf[0] != '#') || (bprm->buf[1] != '!'))
		return -ENOEXEC;

//...

ファイルの内容が入っているbprm->bufの1文字目と2文字目が#!であることをチェックしています。読み飛ばす処理は一切なく、#!以外の文字があると必ず失敗する実装になっています。わかりやすいですね。

以上のようにshebangが間違っているとexecveシステムコールが失敗します。しかし世の中のシェルは救済措置を持っていて、shebangが間違ったスクリプトでも実行できてしまいます。次はdashを例にシェル側のコードを紹介したいと思います。

前回UNIX shなどの処理についてコメントもらった話と一緒になってしまいますけど、気にしないでください。

編集者:すずき(2026/02/02 19:22)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2026年2月9日 >>> 2026年1月27日
link もっと後

管理用メニュー

link 記事を新規作成

<2026>
<<<02>>>
1234567
891011121314
15161718192021
22232425262728

最近のコメント5件

  • link 26年7月14日
    hdkさん (07/22 08:37)
    「冷却水漏れなんて、修理するまでは補充して...」
  • link 26年1月23日
    すずきさん (01/29 09:48)
    「おおー、そんな昔からなんですね。歴史感じ...」
  • link 26年1月23日
    hdkさん (01/27 19:53)
    「#! はUNIX v8からだったってWi...」
  • link 24年12月9日
    すずきさん (01/18 15:45)
    「Thank you for your i...」
  • link 24年12月9日
    Up2Uさん (01/15 12:57)
    「Hi I also find the p...」

最近の記事20件

  • link 23年5月15日
    すずき (07/22 03:04)
    「[車 - まとめリンク] 目次: 車三菱 FTO GPX '95の話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替え...」
  • link 26年7月22日
    すずき (07/22 03:04)
    「[ジャガーさんの冷却水漏れの修理見積もり] 目次: 車先週、冷却水がほぼなくなってしまい修理工場にレッカーしたジャガーさんです...」
  • link 26年7月14日
    すずき (07/22 02:37)
    「[ジャガーさんの冷却水漏れ] 目次: 車朝、出勤しようと思ってエンジンをかけたところ冷却水不足と表示されました。わぁ、ついに出...」
  • link 26年7月19日
    すずき (07/20 04:04)
    「[ゲームを買ったら遊びましょう4] 目次: ゲーム前回の振り返り(2025年12月22日の日記参照)から半年経ちました。Swi...」
  • link 21年12月28日
    すずき (07/20 04:03)
    「[ゲーム - まとめリンク] 目次: ゲームNintendo DSを買ったパネルでポンDS最近の朝はパネポンDS聖剣伝説DSチ...」
  • link 26年7月13日
    すずき (07/19 23:33)
    「[Flightradar24のcontributorになる方法] 目次: 自宅サーバーADS-Bを受信できる環境があればFli...」
  • link 23年6月1日
    すずき (07/19 23:31)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 23年9月11日
    すずき (07/15 12:18)
    「[Windows - まとめリンク] 目次: WindowsWindows XPのブリッジ機能colinuxとWindowsの...」
  • link 25年1月31日
    すずき (07/15 12:18)
    「[Windowsの日本語フォントはみな長生き] 目次: WindowsGNOME48からフォントが変わるニュースを見ていて、フ...」
  • link 26年7月11日
    すずき (07/12 01:26)
    「[Timberborn、トロフィーコンプ] 目次: ゲームTimberbornのトロフィーをコンプリートしました。アーリーアク...」
  • link 24年2月7日
    すずき (07/11 13:05)
    「[複数の音声ファイルのラウドネスを統一したい] 目次: PythonPCやデジタル音楽プレーヤーで音楽を聞いていると、曲によっ...」
  • link 26年6月27日
    すずき (07/08 01:45)
    「[ジャガーさんのバンパー修理] 目次: 車以前(2025年11月21日の日記参照)、ジャガーさんの左前をぶつけてバンパーをガリ...」
  • link 26年7月3日
    すずき (07/08 00:42)
    「[ADS-Bを受信して飛行機の位置を見よう] 目次: 自宅サーバー空を飛ぶ飛行機は離陸直後や着陸寸前でもない限り飛んでいる姿は...」
  • link 26年7月1日
    すずき (07/04 02:37)
    「[GPSは世界一正確な時計、その3 - ntpsecとgpsd] 目次: 自宅サーバー以前(2015年5月8日の日記参照)、G...」
  • link 26年6月26日
    すずき (07/03 05:23)
    「[ジャガーさんの不思議なシフト] 目次: 車ジャガーXE(前期型)はシフトがダイヤル型になっていて、P, R, N, D, S...」
  • link 20年2月22日
    すずき (06/26 02:03)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
  • link 26年6月18日
    すずき (06/26 02:02)
    「[ZephyrのOut-of-treeアプリケーションその6 - シリアル出力] 目次: Zephyr前回はシリアルに文字を出...」
  • link 26年6月23日
    すずき (06/26 01:27)
    「[ANA国内線予約サイトが悲惨なことに] 4月くらいにANAの国内線予約サイトが国際線と共通のクラウドシステム(Amadeus...」
  • link 26年6月11日
    すずき (06/26 01:10)
    「[ZephyrのOut-of-treeアプリケーションその5 - OpenOCDとGDBで実行] 目次: Zephyr前回Ze...」
  • link 26年4月29日
    すずき (06/24 01:10)
    「[ぽこあポケモンをクリア] 目次: ゲーム1日だけやって放置していたぽこあポケモンをクリア(=スタッフロールが流れるイベントを...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 2026年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 07/22 08:37