アプリ版:「スタンプのみでお礼する」機能のリリースについて

パソコンで何かのソフトを使う以前にまずosという大きな基盤となるソフトを必要としますよね、私はあまり知らないですがosを作るのにもパソコンを使うはずです、ならそのパソコンでosを作るソフトはどのように作られていますか?
それを作るのが別にあればその作られ方を、それにも別であるならその作られかたを教えて下さい
プログラムを打ち込みソフトを作るわけですけどその打ち込んだ文字を画面に表示させたりプログラムを組み立てたりするソフトは誰がどの様に作っているんですか?

家電製品を見に行きやすいパソコンを買ってもそれが動くのは元から動くように作られていますよね、その元がどの様に作られているのかを教えて下さい

A 回答 (13件中1~10件)

1)最初のパソコン


Altair 8800
ttps://ja.wikipedia.org/wiki/Altair_8800
>フロントのパネルには、アドレスおよびメモリ表示用のLEDと、アドレスバス・
>データバスの各ビット操作用のトグルスイッチなどを装備していた。

>最小構成では他に手段が無いので、プログラムの書込みは、以下のような手順で行う。
>1.パネルのHALTスイッチでHALTの信号線をアクティブにし、CPUを停止させる。
>2.パネルのスイッチ群でアドレスとデータを設定し、書き込みスイッチで当該アドレスのメモリに設定したデータを書き込む。
>3.2の作業を繰り返して必要なコードを書き込んだのち、HALTを解放する。
>4.0番地からプログラムが読まれ実行される。
機械語で作ったプログラムとデータを2進数に変換して、トグルスイッチを用いて
設定・入力するのが、最初のPCでのプログラム作成・実行方法。

>世界初の個人向けコンピュータ「Altair 8800」で4K BASICが動いている貴重なムービー
ttp://gigazine.net/news/20140527-altair-8800-movie/
Microsoftのビル・ゲイツが作成した4K BASIC

2)次に、起動する度にBASICを読み込まなくてすむように、EPROMに起動プログラムやBASICを
EPROM Writerを使って書き込んで使う様になります。

3)周辺機器としてLEDや16進キーボードを使った1ボードマイコン
TK-80
ttps://ja.wikipedia.org/wiki/TK-80

4)周辺機器としてモニタやキーボードが使える様になり、電源を入れてすぐにBASICが使える
個人ユーザが入手可能なコンピュータを製造・販売するメーカーが乱立して、熾烈な競争が
始まる。
#多くの場合、Microsoft製Basicが使われた。

5)PCの外部記憶装置用としてフロッピーディスクドライブが使われる様になる。
それに伴って、プログラムやデータの保存・管理、他PCとのデータ共有や、BASIC以外の言語
でのプログラム開発等の需要が生まれ、いくつかのOSが作成される。
#CP/M、OS-9等

4)のBasicや5)のOS作成には、上位のコンピュータが使われました。
以降に作成されるMS-DOSやWindows、初期のLinuxも同様
    • good
    • 0

> 機械語を何処に書くんですか? 


> 紙ですか??
作っている最中は紙ですね。出来上がったらコンピュータに読ませます。

パソコンの場合ですと、フロッピーディスクやハードディスクやFlashROMといった媒体の決められた場所にOSの機械語を書いたものをパソコンにセットすると、
パソコンの内部に入っているプログラムがOSの機械語を読んでメモリ上に展開、それを実行します。
なおこの「パソコンの内部に入っているプログラム」はBIOSという名で、マスクROMやFlashROMなどに書かれています。

古い時代のスーパーコンピュータやメインフレームあたりは、よく知りませんがパンチカードに記録したものをセットすると機械的に読み出されてメモリに展開され、実行されるのではないかと思います。
    • good
    • 0

> 紙に手書きでプログラムを欠くということですか?



多くの人はそうしたでしょう。
少なくとも、石版や銅板というのは聞いたことはありません。
中には、頭の中で完成させた、という伝説も伝わっています。

なお、こうして書いたものは、あくまで「設計図」「下書き」です。
コンピュータが理解できるように変換する必要があります。


> カイロはプログラムを理解できないはずです

この場合、回路に求められる機能は
・「場所」を指定したら、その「場所」にある「データ」を取得できる
・指定した「場所」に、特定の「データ」を保存できる
の2つです。
プログラムを理解する必要はありません。

このような回路を「記憶装置(メモリ)」と言います。


> それをカイロに焼き浸けるとはどういうことでしょうか

その記憶装置によって違いがありますが、次のような方法が主でしょう。
・配線を切る/継げる
・電気的特性を使って、「ON」の状態と「OFF」の状態を作る
・磁気の特性を使って、「ON」の状態と「OFF」の状態を作る
・光の特性を使って、「ON」の状態と「OFF」の状態を作る
    • good
    • 0

CPUは直接は関係ありません。



理屈では、OSを作るのに、OSは必要ありません。
開発用コンピュータすら不要です。
Windowsを作るのに、Windowsパソコンは不要です。
(Windowsレベルになると、非現実的な話ですが)

成果物であるデータが同じものができるのなら、その手段は関係無いのです。


最初期では、紙と鉛筆でプログラムを書いて、それを手動でデータに変換して、回路に焼き付ける形でコンピュータに読ませる、といった手段で作られていました。

そのうち、全部やってると面倒なので、共通にできるところは共通にして楽をしよう、と考えるようになってきます。
そうしてできたのがOSです。


技術が進んで大規模になってくると、上記の手書きによる方法が現実的では無くなってきました。
そこで、キーボードで書いてコンパイラが変換してディスクに書き込んでメモリを使ってコンピュータに読ませる、といった、現在の形になってきました。

それでも、原則は変わりません。
現在でも、Windowsで開発してマイコンで実行する、といったことが普通に行なわれています。
    • good
    • 0
この回答へのお礼

紙と鉛筆でプログラムを書いて、それを手動でデータに変換して、回路に焼き付ける形でコンピュータに読ませる、といった手段で作られていました
>紙に手書きでプログラムを欠くということですか?
それをカイロに焼き浸けるとはどういうことでしょうか?
カイロはプログラムを理解できないはずです

お礼日時:2017/08/13 20:07

質問の真意が分からないのですが、


現代においてOSを作るには、OSの載ったパソコンを使います。
使うソフトは、OS以外のふつうのソフトを作るソフトと本質は変わりません。
ブートローダーを書くための作法などはありますが、ふつうのソフトにも作法はありますし、特段変わった事ではありません。

ただ、なんとなく、あなたが知りたいのは「OSがこの世に存在しない状態からOSを作る方法」ではないかと思うので、これについても書きますと、
ごく小規模な、OSといえるかも怪しいくらいのものなら機械語を手書きでできるでしょう。
そして次にアセンブラを機械語手書きで作ります。こちらが先でもいいかもしれません。
次にコンパイラとテキストエディタを作ればまあ初期のOSを作っていた環境と同程度になると思います。
    • good
    • 0
この回答へのお礼

機械語を何処に書くんですか? 
紙ですか??

お礼日時:2017/08/13 20:08

OSをどうやって作るか、ですよね。


で、CPUに行きついていますね。

まず、CPUを開発する場合、そのCPUでC言語など人間にわかる言葉で書かれたプログラムを動作させるためのコンパイラも同時に開発します。じゃなきゃ、No.3の方へのお礼文にあるように、ただの物体のままで誰も使えないので。
斬新な作りのCPUの場合、そのCPU独自の機能の部分などはハンドアセンブルといって、コンピュータに理解できる数字だけでプログラミングしなくてはならないこともありますが、たいていは旧型との互換があるため、旧型用のプログラムの改造で作ります。
このような、新しいコンピュータで動くプログラムを作るのは、実はまず古いコンピュータを使って作ります。
プログラムを作るのに必要なエディタなどは古いコンピュータで動いているものを使います。
新しいコンパイラを作るためには、コンパイラを作るためのコンパイラというソフトウェアがあり、これを使います。

コンパイラが出来上がったら、旧型で使われていたソフトウェアをそのまま、もしくは多少改造して新しいコンパイラでコンパイルし、新型機に導入します。一番最初は、OSの部分からでしょうね。

また、家電製品に組み込まれているマイコンのプログラムも、その家電自身を使って作っているわけではなく、ふつうはパソコンで作っています。

ちなみに、画面とキーボードを使って編集云々のプログラムの最初はというと・・・今使われているものの元祖は知りません。私が初めてプログラミングしたとき(30年以上前)は、数値入力するとCPUに直接命令を与えられる機能(機械語モニタ)がパソコンに搭載されていましたので、これを使ってプログラミングするために便利なソフトウェアを紙の上でプログラミングし、数値に置き換えて入力・・・ということを繰り返した覚えがあります。

また、パソコンの場合、心臓部はCPUとよく言われますが、CPUは計算は得意ですが周辺機器の制御をするための機能は搭載されていません。実はこれら周辺機器を制御するためのコンピュータもパソコンの中に入っています。BIOSという言葉を聞いたことがあると思いますが、それです。これも、やはりプログラムを作るのは、古いパソコンで作っています。

さらにちなみに、CPUを作るのも古いコンピュータを使って作っています。そこで作られたコンピュータは、きっと次世代のコンピュータを作るために使われるのでしょう。なんだかおもしろいですね。
    • good
    • 0
この回答へのお礼

コンピュータの一番初めは0と1でその組み合わせをカイロに焼いていくんですか?

お礼日時:2017/08/13 20:09

まず、パソコンというのは、ものすごく早く計算を行う機械だと思ってください。



で、計算機の歴史。

最初は指折り数えて問題を解いていたけど、面倒臭いので機械でできないかなと考えた。
それで、かけ算をする機械とか、割り算をする機械が発明された。

でもハンドルを人間がくるくる回したりするの面倒臭くなったので、電気でできないかと考えた。
それで、歯車を真空管に置き換えたりして徐々に電子化が進み、電卓が発明された。

じゃあこれで消費税の計算をしてくれ、「〇〇円かける 0.08 は・・」、毎回 0.08 を打つのは面倒臭いので、
あるメーカーが電卓に「消費税ボタン」を作った。

これいいねえ。じゃあうちは仕入れ値の25%増しで販売するのでそのボタンも作って、うちはこんなボタンが欲しいなあ・・・。
面倒臭くなった電卓メーカーは、電卓基板の一部に後から簡単に改造できる部分を作った。
ここの配線をつなぐと、かけ算を行う。ここの配線を1本切ると数字の1・・・。
これがプログラミングのはじまり。

時代は少し進み、配線の切った貼ったではなく、電卓のICを1個取り替えるだけで、大抵望みの機能が得られるようになった。
これで電卓メーカーもめでたしめでたし。

と思っていたら、何台も電卓買うの面倒臭いなあ、1台で色々できるようにしてよ。
頭を悩ませた電卓メーカーはオルゴールにヒントを得る。穴の開いたカードやピンの付いた円盤を取り替えるだけで色々な曲を奏でることができる。
よしこれだ、ユーザーは電卓にやらせたい仕事を書いた(穴を開けた)カードを読み込ませて、一台の電卓で色々な仕事ができるようになった。

ついでにカードの作り方を教えるから、後は自分たちで好きに使ってね。
これで誰もが電卓に好きな仕事をさせることができるようになった。
で、頭のいい人は作ったカードを人に売るようになった。これがソフトの元です。

しかしこれだとカード作り職人が居ないと話が進まない。もっと誰もが作れるようにならないかなあ、タイプライターを打つみたいに・・・。
って事で「ソフトを動かすためのソフト」という発想が生まれ、タイプライターで決まった英文を打つと、「中の人」がそれを解釈してパンチカードのプログラムに変換してくれるようになった。この「中の人」がOSです。

さらにものぐさな人が現れ、俺は英語の勉強がしたいわけじゃ無い、家計簿が付けたいだけなんだ・・・。
それで、入力した伝票を適切な英語の文章に変換してくれる「家計簿ソフト」ができた。

って事でどうでしょう???
    • good
    • 0

>ソフトやアプリは全てパソコンで作られていると思いますがそのパソコンを使う以前の作られ方を知りたいです


4ビットの加算ならこんな程度です
http://blog.mech.hi-tech.ac.jp/?tag=%E6%A9%9F%E6 …

こんなものを数百億個をCPUの中に作りこみます。
その方法をざっくり書くと写真と同じような仕組みです。
    • good
    • 0

OSの元はカーネルですね


そのもとは機械言語になるでしょう
基本はAという入力に対してBという出力を返す機能やメモリの内容を入れ替えたりする機能などです
そのもとはビット計算で、イメージ的にはスイッチのon/off、0を1にしたり1を0にしたりすることです。
さらにその元となると素材レベルの話になるかと
    • good
    • 0

>そのパソコン自体の一番初めに作られるのは何なのかを教えて下さい



最初に造られるのはマザーボード上のチップに載せられているBIOSです。ブートローダーやカーネルの基礎部分は基本的にCPUのマシン語で作られているはずです。その上はアセンブラー、C言語等の順番で構築されているはずです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!