
No.4ベストアンサー
- 回答日時:
OSが開発されていないという前提のあたり新規開発されたCPUでのブートストラップ問題についてでしょうか?
一般的には全くOSがない環境にOSを構築するためにはClangやGCCといったオープンソースのコンパイラを、
新しいCPU向けのバイナリデータを出力できるように改造したものを用意します。
OSについてはNetBSDのようにハードウェア固有のコードが分離が進んでいるOSにハードウェア固有のコードを追加して、
改造したコンパイラでコンパイルして使用するという事が多いです。
商用OS含めて比較的分離が進んでいないとされるLinuxでさえすぐに特定ボード向けのカスタムディストリビューションが登場する位ですので、
あまりにCPUの機能が少ないなど特殊な事情がなければソースコードが手元にあって移植できないOSは無いと言っても過言ではないような状況です。
一方で歴史的には、パンチカードなどに直接機械語を入力して最低限のアセンブラを作りそれを使ってより高度なアセンブラを作りそれを使ってそれを使ってOSを作る等ということをしていました。
けれど、今となっては余程特殊な事情が合ない限り行われていません。
No.5
- 回答日時:
ハード依存部分は、最低限、アセンブラで書かなければなりません。
最低限というのは、キャラクタI/Oです。少しましなOSを移植するなり開発するのであれば、ブロックI/Oも。
キャラクタI/Oというのは1バイトの入出力を行う機能です。ブロックI/Oは512バイトなり、1024バイトをまとめて入出力を行う機能です。
ネットワークの機能を持たせるのであればCRC計算も必要です。Cあたりで書くと1000倍は遅いので。
後は地道にOSを開発するか、出来合いのOSを移植するか。タイニィCコンパイラを移植して、まともなCコンパイラをコンパイルするとか進めていけば、OSそのものの移植はできます。
その課程でローダというかIPLというかブートストラップというか(どれも同じですが)、そんなものも書く必要はあるでしょう。
UN*X系なら、conf.cというシステム資源の定義とかiovec.cというI/Oベクタの定義とかが書ければ、さほど難しくはありません。
Linuxは、・・・あれは特殊というか変なところが落とし穴のようにあるので(移植し終わっても落とし穴だらけ)、私は手を出しません。
No.3
- 回答日時:
>OSなしのコンピューター(インストールされていないのではなく、開発されていない)の問題点、
OSが開発されていないコンピュータは何も出来ないので「ただの箱以下の物体(制作コストだけはかかる使えない物体)」と言うだけ。
>またどのような方法なら使用可能か教えてください。
OSを開発すれば使用可能になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows 10の[アプリと機能]に表示されない旧バージョンのアプリを削除したい 1 2022/04/05 20:25
- Windows 10 Apexを起動するとタスクマネージャーが閉じる現象について 1 2022/07/16 18:31
- Windows Vista・XP WindowsXPを最近のパソコンにインストール出来ますか? 今使用している10で動いているパソコン 14 2023/05/06 08:23
- 中古パソコン 比較的最近のメーカーパソコンのリカバリーやOS Updateについて 3 2023/06/06 13:01
- UNIX・Linux antiX19.2をインストールしたいのですが… 2 2022/10/07 17:15
- 作詞・作曲 DTM DAWとmidiキーボードについて 1 2022/10/20 16:41
- 中国語 新しいMS-Windows OSの度に多大な出費 自作PCでLinuxOS・挑戦したい新OS 1 2022/07/05 14:32
- SSL・HTTPS 知恵袋ページの私的な不具合について 7 2023/01/07 18:46
- アプリ PCでAndroidアプリを実行 BlueStacks AppPlayerが良い? 2 2022/05/10 10:36
- デスクトップパソコン キャプチャーボードDRECAP DC-HC4のドライバー 1 2022/05/30 15:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Redhat
-
mozilla で音楽(音)を聞きた...
-
Ubuntって、CDブートで使っても...
-
apacheがおかしい!?のでしょうか
-
OSのないパソコンについて
-
Rでc++を呼び出す環境について
-
バイナリで配布されているプロ...
-
Cのソースをapacheがコンパイル
-
gccのインストールとそもそもgc...
-
MPlayerが作動しません
-
Microsoft Officeを2台目のPCに...
-
スライドショー(速度)について
-
windowsの低速化
-
i7-3540番のCPUノートパソコン...
-
ブートローダをwindows XP用か...
-
パソコンが起動しない
-
PCの中身入れ替え
-
セーフモード選択メニュー画面...
-
「Volumes」というフィルダにつ...
-
OSが起動しない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
よく目にするファイル名にdevel...
-
コンパイル時のエラーについて...
-
readline-develについて
-
squidのアンインストール
-
X-windowが起動しない
-
zlibのパス確認方法について
-
RedHat linux 7.5への xinetdの...
-
ccが動かない on Solaris
-
Cコンパイラ(RPMパッケージ)の...
-
Solarisのc言語アプリでグロー...
-
FedoraCore4でFORTRAN
-
ソフトウェアの削除について
-
Red Hat Linux 7Jでのgccコンパ...
-
solarisについて教えてください。
-
Cのソースをapacheがコンパイル
-
Linuxの標準モジュールの格納場...
-
Xemacsに関する質問
-
linuxの上位、下位互換について
-
Accelerated-X
-
tar.gzのファイルがインストー...
おすすめ情報