マエカワの備忘録的な何か

思い立ったが吉日

オペレーティングシステム 其の四 20170510

指定教科書で言うとp18~p28、p36~p39あたりだそうです.

 

マルチタスク

 プロセスを高速で切り替えることにより同時に複数のプロセスを実行しているように見せる.また、このことを「平行に実行する」といい、通常並列でないものを並列のように実行させることをいう.

 そもそもレジスタがたくさんあるマシンでは最初から並列化が可能なので「平行」なんていう表現はせずに「並列に実行」と表現する.

 この時に実行するプロセスの順番などはのちの講義で扱う「スケジューラ機能」を用いている.

 

プロセスの始まりと終わり

・生成:コマンド(popenコマンド)で、ダブルクリックでなどいろいろあるが実質同じ処理をしているのと同じなので、本質的には生成は一つの方法でしているといえる.

・終了:この方法には

     ①正常終了

     ②異常終了

     ③タスクマネージャー等の他アプリケーションによる強制終了

    の3種類が存在する.

 

プロセスの親子関係

 プロセスによってほかのプロセスを生成することができる.この時、生成したほうを「」、されたほうを「」と呼ぶ.

  ⇒プロセス間には樹形図(tree)的な関係が存在することがわかる.

 

プロセスとプログラム

 実行ファイルそのものを「プログラム」.現在実行されているプログラムのことを「プロセス」と呼び分けている.

 プロセスが処理を行うために必要なデータ、メモリなどの総称を「リソース」とする.

 

プロセスの提供する実行環境

・プロセスごとに仮想CPUがあるかのようにふるまう

  ⇒プロセスは仮想的に自分専用のレジスタとメモリを持っている

・割り込み処理の「退避・復帰」をプロセス間に適応することにより、仮想CPUを実現している.

・実行状態にあることを「コンテキスト」と呼ぶのにあやかって、プロセス間における「退避・復帰」のことを「コンテキストスイッチ」と呼ぶ.

  ⇒プロセス同士の分離を実現

 

プロセスの仮想メモリについて

 「コード」「データ」「ヒープ(malloc関数で動的に確保する用のメモリ)」「スタック」領域に分けることができる.

 コンテキストスイッチが発生するとプロセスAの仮想メモリとプロセスBのそれを総とっかえする.この仕組みについては第10回くらいの講義で説明.

 

ソースコードからプロセスになるまで

 基本的な流れは

  ①ソースコードコンパイルすることにより実行可能ファイルを生成

  ②実行可能ファイルをもとにプロセスに必要なメモリ領域を確保する

  ③プロセスになる(ここは詳しく講義では触れませんでした)

 の3ステップ.


f:id:maekawa_yoshimiki_1119:20170517013400j:image

 

 ローカル変数は新鮮さを保つためにスタック領域に格納される.

 デバッガを利用することによって実行中のメモリを確認することができる.

 

今度はOS側からプロセスについて考えてみる

 「プロセステーブル」というものの中に「プロセス構造体」がプロセスの数だけ存在し、その構造体の中にはプロセスを構成するための情報が入っている.

 構造体についてはC言語のそれと大差ない.情報を馬鹿正直に上からならべたものがプロセス構造体.

 

 プロセステーブル

  ⇒プロセス構造体1

   →プロセス管理情報

   →メモリ情報

   →ファイル情報

  ⇒プロセス構造体2

   …

 

 のような構造になっている.

 

プロセス構造体について

 ①プロセス管理情報

  ・コンテキストスイッチでデータを退避させる先

  ・IDや親子関係

  ・スケジューリング

 ②メモリ情報

  ・データの場所やそのサイズ

 ③ファイル情報

  ・ファイルの読み込み位置

  ・開いているファイルの情報

 上の情報はすべて「リソース」になっている.

 

プロセステーブルがプロセスを終了させるとき

  ①ファイル情報を見てファイルをすべて閉じる

  ②メモリ情報を見て、メモリを解放

  ③プロセス構造体を解放

 の3ステップでプロセスは終了される.

人間工学 其の三 20170509

新皮質のお話は知覚領(中心溝の後ろ側)へ

知覚領

・感覚がまず届くところ

・皮膚感覚の機能局在

 ⇒運動領の機能局在とよく似たところに分布している

  ⇒胴から下にはあまり機能はない.上半身に集中して局在している.

 

連合領

・運動領、知覚領以外のところをまとめて連合領と呼ぶ.新皮質の約2/3を占めている

・どこにどんな役割があるか(機能局在)は明確にわかっているわけではない

例)言語の知覚

 聴覚領に入力→知覚性言語中枢(言語の認識)→運動性言語中枢(言語の構成)→運動領

 といった流れになっている.空間認知の場合はより複雑になっていて、海馬や偏桃体などが密接にかかわりあっている…らしい.詳しいことは明らかになっていない.

 この例で言いたかったのは連合領はいろいろなところにつながっているということ.だが、何度も書くように詳しいことはわかっていない.が、知覚に関係があることは間違いない

 

記憶について

記憶は種類によってその性質や名前が違う

長期記憶:リハーサル(繰り返し)により短期記憶から移行してきたもの.

 ・陳述的知識に関係があり、世界の事実に基づくこと.つまり、そのものについての記憶

  -エピソード記憶:出来事についての記憶(いままで何をしていたのか、など)

  -意味記憶:言葉の意味、言語に関すること(机だとわかることなどはこれに分類される.)

 ・手続き的知識に関係するもの.使い方などの一連の動作についての記憶

短期記憶

 ・感覚情報貯蓄庫:感覚情報を一瞬の間だけ記憶している.視覚については同時に7個以上のことを短期記憶の箱に入れることは不可能だといわれている(マジカルナンバーセブン).しかし、形態の電話番号などは間にハイフンなどを入れることによりその容量を拡張することに成功している.

 ・直接記憶:意識的に覚えておくことができる記憶

 ・作業記憶:同じ作業をひたすらしているとその動作を覚えてしまう.その記憶のこと.

 

短期記憶に関しては、ほとんどのものが消えてしまう

 

学習について

・大脳神経回路のモデル(これが今はやっているdeep learningの基礎部分になっている):Perception

 次に、教師あり学習モデルのイメージを載せる


f:id:maekawa_yoshimiki_1119:20170516004801j:image

 

 この時、与えるデータの吟味もしっかりしなくてはいけないことに注意.

・後天的学習:Hebbのシナプス

 シナプス前と後ろが同時に活動した場合、結合を強化.学習に時間がかかりすぎるなどの問題から、ほかに学習機能が人間に備わっていると思われた.

・先天的学習

 遺伝子により定められた学習機能プログラムに基づいて学習

 ⇒遺伝子と生まれた後の努力で学習.これが大脳の能力.

 

ここまでの内容が大脳新皮質の役割

 

大脳辺縁系

 ・個体維持のための本能

 ・情動:本能が満足されたかどうかで出現

 

脳幹・脊髄系

 脳幹:大脳、小脳以外の部分.大脳と脊髄の連絡通路

  ・これがなくなってしまうと生命活動を維持することができない.

  ・大脳がなくても生きていられる

  ・視床視床下部から構成される

   ・視床錐体外路(意識せず行っている運動の回路)の起点.大脳との連絡を行う

   ・視床下部:ホルモンの分泌

 中脳:視覚聴覚に関係している.

 延髄、橋:自動・自立・反射神経からなる.生理機能を円滑にするためのもの.

 脊髄:単シナプス反射

 

 シナプス反射

  ①筋繊維に刺激を与える

  ②筋紡錘から1a繊維を電気信号が流れる

  ③脊髄に到達.シナプス結合をし、α繊維を電気信号が伝わり、筋繊維に伝わる.

 この反射を利用した検査が「膝蓋腱反射」.よく知られている膝の皿に衝撃を与えると足がぴょこっと上がってしまうあれだ.ビタミンDが不足しているとこの反射が起きなくなるため、戦時中はビタミン不足かどうかの検査として用いられていた.


f:id:maekawa_yoshimiki_1119:20170516004822j:image

 

 ここまでが中枢神経系についてのお話.次回からは末梢神経系のお話をしていきます.