'File System/#_Basic'에 해당되는 글 8건

  1. 2012.12.23 ★_MBR by 훈승오승훈
  2. 2012.12.23 ★_Volume&Partiton by 훈승오승훈
  3. 2012.12.23 ★_Slack Space by 훈승오승훈
  4. 2012.12.18 ★_Cluster by 훈승오승훈
  5. 2012.12.17 ★_주소 지정 방식 by 훈승오승훈
  6. 2012.12.17 ★_HDD 구성 by 훈승오승훈
  7. 2012.12.17 ★_OS별 File System by 훈승오승훈
  8. 2012.12.17 ★_기본 개념 by 훈승오승훈

★_MBR

File System/#_Basic 2012. 12. 23. 22:13

* MBR 정의

 -> Master Boot Record

 -> Boot Record를 총 관리해주는 역할을 한다.

 -> 각각 Partition에 속한 BR들을 호출하기 위한 

  : program 영역 + partition table


* MBR 순서

 -> Partition Table을 읽어서 부팅 여부를 확인한다.

 -> MBR boot code에서 각 partition 내의 BR을 호출하는 program이 동작한다.

 -> 각 partition의 실제 주소를 계산한다.

 -> 각 partition의 BR을 호출한다.


* MBR 구조

* Partition Table 구조

 -> 4

  FAT32 : 0B /0C

  NTFS : 07

  Extended : 0F

출처 : http://forensic-proof.com/archives/435


'File System > #_Basic' 카테고리의 다른 글

★_Volume&Partiton  (0) 2012.12.23
★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
Posted by 훈승오승훈
l

* Volume

 -> OS나 Application 등에서 이용할 수 있는 저장 공간이다.
 
 -> 즉, 주소가 할당되어지는 sector들의 집합이다.

 -> 하나의 file system으로 인식되어 사용되는 논리적인 저장 공간이다. 


* Partition

 -> Volume안에 있는 연속된 sector들의 집합이다.

 -> 연속된 저장 공간을 하나 이상의 연속되고 독립적인 영역으로 나누어서 사용할 수 있는 공간이다.

 -> Partition은 총 4개로 이루어진다.

 -> Primary Partition 3개 + Extended Partition 1개

  : Primary Partition 중, 하나는 부팅이 가능하여 한다.

  : Extended Partition은 Partition Table에서 0x05h / 0x0fh로 가진다. 

  : Extended Partiton은 다시 Logical Partiton으로 이루어진다.


* 예

  => 파란색 - (C:) -> NTFS / Primary Partition

  => 초록색 -> Extended Partition

  => 그 안 -> QUDTLS (D:) -> FAT32 / Logical Partition



'File System > #_Basic' 카테고리의 다른 글

★_MBR  (0) 2012.12.23
★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
Posted by 훈승오승훈
l

★_Slack Space

File System/#_Basic 2012. 12. 23. 22:00

* Slack Space Area


 -> 저장장치의 물리적인 구조와 논리적인 구조의 차이로 발생하는 낭비 공간이다.

 -> 물리적으로는 할당된 공간이지만 논리적으로는 사용할 수 없는 공간을 의미한다.


* RAM Slack

 -> RAM에 저장된 Data가 저장장치에 기록될 때 나타나는 특성에 따라 붙여진 이름이다.

 -> cluster나 block이라는 논리적인 sector의 모음을 통해 데이터를 할당하지만
  
  : 물리적으로는 섹터 단위로 데이터가 기록된다.

 -> 만약 cluster가 2KB(2048Byte)인 system에서 712Byte 파일을 기록할 때,

  : 해당 파일의 물리적인 크기는 2KB가 할당된다.

  : 실제로는 sector 2개의 크기만 데이터가 기록된다. 

  : 첫 번째 sector에는 712byte의 첫 512byte가 기록되고, 

  : 두 번째 sector에는 712byte의 나머지 200byte가 기록된다. 

  : 두 번째 sector에 나머지 312byte는 0으로 초기화 시킨 후 sector 크기 만큼 기록한다.

* Drive Slack

 -> cluster의 사용으로 인해 낭비되는 공간을 나타내는 용어이다.

 -> cluster 크기가 2KB이기 때문에, 총 4개의 sector를 사용한다. (2개는 데이터 / 2개는 ???)

 -> 아무런 작업도 수행하지 않는 sector들의 집합을 의미한다. 

 -> drive slack에도 별도의 초기화 작업을 한다면 또 다른 overhead가 될 것이다.

 -> 악의적인 목적으로 악성코드 등을 기록해 두는 경우가 있다. 

* 예

 => 빨간색 128byte가 RAM slack

  => 파란색 2048byte가 Drive slack


* Filesystem Slack

 -> 물리적인 공간을 사용하기 위해서는 filesystem을 생성한다.

 -> 이 때, filesystem의 크기는 cluster 크기에 따라 결정하는데,
  
  : 마지막 부분에 사용할 수 없는 영역이 발생한다. 

  : 악성코드를 은닉하는데 많이 사용한다.

 -> 1002KB의 volume이 있는데, cluster가 4KB이면
  
  : 마지막 2KB는 사용할 수 없는 영역이 된다. 


* Volume Slack

 -> 전체 Volume 크기와 할당된 partition 크기의 차이로 발생하는 낭비 공간이다.

 -> Partition의 크기는 임의로 변경하기 때문에 volume slack은 변경이 가능하다.



'File System > #_Basic' 카테고리의 다른 글

★_MBR  (0) 2012.12.23
★_Volume&Partiton  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
Posted by 훈승오승훈
l

★_Cluster

File System/#_Basic 2012. 12. 18. 17:34

* Cluster 개념

 -> OS가 저장장치에 data를 읽고 쓰는 논리적인 기본 단위이다.

 -> OS는 저장장치의 공간을 활용하기 위해 file system을 사용한다.
 
 -> LBA 주소 방식보다 상위의 논리적인 구조를 말한다. 
 
 -> Data 입출력의 효율을 높이기 위해 file system 내에서 사용되는 sector의 모음이다.


* sector / cluster

 -> 저장장치의 물리적인 최소 단위는 1 sector(512byte)이다.
 
 -> HDD controller에 의해 동작하는 단위도 sector 단위로 읽고 쓰여진다.

 -> OS에서는 cluster를 사용함으로써 인터럽트가 줄어들며 큰 효율이 발생한다. 

 -> 요즘 file system은 sector 단위로 관리하지 않고 

  : 여러 sector를 묶은 cluster 개념으로 데이터를 관리한다. 

 ->  cluster 크기가 4KB(4096Byte = 8sector) 경우,

  : 1M file을 기록할 때, BIOS를 통해 256번의 처리가 필요하다.

 -> sector 단위로 관리를 할 경우,
 
  : 1M file을 기록할 때, BIOS를 통해 2048번의 처리가 필요하다.

 -> Cluster의 크기가 크면 입출력 효율은 향상되지만, slack 영역이 늘어나고

 -> Cluster의 크기가 작으면 입출력 효율은 떨어지지만, slack 영역이 줄어든다. 


* 출처
 -> http://forensic-proof.com/archives/357

'File System > #_Basic' 카테고리의 다른 글

★_Volume&Partiton  (0) 2012.12.23
★_Slack Space  (0) 2012.12.23
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
★_OS별 File System  (0) 2012.12.17
Posted by 훈승오승훈
l

CHS 주소 지정 방식



* LBA 주소 지정 방식



'File System > #_Basic' 카테고리의 다른 글

★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_HDD 구성  (0) 2012.12.17
★_OS별 File System  (0) 2012.12.17
★_기본 개념  (0) 2012.12.17
Posted by 훈승오승훈
l

★_HDD 구성

File System/#_Basic 2012. 12. 17. 19:02

 -> 여러 장의 Platter로 이루어져 있다.

  : 동그란 원형 마그네틱 판이다.

 -> 각각의 Platter 표면은 track과 sector로 나눠지게 된다.

 -> platter의 표면마다 head가 있다.

  : read / write를 하는 역할을 한다.

 -> head의 수는 platter*2가 된다.

 -> Track

: 디스크의 중심으로부터 반지름이 같은 영역을 이어놓은 원이다.

: 반지름이 커질수록 원이 커진 만큼 데이터를 많이 보관한다.

 -> Sector

: Disk에서 부채꼴 형태로 자른 뒤 다시 트랙으로 자른 형태가 sector다.

  : 각각의 sector는 571byte의 공간을 차지한다.

  : Sector는 각각 주소 값을 가지고 있어서 해당 주소로 접근하여 각 섹터를 읽어온다.

   : sector(571byte) = 고유번호(59byte) + data(512byte)
 
 -> Cylinder

: 여러 장의 platter가 수직으로 같은 위치에 있게 되는데,

: 이 때 수직으로 같은 위치에 있는 트랙들을 합친 것을 말한다.

: 4장의 platter가 있고 100개의 트랙이 있다면,

: 100개의 cylinder가 있는 것이고, 각 cylinder에는 8개의 track이 존재한다. 


'File System > #_Basic' 카테고리의 다른 글

★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_OS별 File System  (0) 2012.12.17
★_기본 개념  (0) 2012.12.17
Posted by 훈승오승훈
l

* OS별 File System 종류


 => 고정적으로 사용되는 것은 아니다.
 => 경우에 따라서 서로 포팅되어 사용될 수 있다.


'File System > #_Basic' 카테고리의 다른 글

★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
★_기본 개념  (0) 2012.12.17
Posted by 훈승오승훈
l

* File System

 -> 저장장치 내에서 데이터를 읽고 쓰기 위해 미리 정해진 약속

* Cluster

 -> OS가 데이터를 읽고 쓰는 논리적인 기본 단위

 -> File System에 따라 cluster 크기가 고정 & 저장장치 크기를 고려하여 조절

 -> 크기는 저장장치의 크기 및 사용 용도에 따라서 달라진다.

 -> if) cluster = 4KB / data = 1KB -> 3KB의 낭비되는 영역이 생긴다. (Slack)

 -> 그럼에도 불구하고 클러스터를 크게 쓰는 이유가 있다.

  : 디스크 입출력이다.

  If) 10KB 파일을 읽을 때 / cluster가 1KB이면 10번, 4KB이면 3번으로 전부 읽는다.

* File

 -> 저장장치에 저장한 데이터와 이를 가리키는 이름의 추상적인 개념

 -> Meta Data 영역 / File Data 영역

 -> Meta Data 영역

  : 파일을 관리할 수 있는 정보 자체 (속성 및 기록한 위치)

  : 파일 이름, 위치, 크기, 시간 정보, 삭제 유무

 -> File Data 영역

  : 실제 데이터를 기록하는 곳이다.

 -> File 정보 요청 process

  : 1. OS에서 파일에 정보를 요청한다. (파일 경로를 묻는다.)

  : 2. Meta Data 영역에서 file에 여러 속성을 알려준다.

  : 3. OS에서 File Data 읽기 요청한다.

  : 4. Meta Data에서 File Data로 이동한다.

* Directory

 -> file들을 계층화하고 그룹화 한다.

 -> 상, 하위 개념의 directory와 file들은 그것들을 관리함에 있어 많은 이점을 준다.

* 소유권

 -> 각 file과 directory마다 그룹과 소유권을 따로 관리할 수 있다.

 -> 계정을 달리하면 접근 권한도 달라지게 된다.

* 동기화

 -> 모든 OS들은 Multi-Tasking 기능을 지원한다.

 -> 하나의 file에 여러 process가 동시에 접근해서 작업하는 경우

  : 해당 file에 lock을 걸어주고, 해제하는 동기화가 진행되어야 한다.

 -> A.txt file에 특정 process가 접근해서 읽기를 시도하던 중, 다른 process가 삭제 명령 시도

  : lock이 걸려있지 않으면, file을 삭제가 되고 쓰레기 데이터를 읽는다. (운 좋게)

  : 잘못된 포인터에 접근하여 세그먼테이션 오류를 발생할 수 있다.

* 일관성 체크

 -> 갑작스럽게 System이 멈춘다거나 Crash 상황을 고려해야 한다.

 -> if) Meta Data를 먼저 쓰고, File Data를 나중에 쓰는 경우 멈췄을 때,

  : 파일리스트에는 제대로 나오겠지만, File Data에는 쓰레기 값이 들어간다.

 -> if) File Data를 먼저 쓰고, Meta Data를 나중에 쓰는 경우 멈췄을 때,

  : 파일리스트에는 제대로 나오지 않겠지만, File Data는 비어 있는 영역이다.

* Journaling

 -> DB에서 일관성 체크를 위해 사용되는 방법이다.

 -> File System 업데이트 시에 로그를 기록한다.

 -> 문제가 생길 경우 해당 로그를 참조하여 업데이트를 cancel or commit 한다.

'File System > #_Basic' 카테고리의 다른 글

★_Slack Space  (0) 2012.12.23
★_Cluster  (0) 2012.12.18
★_주소 지정 방식  (0) 2012.12.17
★_HDD 구성  (0) 2012.12.17
★_OS별 File System  (0) 2012.12.17
Posted by 훈승오승훈
l