タグ

Cとthreadに関するhtzのブックマーク (2)

  • B3 OS/Programming

    シラバス コースは、プログラミングの基について、ひととおりの技術を学び終えた受講者を対象とする。コースの目的は、実際のソフトウェアを開発する際に、具体的にどのようにプログラムを設計し、またどのように OS の機能を利用していけばよいか、感覚をつかんでもらうことである。このため、コースは講義中心ではなく、いくつかのソフトウェアの作成演習をとおして、そのソフトウェアのプログラムはなぜそのように設計されているのか等を考えてもらう。 1. 簡単な C コンパイラ 言語仕様を簡略化したCコンパイラを作成し、言語処理系の基構成を学ぶ。また関数呼び出しや配列参照など、C言語の各基機能が実際にどのような機械語に変換されていくのかを学ぶ。 実際に作成する処理系は2つで、まずはじめに字句解析の練習として、ごく簡単なLispインタプリタを作る。 その後、構文解析、コード生成の演習のため、C言語風の手続

  • 第24回 マルチスレッド環境下でのFFIの利用

    並行処理の存在は,プログラムやそれを記述するための言語仕様に対して,良くも悪くも影響を及ぼします。FFIも例外ではありません。FFIの仕様やFFIを使ったプログラムを並行処理しようとする場合,きちんと考慮しなければうまく動作しない可能性があります。 第12回で説明したように,GHCの拡張機能や次期標準Haskell'で追加される新機能という形で,Haskellにもスレッドを使用した並行処理の仕組みが存在します。今や,実用的なプログラムを作るうえで,FFIとスレッドとの関連を避けて通ることはできません。 FFIをスレッドに対応させるための追加仕様は,「Extending the Haskell Foreign Function Interface with Concurrency」という論文,およびそれを要約した「The Concurrent Haskell Foreign Function

    第24回 マルチスレッド環境下でのFFIの利用
  • 1