2024年06月13日

一日一項目 こういう本 なあぁにぃぃみつけちまったな

SystemCallで知るのである。OSの仕組みを知る手がかりを得るのである。どーたら・こーたらなのである。
レジスタに値を設定し、CPUの特権レベルを変更し、割り込みで処理に飛ぶ。基本はそこらしい。SystemCallの説明としては次のような構成だ。

#include いろいろ必要なもの
int main(){

    各種変数定義 ;     //型名とかは構造体にあるらしい
    if(何らかのシステムコール() < 0){
        perror(“何らかのシステムコール”);
        return 1 ; // エラーならやーーめたっと
    }
    //  エラーなしなので 何らかの処理を書く
    何らかの処理 ;

    return 0;
}
  このような構成で一つのSystemCallの例題が書かれている。この本は出版社サイトから例題をdownloadできるサービスがないので写経ですね。敬虔なクリック教徒のワタクシにはひっどいわあ(笑)

てなわけで、なるほどなあ。cp, mkdir, touch等のコマンドは結局はSystemCall使って実現できいるのかあぁぁぁ(全部ではないが)
ということは理解した。そして、本のたくさんの例題はほとんど写経して動作を見た。DELL OPTIPLEX 7010SFF Win 11 23H2(非推奨PC)の WSL2 でのUbuntuのBashで。

そしてCの標準ライブラリも結局はSystemCallを使っているのであればコードを見てみるかいな・・・・と思って
#include <stdio.h>  だぜ。その stdio.h を探して秀丸で開いてビックラこんこん!!

MinGW傘下の stdio.h だがな。きっと printfとか scanf とかあるだろさ~。 1100行ぐらいですなあ。。。。わっはっは。 読めるかパカタレ!  
というわけで ワタクシには太刀打ちできませぬであーーーーた(´・ω・`)

#ifndef __USE_MINGW_FSEEK
/* If this option has been selected, an alternative emulation for _fseeki64()
  * is provided later, to ensure that the call is wrapped in a MinGW specific
  * fseek() handling API.
  */
int __cdecl __MINGW_NOTHROW __mingw_fseeki64 (FILE *, __int64, int);
__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _fseeki64 (FILE *__f, __int64 __o, int __w)
{ return __mingw_fseeki64 (__f, __o, __w); }
#endif

こんな感じのがズラズラズラズラズラズラ・・・・・・やつの頭は ずら (笑)
アンダースコアが2つ続くってのは意味があるのだろか。特別の。

Ψ ですう。

つまり、お手上げ ですわ。どこでSYstemCall使っているのかもワカラン。ま~こんなレベルだわす。
浅学非才!! 不勉強が身に染みる ------  自らの愚脳をいつの日か克服したいものである。どや。

Thumbs down

posted by toinohni at 09:34| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください