タグ

ブックマーク / qiita.com/rarul (2)

  • シグナルハンドラにprintf()を書いてはいけない - Qiita

    三行でまとめると シグナルハンドラ内でprintf()してはいけない というより、余計な処理を書いてはいけない もう一度言う、シグナルハンドラで余計なことをするな、非常に大事なことだ はじめに シグナルハンドラでやってよい処理は非常に限られるのに、全くルールを守らないサンプルコードが世の中に大量に出回っている。printf()するなんてもってのほかなのだが、カジュアルにそこらじゅうで見かけて非常に悲しい。 この記事では、そんな状況を少しでも改善したいと思い初心者向きに書いたものだ。そのため、下記では、回避するにはどう実装すればよいのか、ルールを破るとどうなるのか、といった点を先に簡潔に記述する。 なぜしてはいけないのか、POSIXだとかリエントラントだとか、は下の方に追いやっている。玄人は読んでてウズウズするだろうが、細かい話はできるだけ目につかないような構成としたため了解いただきたい。

    シグナルハンドラにprintf()を書いてはいけない - Qiita
  • プログラマのためのフラッシュメモリ入門 - Qiita

    はじめに 最近はSSDが広まってきたため語られることが増えてきたものの、以前はそうでもなかったような、そんなフラッシュメモリにまつわる話をこのへんでプログラマ視点でまとめておこうと思う。 技術的な話というよりポエム感がでているかもしれない。内容がLinuxにかたよっているかもしれない。 FTLとMTD HDDと比較するとフラッシュメモリは以下のような点が異なる。 read, writeはページ単位で行う 通常はwriteは上書きできない writeしなおすためには一度eraseをする必要がある eraseはブロック単位で行う 今時のMLC NANDだと、ページは8KiBでブロックが512KiBとかそんなオーダ、 NORはランダムreadできる(でも最近はSPI接続だよねぇ)、ビットを寝かす方向なら上書きwriteできる(でもECCが高度化する今時のNANDではやらないよねぇ)、とか細かい話

    プログラマのためのフラッシュメモリ入門 - Qiita
  • 1