コールスタック

コールスタックまたは呼び出しスタック: call stack)とは、プログラムで実行中のサブルーチン(関数)に関する情報を格納するスタックである。実行中のサブルーチンとは、呼び出されたもののまだ処理が完了していないサブルーチンのことを指す。実行スタック (execution stack)、制御スタック (control stack)、関数スタック (function stack) などとも呼ばれる。なお文脈によっては、短縮して単にスタックともいう。

概要

コールスタックを使う目的はいくつかあるが、主たる目的はサブルーチンの処理を完了して制御を戻す(呼び出し側に戻る)ときに、どこに戻ればよいかを記憶しておくことである。

コールスタックはスタックとして構成されているので、呼び出し側はリターンアドレスをスタックに push し、呼び出されたサブルーチンが完了したときにリターンアドレスをコールスタックから pop する(そしてそのアドレスに制御を戻す)。呼び出されたサブルーチンがさらに別のサブルーチンを呼び出す場合も、リターンアドレスをコールスタックに push し、プログラムに書かれている通りに情報をスタックに積んだり下ろしたりする。あるサブルーチンに関する情報をコールスタックに載せることをワインド (巻き上げ, winding)、逆にそれを削除することをアンワインド (巻き戻し, unwinding) と呼ぶ。また、サブルーチンの呼び出しごとにコールスタックに格納するひとまとまりの情報の集合をスタックフレーム (stack frame) または単にフレームと呼ぶ[1]

なお、コールスタックに割り当てられている領域を使い切ると「スタックオーバーフロー」と呼ばれる実行時エラーが発生する。スタックオーバーフローが発生したときの動作はプログラミング言語や実行環境によって異なるが、通例プログラムの異常終了といった未定義動作を引き起こし、回復不可能であることが多い。

1つの実行中のプログラム(より正確に言えばスレッド)には、1つのコールスタックが対応して存在する。シグナル処理や協調的マルチタスク処理で追加のスタックを使う場合もあるが、通常使用中のコールスタックは常に1つなので、これを単に「(そのタスクの)スタック」と呼ぶことがある。

低水準言語アセンブリ言語)の多くでは、プログラマが明示的にスタックを操作する必要がある。一方、高水準言語からはコールスタックは透過的である。つまりコールスタックの存在を意識することなく、呼び出し階層構造によって実現される上位概念としてのプログラムロジックにのみ集中できるということである。コールスタックの詳細はプログラマからは見えず、引数あるいはローカル変数といった形でスタックから切り出された部分領域だけにアクセス可能で、スタックを構成しているメモリ全体にアクセスすることはできない。識別子を使ったサブルーチン(関数)の呼び出しは言語処理系によって対応するアドレスへのジャンプ命令に解決され、またスタックへのリターンアドレスの格納やリターンアドレスへの復帰といった下位レベルの前処理・後処理も隠蔽される。x86のcallとretのように、アセンブラレベルでもそのような下位レベルのスタック操作を隠蔽する命令が用意されているアーキテクチャもある。

プログラミング言語におけるスタックの詳細は、コンパイラオペレーティングシステム (OS)、命令セットなどに依存する。x64のように、特定の条件を満たす関数引数に関しては、スタックを使わずレジスタを使って渡すアーキテクチャもある[2]

いずれにせよ、言語環境を問わず、ソフトウェアを正常動作させるにはコールスタックを正しく保つことは重要である。コールスタックの容量は、デスクトップOS環境であっても既定で(スレッドごとに)数MiB程度しかなく[3][4]、組み込み環境ではさらに制限が厳しい。高水準言語では普段コールスタックの存在を意識しないで済むがゆえに、ヒープではなくスタック上に巨大な配列を確保して容量を使い切ってしまい、スタックオーバーフローを発生させてしまうといった初歩的な間違いを犯すこともある。

具体例

コールスタックが関係する具体例として、次の擬似コードを挙げる。

subroutine DrawSquare(Point p1, Point p2, Point p3, Point p4)
{
    ... 略 ...
    
    DrawLine(p1, p2);
    DrawLine(p2, p3);
    DrawLine(p3, p4);
    DrawLine(p4, p1);
    
    ... 略 ...
}

上の疑似高水準言語のコードでは、サブルーチンDrawSquare内の4ヶ所から、直線を描画するサブルーチンDrawLineを呼び出すとしたとき、DrawLineは4ヶ所のうちのどこに戻ればよいかを知る必要がある。一般にDrawSquareのコード内でDrawLineを呼び出しているそれぞれの箇所で、呼び出し処理の次の命令のアドレス(これをリターンアドレスと呼ぶ)をコールスタックに格納することでこれを実現する。

コールスタックの機能

前述のように、コールスタックの第一の用途は以下の通りである。

リターンアドレスの格納
サブルーチンが呼び出されたとき、戻るべき命令のアドレスをどこかに記憶しておく必要がある。スタックを使ったリターンアドレスの格納は他の方法にはない利点がある。第一に、各タスクは対応するスタックを持っているので、サブルーチンは再入可能(リエントラント)、つまり複数のタスクが同時に同じサブルーチンを実行することが可能となる。第二に、再帰呼び出しが可能となるという利点がある。関数自身は再帰的に呼び出されたとしても、リターンアドレスは呼び出される度に記憶しておかなければならない。スタックを使うとこの機能が自動的にサポートされる。

言語、オペレーティングシステム、ハードウェア環境に依存するが、コールスタックはそれ以外の機能も持つことがある。そのような機能として以下のものがある。

局所データ格納域
多くのサブルーチンは局所変数自動変数英語版)の値を格納するメモリ領域を必要とする。局所変数とは実行中のサブルーチンでのみ使われる変数で、そのサブルーチンの処理が終われば値を必要としない。このためにスタックのトップを動かして空き領域を作り、局所変数に利用することができる。これは動的メモリ確保に比べると非常に高速に行える。サブルーチンが呼び出される度にスタック上の局所データの領域が確保される点に注意されたい。
引数受け渡し
サブルーチンには引数を必要とするものがある。引数は呼び出し側のコードが提供し、その引数をコールスタック上に置くことは珍しくない。一般に引数の個数が少なければ、プロセッサのレジスタが引数の受け渡しに使われる。しかし、引数の個数が利用可能なレジスタ数より多ければ、何らかのメモリ領域を使わざるを得ない。コールスタックはそのような値の受け渡しには最適で、サブルーチンの呼び出しの度に固有の引数が渡されるのに対して、コールスタックも呼び出しの度に固有の領域を与えられる。
評価スタック
論理演算や数値演算のオペランドは多くの場合レジスタに置かれて処理される。しかし、式が複雑になるとレジスタだけでは収まりきらなくなり、何らかのメモリ領域が必要となる。そのようなオペランドのためのスタック(逆ポーランド記法の電卓に似ている)は評価スタック (evaluation stack) と呼ばれ、コールスタックを利用して実装することがある。
現在のインスタンスへのポインタ
C++のようなオブジェクト指向言語では、メソッド呼び出しの際にthisポインタを引数と共にコールスタックに格納する。thisポインタは呼び出されるメソッドに対応するオブジェクトインスタンスを指している。thisポインタはオブジェクト指向言語のコンテキストの基本要素であり、現在のオブジェクトの持つプライベートデータへのアクセスを提供する。thisポインタはオブジェクト指向プログラミングとコールスタックを結びつけるものである。
ルーチンの入れ子における静的スコープサポート
PascalAdaといったプログラミング言語はサブルーチンの入れ子が可能であり、内側のルーチンが外側のルーチンのコンテキスト(外側のルーチンの引数や局所変数)にアクセスできるようになっている。この静的な入れ子はいくつも繰り返すことができ、関数の中に別の関数を定義し、その中でさらに別の関数を定義し……といったことが可能である。このため実装に当たっては呼び出された関数が静的な入れ子を遡って外側のフレームにアクセスできる手段を提供する必要がある。一般に外側のフレームへのポインタとしてこの参照を実装し、これを「ダウンスタック・リンク」または「スタティック・リンク」と呼んで、直前の呼び出し側ルーチンとのリンク(ダイナミック・リンク)と区別する(呼び出し側は定義上の外側のルーチンとは限らない)。例えば、内側のルーチンは自分自身を再帰呼び出しできるようになっている言語が多く、同じルーチンのスタックフレームがコールスタック上にいくつも重なることがあり、それらが全て同じ外側のルーチンのコンテキストへのスタティック・リンクを持つことになる。スタティック・リンクの代わりに、外側のスタックフレームへの参照を集めてポインタの配列とする方式もある。この配列を display と呼び、インデックスを指定することで必要なフレームを得ることができる。バロース B5000 はハードウェアでこれをサポートしており、32レベルの静的入れ子を使用可能だった。
他のリターンステータス
リターンアドレスだけでなく、環境によってはサブルーチンから復帰する際に戻さなければならないハードウェアやソフトウェアのステータスがあるかもしれない。例えば、特権レベル、例外処理情報、演算モードなどである。必要に応じてこれらもリターンアドレスのようにコールスタックに格納される。

典型的なコールスタックはリターンアドレス、局所データ、引数を格納する(これを「コールフレーム」と呼ぶ)。環境によってはコールスタックの機能に差異がある。例えばFORTH言語では、コールスタックにはリターンアドレスと局所変数のみが格納され(これをリターンスタックと呼ぶ)、引数は別のデータスタックに格納される。多くのFORTHの実装では浮動小数点数の引数を格納するための第三のスタックが存在する。

構造

コールスタックはスタックフレームから構成される(アクティベーションレコードとも呼ばれる)。スタックフレームはマシン依存のデータ構造であり、サブルーチンの状態情報が格納される。各スタックフレームは完了していないサブルーチン呼び出しに対応する。例えば、DrawSquareから呼び出されたDrawLineを現在実行中としたとき、コールスタックのトップ部分は下図のようになる。

スタックトップのスタックフレームは現在実行中のルーチンのためのものである。最も典型的な手法では、スタックフレームには次の情報が格納されている。

  • そのルーチンの局所変数領域
  • 呼び出し側に戻るためのリターンアドレス
  • そのルーチンに渡された引数

フレーム内のメモリ領域はスタックポインタと呼ばれるレジスタを使ってアクセスされることが多い。スタックポインタはスタックのトップを指している。別の方法として、スタックポインタとは別のレジスタ(フレームポインタと呼ばれることが多い)を使うこともある。フレームポインタはフレームの中の決まった場所を指していて、例えばリターンアドレスが格納されている位置を指している。

スタックフレームは必ずしも同じサイズではない。サブルーチン毎に引数の個数も違うので、スタックフレームのサイズも異なる。ただし、同じサブルーチンを呼び出したときのスタックフレームは一般に同じサイズとなる。同様に局所変数領域もサブルーチンが違うとサイズが変わってくる。実際、言語によってはスタック上に動的にメモリを確保する機能を持っているので、同じサブルーチンを呼び出してもフレームサイズは変わってくるし、そのサイズはコンパイル時にはわからない。そのような場合、スタックポインタではなくフレームポインタでアクセスする必要が生じる。というのは、スタックポインタからリターンアドレス格納位置までのオフセットがコンパイル時に判明しないからである。

多くのシステムでは、スタックフレーム内に前のフレームポインタレジスタの値を格納する場所がある。つまり呼び出し側ルーチンを実行していたときに使っていたフレームポインタの値である。例えば、上図のDrawLineのスタックフレーム内にDrawSquareが使っているフレームポインタの値を格納する場所があるということになる。その値はサブルーチン呼び出し時に格納され、復帰時に戻される。そのようなフィールドがスタックフレーム内の所定の位置にあると、コールスタックに積まれているスタックフレーム群を(さかのぼって)辿っていくことが可能となる。

場合によっては、スタックフレームはオーバーラップしていると見なすこともできる。オーバーラップしているのは、呼び出し側から呼び出されたルーチンに渡される引数の部分である。環境によっては呼び出し側はスタックに引数をpushして自身のスタックフレームを拡張し、その後に呼び出しを行う。また別の環境では、各サブルーチンは自身が呼び出すかもしれない別のサブルーチンへの引数の領域を予めスタックフレーム内に確保していることがある。この領域は outgoing arguments area あるいは callout area と呼ばれる。この手法ではコンパイラが呼び出す可能性のあるサブルーチンのうち最大の引数領域を必要とするものを予め求めて領域サイズを決定する。

使用法

呼び出し側処理

通常、サブルーチンを呼び出す側でのコールスタック処理は最小限になっている。呼び出すコードがあちこちに存在することを考慮すれば、こうすることでコードの増大を抑えることができる。実際の引数の値は呼び出し毎に固有なので呼び出し側で評価され、呼出規約に従ってスタックにpushされるかレジスタに置かれる。「Branch and Link」のような実際の呼び出し命令が制御をターゲットのサブルーチンに転送するために実行される。

呼ばれた側の処理

呼ばれたサブルーチンでは、最初にサブルーチンプロローグ英語版と呼ばれるコードを実行する。そこで実際のコードを実行する前に行わなければならない細々とした処理を行う。

プロローグでは、一般に呼び出し命令が所定のレジスタに置いたリターンアドレスをコールスタックにpushする。同様に現在のスタックポインタかフレームポインタ(あるいは両方)をpushする。命令セットアーキテクチャによってはこれらが呼び出し命令の一部として実行され、そのような環境ではプロローグですべきことは無い。

フレームポインタを使っている場合、プロローグではフレームポインタに新たな値をセットする(スタックポインタの値を活用する)。局所変数の領域は必要に応じて徐々にスタックポインタを変化させて確保していく。

FORTH言語ではコールスタック(リターンスタック)を明示的にワインドすることができる。Scheme言語では「動的ワインド (dynamic wind)」という機能があり、スタック上に特殊なフレームをワインドすることができる。

復帰処理

サブルーチンから復帰することができる状態になると、プロローグの逆のエピローグ処理が行われる。これは一般的には保存されていたレジスタの値(フレームポインタなど)をスタックフレームからリストアし、スタックポインタの値を変更してスタックフレーム全体をpopし、最後にリターンアドレスに分岐する命令を実行する。多くの呼出規約ではエピローグ処理でpopする範囲に元々の引数も含まれる。その場合、呼び出した側に戻ったときにすべきことは何もない。呼出規約によっては、引数部分のpopを呼び出し側の責任で行うものがある。

アンワインド

呼び出された関数から復帰するとスタックのトップにあったフレームがpopされ、戻り値が残される。

Pascalなどの言語は関数の入れ子を越えた広域のgoto文をサポートしており、呼び出し側関数に制御を移すことができる。このとき、スタックのアンワインドを行って、goto文の戻り先の関数に対応したスタックフレームまで戻す必要がある。このような制御の転送は一般にエラー処理にのみ使われる。

スタックは例外処理の際にもアンワインドされなければならない。例外をサポートするためには、スタックフレームにさらに例外ハンドラを示すエントリが必要となる。例外がスローされると、スタックはその例外を処理できる例外ハンドラが見つかるところまでアンワインドされる。Common Lispではスタックがアンワインドされたときに起きることを制御するunwind-protectという特殊な形式がある。

継続を適用する場合、スタックは一度アンワインドされ、再度ワインドされて実行を継続する。継続を実装する方法はこれだけではなく、明示的に複数のスタックを用意して継続するアプリケーションが単にそのスタックを起動して渡すべき値をワインドする。

コールスタックとソフトウェアテスト

2006年、コールスタックを使ったこれまでとは全く異なる技法が発表された[5]。それはコールスタックを使った test suite reduction と呼ばれる技法である。大まかに言えば、実行時のコールスタックが同じになるテストケースは等価だとみなしてテスト件数を減らしつつ、テストスイート全体の問題検出能力を維持するという考え方である[6]

性能解析

無作為にコールスタックの標本を採取することで、プログラムの性能最適化に利用することができる。コールスタック上によく現れるサブルーチンは頻繁に呼び出されるか1回の実行に時間がかかっていると想定でき、その呼び出し回数を減らしたり、1回の実行にかかる時間を短縮することで大きな効果が期待できる。詳しくは性能解析を参照。

セキュリティ

コード(リターンアドレス)とデータ(引数、戻り値、局所変数)がコールスタックに混在していることはセキュリティ上危険である。詳しくはバッファオーバーランおよびスタックを参照されたい。

脚注・出典

  1. ^ Interstage Application Server/Interstage Web Server チューニングガイド - 7.1.4 スタック
  2. ^ x64 calling convention | Microsoft Learn
  3. ^ /STACK (Stack allocations) | Microsoft Learn
  4. ^ Threading Programming Guide - Thread Management | Apple Developer Documentation Archive
  5. ^ “Call Stack Coverage for GUI Test-Suite Reduction” by Scott McMaster and Atif M. Memon. In Proceedings of the 17th IEEE International Symposium on Software Reliability Engineering (ISSRE 2006), Nov. 2006.
  6. ^ “Call-Stack Coverage for GUI Test-Suite Reduction” by Scott McMaster and Atif M. Memon. IEEE Trans. Softw. Eng., 2008, IEEE Press.

関連項目

外部リンク

Read other articles:

Bill Lee 50º Governatore del TennesseeIn caricaInizio mandato19 gennaio 2019 PredecessoreBill Haslam Dati generaliPartito politicoRepubblicano William Byron Lee, detto Bill (Franklin, 9 ottobre 1959), è un politico e imprenditore statunitense, governatore del Tennessee dal 19 gennaio 2019. Indice 1 Biografia 1.1 Inizi e carriera politica 2 Vita privata 3 Posizioni politiche 4 Note 5 Altri progetti 6 Collegamenti esterni Biografia Inizi e carriera politica Nato e cresciuto in una f...

 

French-born Moroccan footballer Farid El Alagui El Alagui playing for Brentford's development team in 2013Personal informationFull name Farid El AlaguiDate of birth (1985-08-28) 28 August 1985 (age 38)Place of birth Bordeaux, France[1]Height 1.85 m (6 ft 1 in)[2]Position(s) StrikerSenior career*Years Team Apps (Gls)2005–2006 Marmande Foot 22 (10)2006–2009 Bergerac Foot 54 (37)2009–2010 Wydad 10 (3)2010–2011 Romorantin 27 (14)2011–2012 Falkirk 33 (...

 

Head of the Catholic Church in 607 Boniface III redirects here. For ruler of Tuscany, see Boniface III of Tuscany. For ruler of Montferrat, see Boniface III of Montferrat. PopeBoniface IIIBishop of RomeChurchCatholic ChurchPapacy began19 February 607Papacy ended12 November 607PredecessorSabinianSuccessorBoniface IVPersonal detailsDied(607-11-12)12 November 607 (aged 67)Rome, Byzantine EmpireOther popes named Boniface Pope Boniface III (Latin: Bonifatius III; died 12 November 607) was the bish...

Questa voce sugli argomenti allenatori di pallacanestro statunitensi e cestisti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti dei progetti di riferimento 1, 2. Red Holzman Red Holzman negli anni '70 Nazionalità  Stati Uniti Altezza 178 cm Peso 79 kg Pallacanestro Ruolo PlaymakerAllenatoreGeneral manager Termine carriera 1954 - giocatore1982 - allenatore Hall of fame Naismith Hall of Fame (1986) Carriera G...

 

Questa voce sull'argomento cestisti statunitensi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Nera White Nera White MVP al Campionato AAU 1965 Nazionalità  Stati Uniti Altezza 185 cm Pallacanestro Ruolo Ala Termine carriera 1969 Hall of fame Naismith Hall of Fame (1992)Women's Basketball Hall of Fame (1999) Carriera Squadre di club 1955-1969Nashville Business College Nazionale 1957 S...

 

Combats of Spanish soldiers against Japanese samurai pirates in the Philippines 1582 Cagayan battlesDate1582LocationCagayan, Luzon, PhilippinesResult Spanish victoryBelligerents Spanish Empire Spanish Philippines WokouCommanders and leaders Juan Pablo de Carrión Pedro Lucas  † Tay Fusa[1]Strength 60 soldiers20 sailors[2]unknown number of native allies and ships1 galleon5 small vessels 1 light vessel[1] 1 junk18 sampans<100 Wako pirates[1]Casualt...

Partnered country dance derived from polka, of continental European origin This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Schottische – news · newspapers · books · scholar · JSTOR (March 2009) (Learn how and when to remove this message) Schottische in Madrid August 2017 The schottische is a partnered countr...

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

غاز الفحم [1] (أو غاز الاستصباح) هو وقود غازي سريع الاشتعال، وهو أحد نواتج التقطير الإتلافي للفحم، وهو ما يصل للبيوت عن طريق شبكات الغاز للتغذية المنزلية. يشير المصطلح الأعم غاز المدينة إلى الوقود الغازي المصنع لبيعه إلى المستهلكين في البلديات. غاز الفحم المستخرج في عمل�...

Santa RosaDepartemenSanta RosaNegara GuatemalaDepartemenSanta RosaIbukotaCuilapaKotamadya14Pemerintahan • JenisDepartementalLuas • Departemen886 sq mi (2.295 km2)Ketinggian tertinggi4,360 ft (1.330 m)Ketinggian terendah702 ft (214 m)Populasi (Sensus 2002) • Departemen301.370 • Perkotaan105.061 • EtnisitasLadino (xinca) • AgamaKatolik Roma EvangelismeZona waktu-6 Departemen...

 

Hotel in Mandaluyong, Philippines This article is about the hotel. For the nearby shopping mall, see Shangri-La Plaza. This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of...

 

LevittownLevittown station viewed from the outbound platform in 2019General informationLocation8301 Bristol PikeTullytown, PennsylvaniaCoordinates40°08′25″N 74°49′02″W / 40.1402°N 74.8172°W / 40.1402; -74.8172Owned bySoutheastern Pennsylvania Transportation AuthorityLine(s)Amtrak Northeast CorridorPlatforms2 side platformsTracks4Connections SEPTA Suburban Bus: 127[1]ConstructionParking452 spaces[2]Bicycle facilities8 rack spaces[2]Ac...

من هو احمد علي منيع (كيرا) أحمد بن منيع معلومات شخصية الميلاد 2004مرو الروذ  الوفاة سنة 859 (82–83 سنة)  بغداد  أقرباء أبو القاسم البغوي (الأسباط)  الحياة العملية المهنة مُحَدِّث،  وكاتب  اللغات العربية  تعديل مصدري - تعديل   أحمد علي منيع ، الملقب ب كيرا ، (160 - ...

 

Civil war in Colombia from 1948 to 1958 For the period (c. 1978–1984) of the Guatemalan Civil War generally known as La Violencia, see Guatemalan Civil War. La ViolenciaPart of the Colombian Civil Wars and the Cold WarTram on fire in front of the Congress during the BogotazoDate9 April 1948 – 1958Location ColombiaResulted inStalemate Creation of the National Front Colombian conflict Parties Colombian Conservative Party Conservative party paramilitary groups Pájaros Chulavitas Colomb...

 

Artikel ini bukan mengenai Matematika. Untuk kegunaan lain, lihat Mathematica (disambiguasi). Mathematica Tampilan Mathematica 8.0.0 LinuxTipebahasa pemrograman, computer algebra system (en) , mathematical software (en) , array programming language (en) , bahasa pemrograman fungsional, data analysis software (en) , visualization software (en) dan bahasa pemrograman diinterpretasi Versi pertama23 Juni 1988[1]Versi stabilDaftar 1.0 (23 Juni 1988) 1.1 (31 Oktober 1988) 1.2 (1r Agustus 19...

1994 single by Haddaway For the film, see Rock My Heart (film). Rock My HeartSingle by Haddawayfrom the album The Album ReleasedMarch 1994GenreEurodanceLength3:57LabelCoconutSongwriter(s) Dee Dee Halligan Junior Torello Producer(s) Dee Dee Halligan Junior Torello Haddaway singles chronology I Miss You (1993) Rock My Heart (1994) Stir It Up (1994) Music videoRock My Heart on YouTube Rock My Heart is a song by Trinidadian-German musician Haddaway, released in March 1994 as the fourth and final...

 

آتون يبعث أشعته فتمد الأرض بالحياة. (في أخر كل شعاع عنخ رمز الحياة) . جزء من سلسلة مقالات حولديانة قدماء المصريين مفاهيم الحياة الآخرة دوات ماعت الأساطير الأرقام الفلسفة الروح طقوس الجنائزية القرابين المعابد الأهرامات الآلهةثامون هيرموبوليس (أجدود) آمون أمونيت حح ححيت ككو�...

 

Pechiney Création 1921 Dates clés 1855 : Création de Henry Merle et Cie1995 : Privatisation1988 : Rachat de l'activité d'emballage de Triangle Disparition 2003 (rachat par Alcan) Personnages clés Alfred Rangod Pechiney, Paul Héroult Siège social Paris France Activité Métallurgie Filiales Affimet, Carbone Savoie, Comurhex, Sotrassum Effectif n/a Chiffre d'affaires n/a Résultat net n/a Société précédente Compagnie des produits chimiques d'Alais et de la Camarg...

Questa voce sull'argomento macchine è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Voce principale: Motore a V. Un motore V8 (con testate) dove è ben evidente la disposizione a V degli 8 cilindri su due file Il motore V8 è un motore endotermico alternativo dotato di 8 cilindri, disposti in bancate separate a gruppi di 4 ed aventi tra loro un angolo solitamente compreso tra i 60° e 90°. Indice 1 Caratteristiche 2 Varianti 3 Voci correlate 4 Altri ...

 

American mathematician Marc RieffelBornMarc Rieffel (1937-12-22) December 22, 1937 (age 86)New York City, New York, United StatesNationalityAmericanAlma materColumbia UniversityKnown forNoncommutative torusScientific careerFieldsC*-algebrasQuantum group theoryNoncommutative geometryInstitutionsUniversity of California, BerkeleyDoctoral advisorRichard KadisonDoctoral studentsPhilip GreenJonathan Rosenberg Marc Aristide Rieffel is a mathematician noted for his fundamental contrib...