問題タブ [boot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
operating-system - ブートローダーの背後にある理論
osdev からいくつかのブートローダーをダウンロードし、カーネルを正常にロードしました。しかし、今はブートローダーの背後にある理論を学びたいと思っています。システムが起動する理由と、ブートローダー コードの背後にあるすべてを知りたいです。リンクまたは書籍へのリンクを教えてもらえますか? 前もって感謝します。システムはx86です。
boot - 電源を入れてから Windows が起動するまでの時間を調べる方法はありますか
電源を入れてからWindowsが起動するまでの時間を教えてください。これを遡及的に決定する方法はありますか (つまり、ウィンドウが起動したら)? BIOS/CMOS は最後の起動時間を保持していますか? RDTSC から、マシンがどれくらいの時間実行されているかを確認し、Windows の起動時間を差し引くことはできますか?
c - USBポートからOS(XV6)を起動する
教育用のミニOSであるXV6で演習を行っています。USBポートからOSを起動するためのパッチを作成したいと思います。MBRをUSBディスクに入れる必要がありますか?しかし、私が知っているように、USBディスクフラッシュの最初のセクターは不良ブロックに関するいくつかの情報を保存しています。ワット・ショウド?:(
USBコアが大きなプログラムであることを知っています。USBから起動したい場合、BIOSはUSBプロトコル全体またはその一部をサポートする必要がありますか?
boot - ルートファイルシステムが RAM ディスクにロードされるのはなぜですか?
Linuxでのブートプロセスを勉強しています。「RAMはフロッピーディスクより数桁速いので、システム操作はRAMディスクの方が速い」という文に出くわしました。
とにかく、カーネルはルートファイルシステムを RAM にロードして実行します。では、カーネルがルート ファイル システムを RAM にロードする場合、なぜルート ファイルシステムをロードするために ramdisk が必要なのでしょうか?
android - Android ドライバー モジュールの起動
i2c 加速度計用のハードウェア ドライバーを beagleboard-xm に実装したいのですが、起動時にロードするようにしたいと考えています。モジュールをコンパイルするのに役立つリソースがウェブ上にたくさんありますが、起動時にモジュールをロードする方法についての情報を見つけるのに苦労しています。
2 つの初期化スクリプトがあるようです。
- ルートディレクトリのinit.rc
- system/etc の init.goldfish.rc
このページでは、カスタム初期化を実行するために init.rc スクリプトを記述するプロセスについて説明します: http://source.android.com/porting/bring_up.html
以前の調査から、system/etc の init.goldfish.rc はカスタム ボードのロード用であると確信しています。ここで、goldfish を /proc/cpuinfo のハードウェアの名前に置き換えます。
これら 2 つのスクリプトを調べて、起動時に他のモジュールがどのようにロードされたかを確認しましたが、ロードされているのはコンソールだけです。ここで何かが足りない気がします。モジュールを検出してロードするために uevent が使用されていますか? もしそうなら、それらのueventsのトリガーは何ですか?
どんな助けでも大歓迎です。
デイブ
python - Macの起動時に実行するPythonスクリプトを取得する
コンピュータが起動するたびに Python スクリプトを実行するにはどうすればよいですか?
kernel - DのOSカーネル:一部の埋め込み文字列が機能しない
これは答えるのがかなり難しい質問だと思います。主な理由は、間違っている可能性のあるものが非常に多く、特定するのが難しいためです。しかし、私はできるだけ多くの情報を提供します。うまくいけば、それが役立つでしょう。
私はD言語とDigitalMarsDコンパイラを使用して独自のカーネルを書き始め、再配置可能なフラットバイナリを生成する方法を見つけるのに多くの問題を抱えた後、最終的に通常のPEファイルを生成するというアイデアを思いつきました。アドレス、およびそのすべてのヘッダーをバイト(NOPオペコード)0xC0000000
に置き換えます。0x90
これは完全にうまく機能し、16ビットアセンブリベースのブートローダーの助けを借りて、画面に物事を書き込んだり、ページングを設定したり、プロテクトモードに入るなどを完全にうまく行うことができました。
すべてが順調でした。つまり、カーネルで使用するためにDランタイムライブラリを移植することにしました。ライブラリのサブセットを抽出し、それを変更してアプリにコンパイルできるようにしました。次に、プログラムを実行しました。(注:ライブラリをまったく使用しませんでし た。私のコードは、起動後に実行される最初のコードでした。最初に発生したのは画面への印刷であり、その前にランタイムコードは呼び出されませんでした。)"Kernel"
AD配列(したがって、文字列は単なるaであるため、文字列char[]
)は、ポインタとサイズメンバーを持つ構造体にすぎないため、32ビットシステムでは8バイトの大きさになります。面白いことに、プログラムを実行すると、構造体のメンバーがゼロであることがわかりました。つまり、ポインターとサイズの両方がゼロでした。(ポインターの値と長さのメンバーを画面に出力することでこれを確認しました。どちらもゼロでした。)ランタイムのソースコードを削除するとすぐに(とにかく実行されませんでした)、正常に機能しました。 。
これを2つの可能性に絞り込みました。
スタックが正しく設定されていませんでした。ランタイムライブラリがなくてもすべてが正常に機能するため、これを除外し、ファイルを逆アセンブルして、コードの前に他のコードが実行されていないことを確認しました。
PEファイルセクションに何かおかしいことがあります。実行時のバージョンに2つのTLS(スレッドローカル)変数があることを確認しました。案の定、(スレッドローカルではなく)共有させたところ、コードは機能しました!ただし、別のファイルで記述したコードを呼び出したときに、コードで同じ問題が発生しました
kernel.d
。スタートアップファイルである、のみが文字列で正しく動作しました。他のファイルでは、配列は再びゼロになりました。
さて、なぜこれが起こっているのかについて誰かが推測していますか?
さらに情報が必要な場合は、喜んで投稿します。
ありがとうございました!
android - Hello-WorldグレードのランドスケープAndroidアプリが起動しない(完全なコードが含まれています)
ランドスケープモードで修正されたシンプルなAndroidアプリを開発しようとしています。私はEclipse1.3を使用しており、Android SDKバージョン7(OSバージョン2.1)用にコンパイルしています。エミュレータで実行しようとすると、起動時にクラッシュします。(ロック解除スライダーまで到達しますが、その直後にアプリケーション自体を起動しようとすると、「アプリケーションの失敗テスト(プロセスcom.wcs.failtest)が予期せず停止しました。再試行してください。」というメッセージが表示されます。)
これがmain.xmlです(タグがエスケープされているため、これは正しく表示されます):
これがAndroidManifest.xmlです(ここでもタグがエスケープされているため、これは正しく表示されます):
そしてここにFailtestActivity.javaがあります:
それは私が見落としている単純なものだと思います。それは何ですか?
android - Android 2.2: 起動時にアプリケーションを自動起動する問題
BroadCastreciever を拡張するクラスを作成しました。起動時にメインクラスを実行したいのですが、デバイスを起動すると「強制終了」メッセージが表示され続けます。問題は「YourActivity.class」にあると思います。
「TestMain.class」(メイン クラス名) と「com.test.Testmain.Class」を試しました。私は何か見落としてますか?
ありがとう
c# - 再起動時にアプリを起動すると、数秒後に MyApp がクラッシュします
Windows 7 で実行していますが、起動時にアプリに問題があります。アプリ内で、いくつかのスレッドと外部 dll (sqlite3.dll など) を使用します。start.exe ファイルの最初に次の行を含めました。
exe ファイルから (または VisualStudio を使用して) 手動でアプリを起動すると、正しく動作します。再起動時にアプリを起動すると、数秒後に MyApp がクラッシュします。
なぜ私はこの問題を抱えているのですか?
編集:クラッシュログを添付しました: