タグ

アルゴリズムとOSに関するslay-tのブックマーク (5)

  • バグのはなし / morrita - Message Passing

    なにか話すことはないかと Hacker News をみていたら(ろくでもない)、 Youtube や Gmail など Google のサービスが一時間落ちていたというニュースで 盛り上がっていた。担当者の想像するだけで胃が痛い。 森田はクライアントサイドで仕事をしているので、この手の outage は起きない。 けれど自分のところに担当したくないイヤなバグが回ってくることはたまにある。 そういうのを精神衛生を害さない程度で思い出してみたい。 A Ship Blocker 何年か前にカメラアプリのチームに入った直後、ハカソンでカメラのビューファインダに OpenGL のシェーダで簡単なエフェクトをかけるコードを書いた。 ハカソン最終日のデモで成果を紹介すると、より洗練されたリアルタイムエフェクトを近隣のアルゴリズムチームが長いこと構想していたことがわかった。 そこで彼らが開発していたエフェ

    バグのはなし / morrita - Message Passing
  • なぜ人は自作OSをするのか?自作OSとは何か? 〜自作OSのいまと昔 [第1回] | さくらのナレッジ

    みなさん、自作OSという言葉をご存知でしょうか? 自作PCという言葉には馴染みがあっても、自作OSという言葉は初めて聞いたという方も多くいらっしゃると思います。連載では、そもそも自作OSとは何か、という基的なところから、自作OSのこれまでの歴史、現代のコンピューターにおける自作OSの難しさ、そして自作OSの将来的な可能性について、筆者の実体験を踏まえながらご紹介したいと思います。 身近にあるOSの例 自作OSというのは、OS, つまりオペレーティングシステムを自分の手でつくりあげることを指します。といっても、そもそもOSとは何か知らない方も多くいらっしゃると思いますので、最初はそもそもOSとは一体何なのか見ていきましょう。 さて、みなさんの知っているOSにはどんなものがあるでしょうか?下記の図は、2019年5月の、日国内におけるOSのシェアを示したグラフです。 最も多く使われているO

    なぜ人は自作OSをするのか?自作OSとは何か? 〜自作OSのいまと昔 [第1回] | さくらのナレッジ
  • mimalloc のメモリ管理 - Qiita

    Microsoft の mimalloc は面白い割り切り方で、小さいソースコードで高速なアロケータを実装しています。 確保するメモリブロックのサイズを、 Small (~8KiB), Large (~512KiB), Huge (512KiB~) の3つに分類し、 Small と Large は同じアルゴリズムで管理し、 Huge は OS 任せにして、 Small と Large は同じアルゴリズムをうまく利用しています。 基礎 OSはpage (x86では基 4KiB) ごとにメモリをプロセスに割り当てています。 しかしアプリケーションではずっと小さいメモリブロックが必要になることが多くあります。また、必要になるたびに毎回OSからメモリを割り当ててもらうのはパフォーマンスも悪いです。 mimalloc やその他の malloc 実装 (以降 malloc と呼びます) は OS か

    mimalloc のメモリ管理 - Qiita
  • コンピュータ科学を基礎からしっかり学べる本

    書泉ブックタワーで,とてもよさげなを見つけたので,買ってきて読んでみました。 「入門 コンピュータ科学 ITを支える技術と理論の基礎知識」というで,アメリカのハーバード大学やUCBなどの多くの大学で採用されている教科書の翻訳書です。 内容的には,情報処理技術者試験の範囲で言うとテクノロジ系の全分野をカバーしている基書です。 アルゴリズムやOS,データベースやネットワーク,セキュリティ,ソフトウェア工学など,広くいろいろな分野について,考え方を中心に解説しています。 このは今年(2014年)2月に発行されたで,内容が類書に比べて比較的新しいのも特徴です。 チューリングマシンなどの基に加えて,人工知能やコンピュータグラフィックスなどの新しめの分野についてもいろいろ触れられていますので,中級者以上の方でも,いろいろ学ぶことはあると思います。 大型で600ページ以上あり,なおかつ文字

    コンピュータ科学を基礎からしっかり学べる本
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • 1