1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

システムプログラミング実践

Posted at

#これはなに?
Goで覗くシステムプログラミングの世界で学んだことをアウトプットする記事

#システムプログラミングとは?
以下のような様々定義があるが、今回は一番下の「OSの提供する機能を使ったプログラミング」をシステムプログラミングの定義として進める。

  • C言語によるプログラミング
  • アセンブリ言語を意識したC言語によるプログラミング
  • 言語処理系(インタプリタを含む)、特にネイティブコードを生成するコンパイラの開発
  • OS自身のプログラミング
  • OSの提供する機能を使ったプログラミング

#OSの機能について
一般的なコンピュータに搭載されているOSについて、その機能の最大公約数をとれば、次の機能に集約されるでしょう。

  • メモリの管理
  • プロセスの管理
  • プロセス間通信
  • ファイルシステム
  • ネットワーク管理
  • ユーザ管理(権限など)
  • タイマー

#Go言語
Go言語は、C言語の性能とPythonの書きやすさ/読みやすさを両立させ、モダンな言語特徴をうまく取り入れた言語となることを目標にGoogleが開発したプログラミング言語。

スクリーンショット 2019-10-01 22.07.03.png

スクリーンショット 2019-10-01 22.07.03.png

import "fmt"

func main(){
  fmt.println("hello world¥n")
}

デバックをしていく事により、上記プログラムがシステムコールの呼び出しをしていることがわかる。

スクリーンショット 2019-10-02 16.02.22.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?