---
# System prepended metadata

title: ファイル管理(2 -04)
tags: [基本情報技術者試験]

---

# ファイル管理(2 -04)

## ディレクトリ
- ルートディレクトリ：階層構造の最上位のディレクトリ
　 - サブディレクトリ


- カレントディレクトリ：現在の操作対象のディレクトリ

## パス指定
- 絶対パス指定 ... ルートディレクトリが起点
  
- 相対パス指定 ... カレントディレクトリが起点
　 → 1階層上のディレクトリに移動するには　. .　で表す 

----------------

　 
# プログラムの性質（2−05）
- 再配置可能（リロケータブル）　.. どこに配置しても実行可能
- 再入可能（リエントラント） .. 複数のタスクが同時に使用
- 再使用可能（リユーザブル）　.. 再ロードしなくても使用可能
- 再帰的（リカーシブ）　.. 自分自身を呼び出す
　 - 再帰関数　.. 終了条件まで処理を繰り返し、求めた値を代入

----------------



# プログラム言語（2-06）
## プログラム言語

### 1.低水準言語
　コンピュータが理解しやすい機械語（近いもの含む）で記述
 - 機械語　.. １と０で構成、コンピュータが理解できる唯一の言語
 - アセンブラ語　.. 機械語を１対１で記号に置き換えた言語
 
### 2.高水準言語
人間が理解しやすい自然言語に近い形式で記述
 - COBOL　.. 事務処理向け
 - FORTRAN .. 科学技術計算向け
 - C＋＋　..　C言語にオブジェクト指向の概念を取り入れた言語
 - JAVA　.. インターネットや分散システム環境で利用されるオブジェクト指向型言語 

## 言語プロセッサ
原始プログラムを機械語に翻訳するためのプログラムの総称

 - アセンブラ　.. アセンブラ言語　⇨　機械語
 - **インタプリタ**　.. 高水準言語のプログラムを**１命令ずつ**解釈して実行する
 　　　　　　　　　*例） PHP, Perl, **Python**, etc*
 - **コンパイラ**　.. 高水準言語のプログラムを**一括して**機械語に翻訳する
 　　　　　　　　　*例） C, C++, FORTRAN, COBOL, **Swift**, etc*
 - ジェネレータ　.. 処理の目的に応じたプログラムを自動的に生成する 

## ソフトウェアの作成手順（コンパイル方式）

　 **原始プログラム**　
 　　　⬇︎ *コンパイル* byコンパイラ
 　　　⬇︎　
  **目的プログラム**(※)
 　　　⬇︎　*リンク* byリンカ
 　　　⬇︎   　 +ライブラリモジュール
  **ロードモジュール**
 　　　⬇︎　*ロード* byローダ
 　　　⬇︎
 　　[実行]
   
   (※)原始プログラム（ソースプログラム）を機械語に翻訳したもの
   
### ■コンパイラ
4ステップ！！

**1.字句解析**
プログラムを表現する文字の列を、意味のある最小の構成要素の列（トークン）に変換する
 例）
 hoge=100+10-30
　　　　　↓
 hoge，=，100，+，10，-，30
  
**2.構文解析**
言語の文法に基づいてプログラムを解析し、文法誤りがないかチェックする

**3.意味解析**
変数の宣言と使用とを対応付けたり、演算におけるデータ型の整合性をチェックする

**4.最適化**
レジスタの有効利用を目的としたレジスタ割付けや、不要な演算を省略するためのプログラム変換を行う（＝プログラムの実行時間の短縮）


 ### ■リンク
- 動的リンキング .. **必要になった時点で**ライブラリやモジュールをロード
- 静的リンキング .. 開発時に必要なプログラムを**事前に**すべてリンクしておく
   　　　　　　　  　　 （それ単体で実行可能）
               
### ■ロード
ロードモジュールを主記憶上にロードする
   
## デバッグツール（デバッガ）
　プログラムに潜んでいるバグを発見し修正を支援をするツール。
　（ダンプファイル：ダンプした内容を出力したファイル）
 
 - トレーサ　.. 命令の実行順序や結果の**履歴**を出力
 - スナップショットダンプ　.. 特定の命令の**実行ごとに**メモリの内容を出力
 - ファイルダンプ　 .. **磁気テープファイルや磁気ディスクファイルなどの**内容を出力
 - メモリダンプ　.. 実行中に**エラーが発生したときに**メモリの内容を出力

## 統合開発環境（IDE）
　プログラミングに必要なソフトウェア（※）が統合された開発環境
  　 （※）エディタ、コンパイラ、デバッガなど
   
   例）Eclipse（Java等の開発）, Xcode, Android Studio
 　　　
 　
###### tags: `基本情報技術者試験`
   
　
   
   
　



