タグ

関連タグで絞り込む (166)

タグの絞り込みを解除

CPUに関するmsakamoto-sfのブックマーク (102)

  • UNIX/Linux互換OSをゼロから作った話 - Qiita

    こんにちはredcap97です。 私は、UNIX互換OSをゼロから作っています。 ある程度動くようになったので紹介したいと思います。 デモ 現在、QEMUの上で動作するようになっています。CPUはx86ではなくARMを対象に作っています。シェルと基的なコマンドが動作するようになっていて、リダイレクトやパイプも利用できます。 Dockerを使うと簡単にOSを動かすことができます。 概要 33のシステムコールを実装している システムコールはLinuxと互換性がある シェルはDashが利用できる Coreutilsのコマンドが使える libcはmusl libcを使用している ファイルシステムはMinix File Systemを実装している 以上です。 私は実装がとても遅いので、ここまで作るのに2年ぐらいかかっています。 Linusの偉大さを肌で感じなら、これからもノロノロと作っていきたいと

    UNIX/Linux互換OSをゼロから作った話 - Qiita
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • x86でbus errorを起こす - Qiita

    はじめに x86システムでは、あまりbus errorは見かけない。どういう場合にbus error (SIGBUS)が発生するか調べた。タイトルにはx86と書いたが、一応SPARCも調べた。 Bus errorについて Bus error (SIGBUS)は、その名の通りバスで発生したエラー。CPUが物理メモリにアクセス要求を出した時にエラーが起きると発生する(ということになっている)。普通、ユーザプログラムから見えているのは論理アドレスであり、物理アドレスを直接触ることは無いことから、ユーザプログラムからBus errorを起こすことは難しい。また、アラインメントエラーなどでも起きることが知られているが、x86ではアライメントのチェックが通常はオフになっているため、これは起きない。とりあえず調べた限りにおいては、「SIGBUSを発生させるシステムコールを呼ぶ」「アラインメントチェックを

    x86でbus errorを起こす - Qiita
    msakamoto-sf
    msakamoto-sf 2016/04/17
    x86 での Bus error (SIGBUS)
  • Linuxカーネルを新しいCPUに移植する - 豆腐の豆腐和え

    この記事はLinuxアドベントカレンダー2015 21日目に大遅刻した記事です。ごめんなさい 皆さん、ご家庭に「作ってみたはいいけれど、動くOSがなくて困ってる!」っていうCPUはありませんか?もしそんなCPUがあればLinuxを移植してみてはどうでしょう?? この記事ではLinuxを新しいCPUへ移植する話をします。 前書き なぜLinuxを新CPUに移植する話をしているかというと、学科の同期数名で、FPGAで作ったCPULinuxを移植するということを5月ごろから細々と進めているからです。(もっとも院試やら卒論やらで格的に作業できるのは実際には来年の2月以降です。。)これは以前自作CPUにxv6を移植したやつの第2段階ですね。 まだ新CPUのもろもろが出来上がっていませんので、現在は番の移植のための勉強としてx86アーキテクチャのミニマムな再実装をやっているところです。記事は今

    Linuxカーネルを新しいCPUに移植する - 豆腐の豆腐和え
  • ディープラーニングでおそ松さんの六つ子は見分けられるのか 〜実施編〜 - bohemia日記

    前回、おそ松さんたちをディープラーニングで見分けるため、準備編としておそ松さんたちの顔画像を5644枚集めました。 今回はそれを用いて、ディープラーニングで学習させ、判別器を作って検証します。 集めた画像 人物 枚数 例 おそ松 1126 から松 769 チョロ松 1047 一松 736 十四松 855 とど松 729 その他 383 使用フレームワーク 最近GoogleからTensorFlowという新しいディープラーニングのフレームワークが発表されました。 会社のブログに使い方書いたのですが、まだ慣れていないので、今回はchainerを使います。こちらだとすぐに高い成果を上げているImageNetのNINモデル、4層畳み込みニューラルネットワークがサンプルで入っていますので、こちらを改良して使います。 imageNetの使い方は、こちらやこちらを参考にしています。 訓練データセット Im

    ディープラーニングでおそ松さんの六つ子は見分けられるのか 〜実施編〜 - bohemia日記
  • EthernetやCPUなどの話 | GREE Engineering

    こんにちわ。せじまです。今年に入ってからアクティビティトラッカーを二回壊しまして、新しい分野の製品って設計いろいろ難しいんだなと、しみじみ思う今日このごろです。 先日、社内勉強会で EthernetCPU などの話をしました。前回のCPUに関する話に続き、今回のスライドも幅広い方に読んでいただけそうな内容かと思いましたので、公開させていただくことにしました。前回のスライドを読んでない方は、できればそちらを読んでいただいてからの方が、より理解が深まるのではないかと思います。 忙しい人のために三行でまとめると 2020年代には、サーバのネットワークインターフェースが 40Gbps 超えてそうな予感 もし Ethernet でそれだけ大量のパケットをさばくなら、(標準化されてないけれど) Jumbo Frame 使わないと厳しいかも 2020年代には、NICやブロックデバイス等、CPUを取

    EthernetやCPUなどの話 | GREE Engineering
  • Engadget | Technology News & Reviews

    How to watch NASA's first Boeing Starliner crewed flight launch today (scrubbed)

    Engadget | Technology News & Reviews
  • 集積回路を使わずにトランジスタだけでコンピュータを自作するとこうなる

    コンピュータの進化は半導体の進化であり、それは集積回路(IC)の集積密度の高まりでもあるわけですが、そのコンピュータの進化の流れに逆行するかのように、ICを一切使わないでトランジスタだけで作られた自作コンピュータが「FullTr-11」です。そのトランジスタで自作されたコンピュータFullTr-11の最新バージョンとしてLEDで作ったコンピュータ「スーパーLチカコンピュータ」が登場しています。 トランジスタでコンピュータを作るキット---CPUもメモリもトランジスタで製作 http://recursion.jp/comp/j/index.html スーパーLチカコンピュータ --- ICを使わずにLEDで作るコンピュータ http://recursion.jp/rl/SuperLED/j/ トランジスタでコンピュータを作るキット「FullTr-11」とは一体何かは、以下のムービーを見れば一

    集積回路を使わずにトランジスタだけでコンピュータを自作するとこうなる
  • Windows OSでよく見かける重いプロセス、ベスト10

    対象OS:Windows 7 / Windows 8 / Windows 8.1 / Windows Server 2008 R2 / Windows Server 2012 / Windows Server 2012 R2 ●システムの負荷が重いかどうか調べるには? Windows OSを使っていると、システムが平常時と比べて非常に“重く”なり、例えばマウスやキーボード入力などへの応答が遅くなったり、極端な場合は無応答になったりすることがある。 このような場合は、タスクマネージャーを起動してどのプロセスが重いのかを調べたり、リソースモニターやディスクのLEDランプなどを見て、ディスクの入出力などが非常に増えてシステムの負荷になっていないかどうかを調べたりすることになる(操作手順は次の関連記事参照)。 関連記事: TIPS「負荷の大きいプロセスを特定する方法」 関連記事: TIPS「リソー

    Windows OSでよく見かける重いプロセス、ベスト10
  • Linux/arm64のブートプロセスについてのメモ - Qiita

    Linuxのブートプロセスを追うときに見るべきファイル(x86_64編)のarm64版のようなもの。 ブートストラップ linux/Documentation/arm64/booting.txt によると、現在のarm64用カーネルは、x86_64用カーネルが持つようなブートストラップの機能が存在しない。実際、arch/arm64/boot/以下にはx86_64のようなソースコード(head_64.S等)が存在しない。ブートローダがハードウェアの最低限の初期化をして、解凍された生のカーネルイメージ(ELFではない)を配置、エントリポイントにジャンプしてやらないといけない。カーネルに実行を移すときの要件も、booting.txtに書かれている。 ブートローダとしては、ubootやUEFIが使えると思われる。(Boot Wrapperというのも使えるみたいだが、今も使えるかは分からない。) a

    Linux/arm64のブートプロセスについてのメモ - Qiita
  • 組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined

    もう終わりそうですけど、4月ですしこれから組み込み業界へ向かうかたへ自分がこのよかったなーって思ったのをいくつかピックアップしてみます。ただ、一言に『組み込み』と言っても幅広くて分野によって求められる知識は結構変わってくると思いますが、ベースは一緒だろうと思います。 ちなみに自分はCPUはRL78、Cortex-M0、Cortex-M3、Rx、SH、Cortex-A9、FPGAは最大でも7000LUT程度のレンジのハードウェア設計をやってきました。今はZynqや大規模FPGA開発に携わりたいと思っています。 以下に挙げていきますが、オススメがあれば是非教えていただきたいです。 ※順番に意味はありません。 CPUの創りかた CPUの創りかた 作者: 渡波郁出版社/メーカー: 毎日コミュニケーションズ発売日: 2003/10/01メディア: 単行(ソフトカバー)購入: 35人 クリック:

    組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined
  • x86/x64最適化勉強会7 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は3月15日に開催された「x86/x64最適化勉強会7」の模様についてお伝えします。前回から約1年半振りと久しぶりの開催です。 今回の発表内容は浮動小数点数周りの話が2件、CSSパーサ周りの話が1件、暗号関係の話が3件でした。 以下、それぞれの発表内容について簡単に解説します。 浮動小数点数関係 @ksmakotoさんの発表は「非正規化数のFZ(FTZ)とDAZの違い」(動画1)でした。 浮動小数点数には正しい精度で扱える最小の正の数DBL_MIN(約2.225074e-308)があります。 0とDBL_MINの間の数は精度は落ちるけれども扱うことはでき、非正規化数と呼ばれます。 非正規化数を扱うのはなかなか難しく、ハードウェアやソフトウェアによってはサポートしていなかったり、していてもとても遅かったりすることがあります。そのため非正規化数を0と見なすこと

    x86/x64最適化勉強会7 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
  • ゼロから始める自作 CPU 入門

    macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~

    ゼロから始める自作 CPU 入門
  • Linux Performance Tools at LinuxCon North America 2014

    Recent posts: 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » TensorFlow Library Performance 19 Mar 2022 » Why Don't You Use ... 26 Sep 2021 » The Speed of Time 06 Sep 2021 »

    Linux Performance Tools at LinuxCon North America 2014
  • Androidの仮想マシン Dalvik編

    書はDalvik仮想マシンの内部についての解説書です。Dalvik仮想マシンの仕様、概念、実装などの深部を知りたい人のためのです。 内容紹介書はDalvik仮想マシンの内部についての解説書です。Dalvik仮想マシンの仕様、概念、実装などの深部を知りたい人のためのです。Android LからDalvikからARTへ仮想マシンの変更が予定されていますが、ARTの技術はDalvikの仕様、技術などを引き継いでいます。Dalvikを知りたい人だけでなく、ARTを理解するのに足がかりにするのにも最適なになっています。 書誌情報 著者: 松永卓也 発行日: 2014-07-30 最終更新日: 2015-04-03 バージョン: 1.0.0 ページ数: 387ページ(PDF版換算) 対応フォーマット: PDF, EPUB 出版社: 達人出版会 対象読者 Dalvik仮想マシンの内部に興味のあ

    Androidの仮想マシン Dalvik編
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Linuxでの32ビットと64ビットマシンの見分け方。 - IT memorandum

    Linuxでの32ビットと64ビットマシンの見分け方を紹介します。 32ビットか64ビットかを見分けるにはCPUの情報とカーネルの情報が必要です。 まずはCPU。 //マシンに搭載されているCPUの情報が表示されます。(マルチコアの場合はそれぞれのCPUの情報が表示されます) $ cat /proc/cpuinfoflagsの値にlmがあれば、64ビットCPUです。 次にカーネル。 // 稼働中のカーネルについての名前と情報が表示されます。 $ uname -aX86_64とかamd64とかが表示されたら、64ビット版のカーネルです。 64ビットCPU上で、64ビット版カーネルが稼働している時が64ビットマシンです。

    Linuxでの32ビットと64ビットマシンの見分け方。 - IT memorandum
  • NOP 命令が作られた日(1960)【日記 2014/07/01】

    前: 「我々が考えるように」発表(1945)次: ダグラス・エンゲルバートの命日(2013) NOP 命令が作られた日(1960)  2014-07-01 12:16:50  コンピュータ 今日は何の日 今日は NOP 命令が初めて公式文章に記された日(1960)。 …当かどうかわかりませんが。 僕の調べではこれより古い NOP 命令の記述はありません。 2014.7.6 追記 もっと前の記述がある、という情報が寄せられました。情報提供ありがとうございます。 この記事の内容全てが誤りではありませんが、少なくとも「初めて公式文書に記された日」は誤りでした。 最初に NOP が登場したのは IBM 701。しかし、考え出したのは先に開発を始め、後で発売された IBM 702のようです。 IBM 702 では、明確な目的を持って NOP が作られています。 詳細は別記事にまとめてあります。 え

  • Linux カーネルと FreeBSD カーネルの割り込み処理

    わけあって、 Linux カーネルと FreeBSD カーネルの双方で仕事をした結果、 二つのカーネルで割り込み処理の実装方法が大きく異なっていることに気づきました。 ここでは、それぞれの割り込み処理の仕組みについて、 調べたことを書いてみたいと思います。 割り込みとは、主に入出力ハードウェアによって CPU に送られる処理要求のことです。 一般に、 CPU は入出力ハードウェアよりもずっと高速に動作するので、 入出力処理を行う際に、ハードウェアの動作を待つよりも、 CPU では別の処理を行なっておき、 必要になった時にハードウェア側からの通知を受けて対応する処理を行う方が、 CPU を有効に活用できます。この入出力ハードウェア側からの通知が、割り込みと呼ばれます。 割り込みは、 CPU で動作するカーネルによって処理されることとなります。 ここで、一つの割り込み処理に時間がかかると、他の