オペレーティングシステム自体が(インストールされているスペースを除いて)リソースを消費しますか?


3

私はオペレーティングシステムのコースを終えたばかりで、オペレーティングシステムの定義はまだ私には不明確です。オペレーティングシステム自体がCPUやメモリなどのリソースを占有しますか?例えば、スケジューリング・アルゴリズムは、タスクを比較してどれが最初に行われるのか、およびタスクが保持されているデータ構造がどのようなものであるのかを調べるために、ある程度の処理能力を必要とします。

仮想メモリの処理方法を知るためには、リソースを消費する計算を行わなければなりません。

仮説的に言えば、1つのプログラムを持ち、オペレーティングシステムを持たないコンピュータがプログラムを実行していた場合、プログラムは同じコンピュータ上ではあるがオペレーティングシステムを持つものよりも早く完了するでしょう。本当?

編集:私はコースが完全にがらくただった、娯楽目的のためにここで私たちが与えられたOSの定義であることに同意する

オペレーティングシステムとは • いくつかの可能な定義 1. {Microsoft、Apple、Linuxコミュニティ、Google}が提供するコード 2.あなたが依存しているコードで、あなたも書いていないこと 3.特権モードで動作するコード 4.物事を動かすコード 物事をクラッシュさせる5.Theコード(かなり冷笑的な定義) そして、他の多くの...

OSとは • 抽象化 - コンピュータ上で実行しているアプリケーションがそのコンピュータのリソースにアクセスするための適切なインタフェースを提供 - 「適切」と定義する方法によって大きく異なります。 • さまざまな懸念に対処する方法 - 時間内のパフォーマンス - 宇宙でのパフォーマンス - 共有とリソース管理 - 耐障害性 - セキュリティ - 市場性

教科書のこの嘲笑 私たちは100ドル以上を費やさなければならず、「それは他のほとんどすべてが依存しているソフトウェアだということです。これはまだ曖昧ですが、この用語は業界全体でかなり漠然とした形で使われています。」


私はオペレーティングシステムなしで動くプログラムを見たことがない。上記のプログラムがオペレーティングシステムでない限り。
Darius

@ダリウスああ、本当に組み込み機器でもそうではありませんか?例えば俺の Ti-86 計算機は私のために二次式を行う「プログラム」を持っています。
Celeritas

プログラムがオペレーティングシステムなしで実行される場合は、オペレーティングシステムが実行することの多くを実行する必要があります。これを行ういくつかの例については、プログラマブルロジックコントローラを見てください。
hildred

@ Celeritas、Z80アセンブラを使用しているなら、あなたは 閉じる それでも、電卓にはある種のOSがあります。そうでなければ、プログラムはもっと複雑になり、基本的なことでさえも行うための低レベルのマシンコードを含むことになります(TI-BASICはもちろんのこと)。で せめて 、OS 走る プログラム。たとえば、DOSのアセンブリプログラムはハードウェアを操作することができますが、それでもまだ DOSで動かす
Synetech

@ Celeritas私の知識は限られていますが、私の理解するところによれば、組み込みデバイスを実行する「プログラム」がそのデバイスのオペレーティングシステムではない場合、それは何と呼ばれるのでしょうか。そして私の仮定は、それによって行われる他のすべての計算や機能は基本オペレーティングシステムで実行されている追加プログラムであるということです。私の仮定は:電卓のOSは単に "画面に表示"と "画面の表示と計算のためのボタンを押す"です。しかし、実際の計算(2次式)は、OSが結果を生成するために呼び出すことができるプログラムです。 (私が間違っているなら私を直してください)
Darius

回答:


10

オペレーティングシステム自体が(インストールされているスペースを除いて)リソースを消費しますか

はい。

私はオペレーティングシステムのコースを終えたばかりで、オペレーティングシステムの定義はまだ私には不明確です。

低レベルでは、オペレーティングシステムは他のプログラムと同じです。結局のところ、それはCPU命令の束に過ぎません。唯一の違いは、OSの命令はプログラムの命令とは(多かれ少なかれ)異なる動作をするということです。

OSを記述するための最良の方法は、 メタプログラム 。それの代わりに、 なんかやってる プログラムはそれを可能にします その他の 何かをするためのプログラム。

オペレーティングシステム自体がCPUやメモリなどのリソースを占有しますか?

はい、もちろん。

例えば、スケジューリング・アルゴリズムは、タスクを比較してどれが最初に行われるのか、およびタスクが保持されているデータ構造がどのようなものであるのかを調べるために、ある程度の処理能力を必要とします。

その通りです。 OSの機能は単なるCPU命令の積み重ねであり、ユーザープログラムの機能のように、それらはスペースをとり、CPU上で動作しなければなりません。

仮想メモリの処理方法を知るためには、リソースを消費する計算を行わなければなりません。

当然。

仮説的に言えば、1つのプログラムを持ち、オペレーティングシステムを持たないコンピュータがプログラムを実行していた場合、プログラムは同じコンピュータ上ではあるがオペレーティングシステムを持つものよりも早く完了するでしょう。本当?

ちょっと。

CPUは非常に高速であり、CPUを ロット ほんの少しの時間で指示を受けます。さらに、オペレーティングシステムは可能な限り最適になるように広範囲に設計および調整されているため、(少なくとも理論的には)できるだけ少ないCPUとメモリを使用します。そのため、スケジューリング、メモリ管理、タスク切り替え、ハードウェア駆動などに使用されるアルゴリズムは、比較的少ないリソースしか使用しません。これはタスクマネージャで見ることができます。プログラムが実行されておらず、OSが最小にトリミングされている場合、使用中のメモリは非常に少なくなり、CPUは「0%」で実行されます。 (繰り返しますが、理論的に言っています。たとえば、最近、Windowsは「肥大化」しています。そのため、今後は適用されない可能性があります)


-6

オペレーティングシステムのコースを受講し終えたばかりの場合は、返金をお願いします。あなたの質問はとても素朴です私はあなたが宿題の質問に対する解決策を求めてトロールしていないとは本当に信じられません。

OSの現代的な見方は、アプリケーションがメモリ、CPU、およびI / Oデバイスなどのコンピュータ上のリソースにアクセスするために使用できるサービスプロバイダの集合です。 OSとアプリケーション間の境界線が正確に描かれている場所は宗教的な問題です(Andrew TanenbaumとLinus Torvaldsの間の議論を参照してください)。

現代のオペレーティングシステムは、アプリケーションに孤立したマシンの抽象概念を提示するのに役立ちます。安全で安全な方法でこれを行うために、抽象化を管理するための重要なコードは、一般にOSカーネルと呼ばれるものに分離されています。繰り返しになりますが、カーネルの動作とユーザー空間の共有ライブラリの動作の境界線については、議論の余地があります。

本当に、この種のものがあなたのOSコースでカバーされていなかったら、一体何があったのでしょうか?


2
問題はそうではありません OSとは あるいは OSはプログラムとどう違うのですか? 、それは OSがリソースを使用するかどうか 。前の質問の1つがすでに存在していると私は確信しているので、あなたはそれがより適切であろうもののうちの1つにあなたの答えを移すことができます。
Synetech

OSの基本的な定義は、注意を払っている人なら誰でも、リソースが使用されていることを意味するはずです。最初の投稿者がOSの適切な定義を知っていれば、リソース利用に関する問題は議論の余地があります。
anon

2
@anon - オペレーティングシステムのカレッジコースを受講したばかりの人が質問をしたことに同意するかもしれませんが、オペレーティングシステム自体がCPUリソースを使用するのであればナイーブです私が投票をした理由言い換えれば、侮辱を投げ捨てても評判が上がるわけではなく、回答を投稿できなくなる可能性があります。
Ramhound

あるいは感情以上の意味で、答えは単に質問に対処するものではありません。私も(少なくとも何年もの低レベルのコンピュータ知識があれば)その答えは自明ではないと思いますが、私は誰か、さらにOSコースを受講した人でさえも(これは私のものと同じくらい複雑かもしれません)一度取った)はそれを正しく理解していないかもしれませんし、あるいは単に詳細な情報の量に圧倒されて混乱してしまうかもしれません。それが、私が実際に尋ねられた質問に答えるために、それぞれの点に対処しながら簡潔な回答を投稿しようとした理由です。
Synetech

深刻な質問:私の教科書は基本的に文字通りオペレーティングシステムの定義が明確ではなく、さまざまな方法で使われていると述べていますが、これは正しいですか?
Celeritas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.