タグ

linuxに関するducky19999のブックマーク (87)

  • Linux コンテナの内部を知ろう / OSC 2018 Kyoto - Speaker Deck

    OSC 2018 Kyoto の講演資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

    Linux コンテナの内部を知ろう / OSC 2018 Kyoto - Speaker Deck
  • 『Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識』を読んだ - razokulover publog

    Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識』を読んだ。 この、なぜか知らないが自分のAmazonのオススメとしてずっと表示されつづけていて、いい加減陶しくなってきたので思い切って買ってみた。 購入の動機は微妙なんだけど中身は絶妙だった。 内容としてはコンピューターを構成するOSやハードウェアについてLinuxを対象として図と実験に中心に据えながら全容を解説していくという感じ。 章構成は、 1章 コンピューターシステムの概要 2章ユーザーモードで実現する機能 3章プロセス管理 4章プロセススケジューラ 5章メモリ管理 6章 記憶階層 7章ファイルシステム 8章ストレージデバイス の計8章から成る。 構成自体はこの手のでは一般的なものだと思うが、こので特筆すべきは図の多さとそのわかりやすさではないかと思う。 例えばこの図、7章ファイルシステムでfsckの問題点

    『Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識』を読んだ - razokulover publog
  • Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化 Facebookは、Linuxバイナリの内部配置を最適化することによりCPUのキャッシュ効率などを向上させ、実行速度を改善する「BOLT」をオープンソースで公開しました。 BOLTは「Binary optimization and layout tool」の略とされています(もしかしたら、より速く走るという意味でウサイン・ボルト氏にかけているのかもしれません)。 BOLTは言語やコンパイラに依存せず、ソースコードも不要 BOLTのおもな効果は、Linuxバイナリの実行状況をperfコマンドで取得し、高頻度で実行されている部分などを判別した上で、そうした部分がCPUキャッシュにヒットしやすいようにバイナリの内部配置を改善することなどで実行速度を向上させることと

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化
  • 中学2年生になる娘がついにWindowsの存在に気付く

    我が家のパソコンはLinuxデスクトップだ。 俺のパソコンはArchLinux、嫁のパソコンにはopenSUSE、娘のパソコンにはUbuntuがインストールされている。 今まで娘に質問されなかったのでWindows OSの詳細を話したことがなかった。 娘にとって学校でよく使うWindowsLinuxディストーションのうちの1つくらいの認識でしかなく、カスタマイズしたらWindowsになると思っていた。 娘はデスクトップ環境を知っている。 GnomeとKDEとXfceくらいしか知らないけど、デスクトップ環境を切り替えると操作性が大きく変わることを知っていた。 だからExplorerを知っているのかは定かでないが、Explorerに切り替えれば学校のパソコンと同じになると思っていた。 しかし遂にその時が来てしまった。 娘が言うのだ「お父さんCLIP STUDIO PAINT買ってよ」と。 「

    中学2年生になる娘がついにWindowsの存在に気付く
  • Linuxがifconfigやnetstatといった昔からおなじみのネットワークコマンドを置き換える本当の理由 - YAMDAS現更新履歴

    Chris's Wiki :: blog/linux/ReplacingNetstatNotBad もはや Linux で ifconfig や netstat といった昔からある(つまり Unix 由来の)ネットワークツールを非推奨にして、ss や ip といったものに置き換えているという話をワタシが知ったのは……記憶を辿ると、どうやら山形浩生経由らしい。 この方針に対し、古手のシステム管理者には、なんで安定して動いているものを置き換えなければならないのかとイライラする向きもあるのだが、それが必要な理由について解説している。 まず一つには、/proc 配下のいろんなファイルを読む ifconfig や netstat は、iproute2 の一部であり netlink ソケットを利用する ss や ip よりもコマンドの実行が非効率というのがある。これが大規模なシステムだと問題になるとい

    Linuxがifconfigやnetstatといった昔からおなじみのネットワークコマンドを置き換える本当の理由 - YAMDAS現更新履歴
  • Linuxカーネルのソースコードを機能とレイヤーで分類して表示してくれる「Linux kernel map」

    Linuxのカーネルは膨大な数のソースコードから成り立っており、どこに何の処理が書いてあるのかぱっと見当をつけるのにはかなりコードを読み込む必要があります。「Interactive map of Linux kernel」はそのソースコードを機能とレイヤーで分類して表示してくれるサイトということで、使い勝手を試してみました。 Interactive map of Linux kernel http://www.makelinux.net/kernel_map/ サイトにアクセスし、ロードが終わると下の画像のように6列6行の表が表示されます。列が機能の分類を表しており、「インターフェース」「システム」「処理」「メモリー」「ストレージ」「ネットワーク」という分類になっています。行はレイヤーを表しており、上からシステムコールなどの「ユーザースペースインターフェース」、「バーチャル」、「ブリッジ」

    Linuxカーネルのソースコードを機能とレイヤーで分類して表示してくれる「Linux kernel map」
  • Big Sky :: 書評:[試して理解]Linuxのしくみ

    Twitter で「読みたい」と呟いたら著者の武内覚さんから献しましょうかとお声を掛けて頂いたので即答でお願いしました。 僕はいつも Linux でしか動作しないソフトウェアを Windows に対応させるパッチを書いたりしているので、普段 Windows しか触っていないと思われがちですが、実は僕が Linux を触り始めたのは 1996 年にトッパンから出版された「Linux 入門」くらい昔だったりします。ちょうど Linux 2.0 が出た頃だったと思います。その頃の Linux はようやく SMB カーネルが出た頃で、まだまだお遊び感のある OS で不安定でもありました。ディストリビューションもほぼ Slackware くらいしか無かったかもしれません。 あの頃の Linux はインターネットを検索しても殆ど情報が出て来ず、気で調べるにはソースコードを読むしかありませんでした。

    Big Sky :: 書評:[試して理解]Linuxのしくみ
  • 「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ - $shibayu36->blog;

    最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon このLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる。このを読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、 Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ

    「ふつうのLinuxプログラミング」でLinuxの基本概念やシェルの仕組みについて学んだ - $shibayu36->blog;
  • 処理速度の遅いcurrentTimeMillis() – 前編 | POSTD

    今日はJavaライブラリの中でも非常に基的でよく使われるメソッド、 System.currentTimeMillis() を見ていきましょう。 このメソッドはミリ秒単位の精度で現在時刻を知らせます。このことから、このメソッドの処理能力は重要ではないと思う人もいるかもしれません。計測間隔が100ミリ秒や500ミリ秒なのであれば、現在時刻を取得するのに0.1や0.2ミリ秒かかったからといって誰も気にしないでしょう。しかし、やはり頻繁にこのメソッドを呼び出したいケースがありそうです。下記に例を挙げます。 異常に長い実行時間を検知し知らせる場合。例えば、HTTPリクエストを実行するのにかかる時間を計測するケースを考えます。この場合、1ミリ秒以下が計測されると思われることでしょうが、実際にはこのメソッドを使えばゼロが出力されることに注意して下さい。しかし時間が異常に長い(例えば100ミリ秒以上)場

    処理速度の遅いcurrentTimeMillis() – 前編 | POSTD
  • LinuxでGUIアプリケーションの作成 | Casley Deep Innovations株式会社 技術ブログ

    こんにちは、SI部の藤沢です。 前回(LinuxでもC#プログラミング(導入編)) にMonoのインストールを行ったので、簡単なGUIアプリケーションの作成をします。 今回のアプリケーションは、社員簿(ID、名前、メールアドレス)で下記を要件とします。 データの一覧表示が行える。 名前で検索が行える。 新規登録・編集登録(保存先はXMLファイル)が行える。 まずは、MonoDevelopを起動し、「ファイル」-「新規」-「ソリューションを作成する」からソリューションを作成します。テンプレートは「.Net」-「Gtk# 2.0 プロジェクト」を選択します。プロジェクト名、ソリューション名、保存先を入力します。 プロジェクトの作成が行えたら、XMLファイルを扱うため参照に「System.Xml」を追加しておきます。 社員情報XML まずは、社員情報のXMLの操作を行うクラスから作成していきます

    LinuxでGUIアプリケーションの作成 | Casley Deep Innovations株式会社 技術ブログ
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

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

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • `rm -rf /` on Bash on Ubuntu on Windows - Qiita

    Help us understand the problem. What is going on with this article?

    `rm -rf /` on Bash on Ubuntu on Windows - Qiita
  • Linuxシステムコール徹底ガイド | POSTD

    要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3

    Linuxシステムコール徹底ガイド | POSTD
  • Linuxカーネルのコードを読んで勉強になったこと - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    Linuxカーネルのコードを読んでて、なるほど〜と思うことはよくあるけど、その中でも特に今までの考え方をぶち壊してくれたのはなんだっけと思ったところ、やっぱりリスト構造かなと言うところ。 c言語でリスト構造を作る場合、一般的な教科書方式だと↓のようにデータとnextポインタは密結合になってると思います。これの場合、struct foobarのポインタをnext要素に使っているので、他の構造体(例えば、struct hogehoge)で同じことをしようとすると、その構造体ではstruct hogehoge *nextというメンバ変数を持つ必要があります。 ヘッド要素はstruct foobarです。 struct foobar { int n; char s[64]; struct foobar *next; }; struct foobar head; Linuxカーネルの場合、データとリ

    Linuxカーネルのコードを読んで勉強になったこと - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Linux カーネルを読もうとするこれからの自分へのまとめ - 戦場のプログラマー

    2015 - 10 - 31 Linux カーネルを読もうとするこれからの自分へのまとめ WIP Linux カーネル まとめ Linux カーネル 読むぞーって思ってたけどとりあえずクローンしたはいいけどこれどうしたらええんやろって思って 3 日坊主になってしまっていたので、最近 カーネル の話をよく聞くようになったからまた性懲りもなく Linux カーネル をクローンしました。 カーネル の入手方法 まず Git 入れてます。 sudo apt-get -y install git sudo yum -y install git おもむろに The Linux Kernel Archives を訪れます。 おぉ、サイト全体 SSL 化されてるんだな。 こういうサイト最近増えたよね。 PROTOCOL のリンクを踏むと HTTP だったら RFC に飛ばされたりします。うーん感慨深い。

    Linux カーネルを読もうとするこれからの自分へのまとめ - 戦場のプログラマー
  • Linuxの背後にある精神

    Linus Torvalds / 青木靖 訳 2016年2月 (TED2016) クリス・アンダーソン 奇妙な話です。あなたのソフトウェアであるLinuxは何百万というコンピュータの中にあり、インターネットのかなりの部分を動かしています。さらに実際に使われているAndroid端末が15億台くらいあって、その1台1台にもあなたのソフトウェアが入っています。これはすごいことで、その開発部ともなれば、さぞ大層な施設なんだろうなと思っていたので、この写真を見たときはびっくりしました。これがその — Linux世界部なんですよね?(笑)(拍手) リーナス・トーバルズ 大したものには見えませんよね。この写真の中で最も興味深く、多くの人が反応する部分は、あのトレッドミル・デスクです。私の仕事場で一番興味深いものですが、私はもう使っていません。この2つは関連していると思います。私の働き方として、外的な

    Linuxの背後にある精神
  • 軽量イメージ時代を 生きるためのAlpine Linux

    2016/04/21 Alpine Linux Meetup #1

    軽量イメージ時代を 生きるためのAlpine Linux
  • Linux Kernel Document Wiki @ SF.jp

    トップページへ Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。 目次まえがき第0章 Linuxカーネルの構成要素 0.1 Linuxカーネルとは 0.2 Linuxカーネルのソースコード 0.3 Linuxカーネル機能の概要 0.4 カーネルプリミティブ 0.5 プロセス管理 0.6 メモリ管理 0.7 ファイルシステム 0.8 ネットワーク 0.9 プロセス間通信 0.10 Linuxカーネルの起動 0.11 Linuxカーネルの動作例 Part 1 カーネルプリミティブ第1章 プロセススケジューリング 1.1 マルチタスク 1.2 プロセスとは? 1.3 プロセス切り替え 1.4 プロセスディスパッチャの実装 1.5 プロセススケジューラ 1.6 プロセススケジューラの実装 1.7 事象の待ち合わせ 1.8 最

    Linux Kernel Document Wiki @ SF.jp
  • Advancedlinuxprogramming.com

    Advancedlinuxprogramming.com This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: find a tutor Healthy Weight Loss Migraine Pain Relief Contact Lens Free Credit Report Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information