パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

コンピュータについてざっくり一日で教えてみる

2020-08-24 | プログラムをマスター計画2020

基本何もみないで書いてみます。間違えていたらこまめに直すかもしれません。

誤字脱字がほんと多いのでそれは直します。

ではスタート 13:03

 

基礎

コンピュータとは入力して保持して計算して出力するものです。

 

私のブログで一番読まれている記事は「UbuntuでDVDを見る方法」

これは、DVDから保持されたデータを入力して圧縮を解凍する計算をして画面に出力します。

 

歴史

そもそもの起こりは回転させる計算機とか穿孔型のカード管理機なんかがあるようです。

 

回転させる計算機は普通の四則演算ができます。

元値をセットしてかける値を桁ごとに回すとかそんな感じです。

 

穿孔型のカード管理機はカードに閉じた穴と外側まで抜ける溝があって

各穴は位置ごとに状態を表していて、男性だったら男の所に穴があって

女性ならそこが外まで抜ける溝になっていて、男性の所だけ通しておけば

男性のカードだけを残せるような仕組みです。

 

プログラム言語

電卓があらわれて、さらに複雑な計算をしたいとき

ドイツ軍の暗号を解きたいとかいう、目的でプログラムが登場します。

最初は0か1の羅列

それではあんまりだというのでアセンブラ

カード管理機の発展系でCOBOL

四則演算の発展系でFORTRUN

手軽にプログラムで遊びたいのでBASIC

OSの開発用にC

単純作業を軽減させたくてPerl

Cだと文字制御が面倒すぎるのでC++(ほんとは大規模プログラムの管理)

それぞれのプログラム言語はだいたい何かしらの目的をもって登場しています。

 

OS

入力して保持して計算して出力する。ための雛形ようなものです。

これがないと、全て作らなければならなくなるので大変です。

昔はメーカーごと機種ごとに独自のOSを入れていて、起動時に独自のBASICが表示されていました。

それを最初にまとめようとしたのがMSX 

この時、日本大手メーカーも追随して、

ファミコンが登場していなければ、

有力メーカのだけ売れていなければ、(条件多すぎですね)

今つかっているのがMSXという可能生もあったかもしれません。

MSXのOSもマイクロソフトなのですが。

 

13:55 終わってしまった。気を取り直して継続

 

コンピュータの構成

一台のパソコンは寿命がみじかく3年ぐらいで時代から取り残されていて

それを解消するという意味合いで組み立てパソコンというものも出てくる。

古くなった部分だけ新しく変えようというコンセプトである。

実際は各パーツを作っている所もそれぐらいの周期で刷新してくる。

 

パーツを基礎(この記事の冒頭)ごとに分ける

入力 キーボード、マウス、タッチパッド

保持 一時的メモリカード、HDDドライブ、FD→USBメモリ→SDカード→MicroSDカード、CD→DVD→BD→DVD(BDは2台すぐ壊れたのでDVDに戻す)

計算 CPU(グラフィックボード込みもある)、グラフィックボード

出力 モニタ、スピーカー

それらをつなぐもの マザーボード、電源、各種ケーブル

まとめて入れておくもの ケース

 

マイクロコンピュータ

微弱な電流の出力、入力を制御することができ、LED、センサーなどを個別に制御できます。

電子工作などに使われますが、5000円ぐらいのものだと、

電源、モニタ、キーボード、マウスをつないでMicroSDカードにOSを書き込めば

少し遅いコンピュータとして使えるものもあります。(最新なら遅くもないかも)

 

容量

コンピュータのデータの大きさを容量といったりします。

今だとTB(テラバイト)がハードディスクの容量の基本単位になっています。

だいたいですが、

CDが500MB(メガバイト)

DVDが5GB(ギガバイト)

BDが25GB(ギガバイト)

DVD、BDはもっと入るものもある。

 

半角文字数で言うと1024文字が1KB

その1024倍が1MB

その1024倍が1GB

その1024倍が1TBです。

1024は2の10乗 だいたい1000なので使われているようです。

日本の単位でいうと1TBは1000億の位

来年ぐらいには10TB到達しそうなので1兆文字いけます。

 

14:53 休憩 16:02 再開

 

ゲーム機

ゲーム機というのはコンピュータから派生した商品で中身はコンピュータ

休憩中に遊んだスプラトゥーンの場合

入力 gamepad 保持 HDD、DVD、メモリ  計算 本体内CPU、グラボ 出力 gamepadのモニタ、プロジェクタとなる

さらにネットワークも入って任天堂サーバーで演算して、データを縮小して送られていたり。

最新と構成的には変わらない はず。

 

コンピュータの中のデータ

0と1のビットの組み合わせで全て成り立っています。

このビットを8個にしたのがバイト、初期のコンピュータの基本単位8bitが元。

現在は64bitが主流です。

コンピュータはこの単位ごとにデータを取得して処理しています。

コンピュータの計算にはビット演算というコンピュータ特有の計算があります。

実際はビット演算を利用して全て計算しています。翻訳されたものが

AIなどでボードゲームなどを高速で計算したい場合、究極はここの操作に到達します。

64bitの中にはデータもありますがアセンブラ(プログラムの一種)も入っています。

アセンブラはCPU内部で動くプログラムです。

 

アプリケーション

プログラムのパッケージのようなもので

プログラムを書かなくてもユーザーが使えるようにしたものです。

計算の部分はエクセル

穿孔型のカード管理機ならアクセスといった具合

このおかげで、ほとんどのユーザーはプログラムをする必要がありません。

アセンブラ→各種言語→アプリケーションとユーザーが使いやすい形になっていってます。

 

17:05 休憩 うーむどこへ向かっているんだろう

 

プログラムを書いてみる

コンピュータ内部のプログラムなのでできることは基礎と同じ

何かを入力(プログラム内で準備も含む)して

計算、判断をして、過程とか結果を出力する。

最近ではブラウザーの検索でも簡単なプログラムができる。

 

電卓のアプリまで出てきます。

こんなツールもあるようです。

ちなみにこのカラーピッカー1色は48bitで構成されています。

最近のコンピュータの1色は透明度、赤、緑、青 16bitずつ合計64bitで表現されることが多いです。

 

ひょっとしてもしやとpythonという言語で

print([i for i in range(10)])

と書いてみましたが

さすがにまだ無理のようです。

 

といってもColaboratoryというサイトに行けばブラウザーでpythonのプログラムを実行できます。

最近プログラム環境はブラウザーで大抵のことは実行できるようになってます。

 

日付計算

1988年1月1日から2020年8月24日までの日数を計算してみます

(2020-1988)*365.5+7*30+24

 

Python3なら

 

LibreOffice(エクセルのようなアプリ)

 

仮想マシン

もともとは旧式のシステムなどを新型の環境でもエミュレートしたりするのに使っていた。

最近はマシンの性能が高いのでUbuntu18.04の環境にUbuntu20.04の仮想マシンを導入できたりする。

そのうち携帯に仮想マシンを入れてパソコン代わりにするなんて技術も...たぶんもうどこかにあると思います。

https://colab.research.google.com/drive/1KhBCuRkG8hO0AmRpQtShE9KjVOH57y_9?hl=ja

 

フォルダ管理

システムが大きくなるといろいろなアプリとか道具が増えてきます。

昔はフォルダ管理とか自由でしたが、今はこれはここに入れるとか暗黙の掟が増えてきています。

この仮想マシンには特にファイルを残したりしていないはずなので

割とデフォルトのUbuntu20.04の構成に近いはずです。

Ubuntuだと普段ユーザーが使っているファイルは

homeフォルダの中にあるユーザー名のフォルダに入っています。

 

ユーザーフォルダ内

この構成はお決まりです。

アプリなんかもだいたい決まっています。

よくどこにあるかわからなくて 〇〇 インストール先 などでググったりするとわかります。

未だにユーザーフォルダ以外はほぼ迷宮です。

snapって何?と調べてみると世界が広がりそうなもののようです。

技術の生存競争は厳しいのでどうなるかはよくわかりません。

まあこんなところでおしまいです。

少しでも何かの足しになればうれしいです。

 

 

 

 

 

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。