タグ

UNIXに関するhajimehoshiのブックマーク (66)

  • UNIX v6 on simh - Plan9日記

    Lions' Commentary on UNIX読書会に参加した。いまだにLionsが大学の教科書として現役だという事実に驚いたが、読書会に集まる我々も五十歩百歩か。何はともあれ、一緒に読んだり教えたりしてくれるメンタがいれば、現代でも楽しめる一冊であることは確か。すでに読書会のメモがいくつか書かれているようだけど、@kotritさんがきっとまとめページを作ってくれるはずなので、期待! ここでは実際にUNIX v6が動いているところを見て理解の助けにしたいということで、PDP-11シミュレータsimhでUNIX v6を動かす方法について書いてみる。 PDP-11は古いマシンではあるんだけど、愛好者が多いのでウェブ上には非常に多くの情報が公開されている。シミュレータの開発や当時のディスクやテープのアーカイブもあるし、ソースコードも公開されている。最初はsimhのSoftware Kits

    UNIX v6 on simh - Plan9日記
  • UNIXv6のソースコードな話 - syuu1228's blog

    Lions' Commentary on UNIX 読書会で気になった所があるのでメモ。 型の種類と幅 PDP-11は16bitなコンピュータなのでレジスタ=アドレスは16bit=2byte。 これを前提に型の幅を考えると、 char 1byte int 2byte char* 2byte となるようだ。 short、void、void *、unsignedあたりは見当たらない…。 宣言 関数宣言はしないようだ。 関数コールは型チェック無しに書かれたとおりコンパイルされるのだろう。 返り値の型宣言が無いんだけど…? int coremap[CMAPSIZ], int swapmap[SMAPSIZ]がsystm.hに書かれているだけで.cに書かれていないのは今のCな感覚だととてもおかしいけど、宣言でなくて実体だという事か? systm.hをincludeしている.cは当に一つしかないのか

    UNIXv6のソースコードな話 - syuu1228's blog
  • The Rise of "Worse is Better"

    $B%G%6%$%s$N!V0-$$J}$,$h$$!W86B' (B The Rise of "Worse is Better" rpg@lucid.com $BF|K\8lLu (B: daiti-m@is.aist-nara.ac.jp $B$K$h$k (B $B$b$N (B $B$r!"KRLn$,2~cb (B $B;d$d (B Common Lisp $B$H (B CLOS $B$N%G%6%$%J!MIT/Stanford $BJ} $B4J7i@- (B $B%G%6%$%s$OLL$K$*$$$FC1=c$G$J$1$l$P$J$i$J$$!# (B $B$3$N$H$-!"%$%s%?! $B@5Ev@- (B $B%G%6%$%s$O$9$Y$F$NE@$K$*$$$F@5$7$$$b$N$G$J$1$l$P$J$i$J$$!# (

  • FrontPage - BugbearR's Wiki

    何が脆弱性なのか? † bash に環境変数が渡されたときに、関数定義の形をした文字列を渡されると、それを解釈して実行してしまう。 例 脆弱性がある状態(1つ目のechoコマンドが実行されてしまう) $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test 脆弱性がない状態(来望まれている動き) $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" this is a test このため、環境変数に "() { :;}" のような関数定義の形の文字列が入っている状態で、bash が起動する環境では、攻撃者が任意のコマンドを実行できてしまう。 CGI では、クライアントから渡された文字列を

  • ログアウトしてもバックグラウンド ジョブを継続する方法

    はじめに SSH 接続で時間の掛かるシェルスクリプトをバックグラウンドで走らせて帰りたいのに、SSH 接続を切るとジョブが死んでしまいます。SSH 接続に限らず目の前の OS からログアウトしたりターミナル エミュレータを終了しても同じ現象が起こります。 この症状は正常です。なぜなら、バックグラウンド ジョブを起動したプロセス(ログイン シェル)が子プロセスである該当のバックグラウンドジョブをハングアップ シグナル( HUP )によって終了させるからです。 シェルスクリプトを起動した親プロセスは子プロセスの終了状態を監視しています。ですからログアウトして親プロセスであるシェルが終了すると子プロセスはゾンビ プロセスとなってしまうので親プロセスとなるシェル(ログインシェル)は子プロセスであるバックグラウンド ジョブを kill ( kill -HUP ) するのです。 nohup コマンド

    ログアウトしてもバックグラウンド ジョブを継続する方法
  • Unix修正主義

  • UNIX TIMEを用いるメリットは何でしょうか?2038年問題などの問題もあり、今の時代に敢えて使用するメリットがわかりません。…

    UNIX TIMEを用いるメリットは何でしょうか?2038年問題などの問題もあり、今の時代に敢えて使用するメリットがわかりません。昔はメリットとされたこと、今後も他の形式(文字列型、日付型など)を使用するよりもメリットとなることを教えてください。私自身が漠然と不思議に思ったことなので、どういった視点からの回答でも構いません。

  • 「Plan 9は死なず」――GREE Labs勉強会フォトレポート - @IT自分戦略研究所

    第3回 「Plan 9は死なず」――GREE Labs勉強会フォトレポート 岑康貴(@IT自分戦略研究所) 2010/2/15 GREE Labs 第20回オープンソーステクノロジー勉強会「Plan 9について」 2010年2月10日(水) GREE Labsが主催する勉強会。2006年から定期的に開催されている。UNIXの後継として開発された分散OS「Plan 9 from Bell Lab」が今回のテーマ。

  • Bash基礎文法最速マスター - いろいろ解析日記

    Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
  • OpenBSDとはどんなOSか?各地で開かれているBSDConの映像を見て勉強してみよう。 - syuu1228's blog

    一応誤解の無いように書いておくと、あなたが映像を見て勉強して下さいという意味ではなく、私が映像を見て勉強しますという意味です。 何も分かってないので一切解説は書きません ;-) この辺に色々動画が上がっているので、OpenBSD関係のモノをまとめてみます。 bsdconferences - YouTube イベントの並び順は新しい順。 Slackathon 2009 AsiaBSDCon 2009 dcbsdcon 2009 AsiaBSDCon 2008 おまけ FreeBSD/mips portの話。

    OpenBSDとはどんなOSか?各地で開かれているBSDConの映像を見て勉強してみよう。 - syuu1228's blog
  • Nettica VPN Service » Make Your Own Cloud

    Welcome to Nettica!We are a cloud based VPN service built on WireGuard™ technology providing fast, secure connections to local and cloud resources. Make your own cloud! Mix and match between local and multi-cloud environments managed with the Nettica Agent. Command and control your network from anywhere! OAuth2 and role-based access control provide a secure environment to manage your network. Star

    Nettica VPN Service » Make Your Own Cloud
  • Plan 9初心者ガイド - Plan9日記

    Michael A. Covington 2008年5月28日 訳者注 オリジナルはA Plan 9 Newbie's Guideである。著者のMichael Covington氏はUniv. of Georgiaの学生で、インターンか何かでCoraidで働いたときに書いたようだの先生で、Coraidのために書いたものだ。訳したバージョンはちょっと古いものなので、できればオリジナルを参照されたい。 2008年末に少し訳したが、今は完訳する時間がないので、とりあえず公開してしまうことにした。 はじめに この文書は何か? これは私自身がCoraidで始めた経験に基づいた、Plan 9オペレーティングシステムのユーザインタフェースに関するクイックスタートガイドである。具体的には、Coraidで実際に使った設定を記述している。UNIXと商用GUIWindowsMacOS、最近のLinux)に関

    Plan 9初心者ガイド - Plan9日記
  • xv6 - Wikipedia

    xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 and RISC-V systems. It was created for pedagogical purposes in MIT's Operating System Engineering course in 2006.[1] Purpose[edit] MIT's Operating System Engineering course formerly used the original V6 source code. xv6 was created as a modern replacement, because PDP-11 machines are not widely available and th

    xv6 - Wikipedia
  • n日前より古いファイルを消す - moratorium

    n日前より古いファイルを消す 2009-05-12 (Tue) 7:51 Unix バックアップスクリプトを書く時にいつも忘れるのでメモ。 DATE=`date -d '7 days ago' +%y%m%d0000` echo $DATE echo >temp.file touch -t $DATE temp.file find . ! -newer temp.file -print | xargs rm -f rm temp.file findコマンドの-newerを使用しています (お好みで-anewer, -cnewerなど)。 P.S. chunさんよりzshのextended_globを覚えろとの指令が飛びました。 setopt extended_glob; ls *(^m-7) -ld Zzappers Best of ZSH Tips おー。 P.S.2 Higepon

  • FrontPage - PukiWiki

  • 分割コンパイルとリンケージ

    | 分割コンパイルと翻訳単位 | extern記憶クラス指定子 | リンケージ | オブジェクトモジュールとライブラリ | 演習問題 | [付録]nmコマンド | 分割コンパイルと翻訳単位 だんだん複雑なプログラムを開発するようになると ソーステキストが長くなり,一つのソースファイルで作成していると 全体を見通すのが難しくなってきます. またほんの一部だけを修正をしたときにも 全体をコンパイルし直さなければならないので, コンパイルに時間がかかるようになります. よって,プログラムをいくつかの部分に分けて 別々に開発したいという要求が自然に起こってきます. このような考えからプログラミング言語には 一つのプログラムを複数に分割できる機能が提供されることが多く, そのような各部分のことを一般にはモジュールと呼びます. C言語ではモジュールは翻訳単位と呼ばれ, おおまかには一つのソースファイル

  • The Linux GCC HOWTO

    Daniel Barlow <daniel.barlow@linux.org>v1.17, 28 February 1996 中野武雄 <nakano@apm.seikei.ac.jp>v1.17j2, 29 January 1997 この文書では linux の下で GNU C コンパイラとコンパイルに必要なライブラ リを設定する方法について記しています。またこれらの環境を用いたプログラ ムのコンパイル、リンク、実行およびデバッグについても概要を述べます。こ の文書の内容の多くは Mitch D'Souza の GCC-FAQ から得たものであり、この 文書は GCC-FAQ の代わりとなるものです。また ELF-HOWTO からも多くの題材 を採用しており、同じくこの文書は ELF-HOWTO の大部分を置きかえるもので す [訳注:Daniel さんは ELF-HOWTO の著者でも

  • Tokyo Inferno / Plan 9 Users Group

    入門 TIP9UGは, Inferno/Plan9の発展を強く支持する日在住の人たちで設立しました。 どなたでも入会することができます。 現在、入会規則や入会費はありません。  グループに参加するためには、TIP9UG メイリングリストに登録してください。

  • Plan 9

    目次 0.0.1  注意事項 1.0.0 ニュース 2.0.0 Plan 9 とは 2.1.0 誕生 2.2.0 現在のコミュニティ 2.3.0 ホームページの目的 3.0.0 目次 3.1.0 Plan 9 のインストールと運用 3.2.0 Plan 9 の香り 3.3.0 プログラミング 3.4.0 UNIX との違い 3.5.0 Pegasus プロジェクト 3.6.0 その他 4.0.0 Plan 9 第四版 マニュアル 5.0.0 Plan 9 関係へのリンク 5.1.0 海外(団体) 5.2.0 海外(個人) 5.3.0 国内(俺のもあるよと言う人は知らせて下さい) 5.4.0 Web 上の記事 5.5.0 News Group 改訂: 2008/01/07 Plan 9 とは 誕生 Plan 9 は1995 年に Bell 研究所によってリリースされた新しいオペレーティングシ

  • Unix Programming Frequently Asked Questions 日本語訳 - Table of Contents

    このFAQについて 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? 1.1.2 fork()とvfork()の違いは何ですか? 1.1.3 forkによる子プロセスを終了するときにexitよりも_exitを使うのはなぜですか? 1.2 環境変数 1.2.1 どうすればプログラム内で環境変数の値を取得・設定できますか? 1.2.2 どうすれば全ての環境変数を調べられますか? 1.3 どうすれば一秒未満のsleepができますか? 1.4 粒度の細かいalarm()はどうすれば得られますか? 1.5 どうすれば親プロセスと子プロセスの間で通信できますか? 1.6 どうすればゾンビプロセスができることを防ぐことができますか? 1.6.1 ゾンビプロセスってなんですか? 1.6.2 どうすればゾンビプロセスになることを防げますか? 1.7