タグ

Linuxに関するegapoolのブックマーク (49)

  • なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日語版刊行によせてRuby

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎
  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • プロセスとスレッド - Linux Kernel - FreeBSDいちゃらぶ日記

    研究室内で行われている、Linux Kernel勉強会で発表を行いました。勉強会でスピーカーを行うのは初めてでしたので、なかなか番はスムーズに進まなくて残念でしたが、その一方で非常に良い経験となるものでした。 そして今回、この資料を眠らせておくのは勿体ない、ということでこれを当ブログにて公開したいと思います。 なお、オライリー・ジャパンより発行されている「詳解Linuxカーネル 第三版」を元にしています。今回担当したのは3章の前半である3.1「プロセス、軽量プロセス、スレッド」と3.2「ファイルディスクリプタ」です。 スライド配布ページ でも、 ただ単にスライドのファイルを置いておくのもねということで、以下に今回の内容(3章)のさわりの部分について書いていきたいと思います。 まず始めに プロセスとスレッドについて、ユーザ側、つまりシステム利用者(アプリケーションプログラマなど)から見たこ

    プロセスとスレッド - Linux Kernel - FreeBSDいちゃらぶ日記
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • Linuxのしくみを学ぶ - プロセス管理とスケジューリング

    プロセスとマルチタスクの実現 Linuxは、多数のプロセスを同時に動作させる事が出来るマルチタスク環境を実現しています。 psコマンドやtopコマンドを実行しプロセスのリストを取得すると多数のプロセスが実行中である事がわかります。 また、これらのプロセス全てが同時に平行して動作しているように見えます。 これはどのようにして実現されているのでしょうか。 一般的に、1つのプロセッサは同時に複数のプログラムを実行する事が出来ません1。 そこで、マルチタスクをサポートするOSでは複数のプロセスを非常に短い時間ずつ切り替えながら実行する事で、体感上は複数のプロセスが同時に実行されているように見せています(図1)。 このような仕組みを実現する為にどんな機能がカーネルへ実装されているのか順に見ていきましょう。 プロセスの切り替え CPU上で処理中のデータを失う事なく現在のプロセスから別のプロセスに切り替

  • Linux コンテナの基礎 / KOF 2016

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

    Linux コンテナの基礎 / KOF 2016
  • Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita

    なぜStackOverflowか Upvote/Downvoteの仕組みにより、自然とベストプラクティスが蓄積されている 世界中のプログラマの目に晒されているため質が高い 答えが幾つか出されているため視野が広がる・一つの手法に固執することがない 英語の勉強にもなる StackOverflowのおすすめの見方 質問はまずしっかり理解する それに対する答えを比較してみて、なぜそう動くのかを考える コメント欄はFont Size的には小さいが、かなり濃いコメントが書かれていることが多いので暇なら目を通す 10. Looping through the content of a file in Bash? ファイルの内容をループで取得するためのベストプラクティス。 (2015/10/23 : 節修正しました。@heliac2000 さん、@kawazさん、ありがとうございました。詳しくは記事コ

    Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita
  • Systemd入門(1) - Unitの概念を理解する - めもめも

    Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart

    Systemd入門(1) - Unitの概念を理解する - めもめも
  • Linuxカーネルの基本機能:ITpro

    カーネルはLinuxシステムの中核をなす重要なソフトウエア部品です。Linuxを使いこなすためには,カーネルの動作や仕組みに対する理解が欠かせません。連載では,Linuxカーネルの役割とその仕組みを体系的に紹介します。 第1回 カーネルの機能とその利用法 第2回 プログラムとプロセス 第3回 プロセス・スケジューリング 第4回 プロセス・メモリー管理 第5回 カーネル・メモリー管理 第6回 割り込み管理 第7回 ファイル・システム(前編) 第8回 ファイル・システム(中編) 第9回 ファイル・システム(後編) 第10回 ファイル名の文字コード 第11回 デバイス・ドライバ 第12回 ソケット・インタフェース 第13回 IPとルーティング 第14回 TCPとUDP 第15回 パケット・フィルタリングとQoS機能 第16回 排他制御機構 第17回 モジュール機構 第18回 カーネルの起動処理

    Linuxカーネルの基本機能:ITpro
  • 連載:ソースコード・リテラシーのススメ|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:ソースコード・リテラシーのススメ|gihyo.jp … 技術評論社
  • LPI認定(LPIC)試験情報:今日の一題

    NISサーバを構築しようとしている。NISマスターサーバでNISマップをセットアップするには、どのコマンドを実行すればよいか? ypinit -m ypset ypinit -s ypserv ypbind

  • Bashのよくある間違い | Yakst

    原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

    Bashのよくある間違い | Yakst
  • エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita

    タイトルはかなり挑戦的(?)ですがあまり気にしないでください。 ※注意 このエントリで紹介しているオプション、コマンドはCentOSでしか動作確認をしていません。 その他ディストリビューションや、インストール方法によっては挙動が異なる場合があります。 「less」 使ってますか? エンジニアなら普段Linuxに触る機会が多々あるかと思います。 エンジニアのみならずMacだったりUbuntuだったりで私用PCでもターミナルが使えるようになっている方は多いかもしれません。 私は普段の仕事ではサーバの運用管理をしています。 仕事柄触る頻度が高いのはLinuxサーバです。 そして、使うのは大体CLIです。 そもそもLinuxGUIを触る機会がなかなかありません。 大体リモートからターミナルで接続してCLIでちょいちょいっと処理をする感じですね。 GUIである場合でもLinuxを使っていればターミ

    エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita
  • Linux開発環境の基礎知識 - Qiita

    自分が長期間Linuxを使わずに、ある時に急に使うことになったりするのでコピペで使える知識をまとめたものです。自分用のメモですのでエントリとして書くのを少しためらいましたが、同じ境遇の人がコピペで使えれば便利かなと思い記事にしました。 MacOSLinuxではなくBSD系ですが、パッケージコマンドの中に少し紹介してます。 CentOS7などに対応してないのでどなたか編集リクエスト送って頂けると助かります。 個人の設定ファイル ホームディレクトリに設定ファイルがある。 場所 意味

    Linux開発環境の基礎知識 - Qiita
  • cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記

    なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro

    cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

    egapool
    egapool 2015/04/03
    いつか読む…事はないだろう
  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • tar/zipコマンドで解凍・圧縮一覧まとめ(gz、zip、tar.xzなど)

    現在の場所 : ホーム > ネットの基礎知識 > tar/zipコマンドで解凍・圧縮一覧まとめ(gz、zip、tar.xzなど)

    tar/zipコマンドで解凍・圧縮一覧まとめ(gz、zip、tar.xzなど)
  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • シェルの基礎とSSH Tips - Qiita

    第40回勉強会(2015/02/21) - 長岡 IT開発者 勉強会(NDS) @hayajo はじめに Bourne Shell系の内容です。C Shell系ではないので注意してください。 NOTE: 特に明言しない場合は ash(dash) 準拠となります。

    シェルの基礎とSSH Tips - Qiita