처음 3.5 인치 플로피 디스크 여러장에 모뎀으로 연결해서 다운 받은 슬랙에어를 통해서 설치를 하다가 우연히 컴퓨터 잡지에 있는 CD에 슬랙웨어를 통해서 컴퓨터에 설치를 했던 것이 벌써 30년이 넘어 가는데 이제 다시 좀 공부를 할려고 하니 어디부터 시작을 할까 고민을 하다가 시스템을 운영을 하다보면 I/O의 작업이 느려지면서, 전체 시스템에 문제가 많이 발생을 하게 되어서 일단 파일 시스템에 대한 공부를 해볼려고 그 부분을 정리를 여기다 시작할려고 합니다. 먼저 오늘은 간단하게 파일 시스템이 왜 필요한지에 대해서 이야기를 해볼려고 합니다. 모든 O/S가 사용자가 편하게 컴퓨터 하드웨어 사용을 하기 위해서 CPU, Memory, HDD, Dispaly, NIC 등의 부분을 가상화를 지원을 합니다. 즉 실제 하드웨어를 제어하는 부분은 O/S에 위임(system call 같은 방법으로)을 하고 그 해당 인터페이스를 가상화를 해서 실제 사용자는 실제 프로그램을 구동을 하게되면 해당 프로그램을 돌리기 위한 자원을 O/S에 요청을 하게되고 이 부분을 O/S가 각 해당 hardware에 맞게 작성된 driver를 구동시켜서 요청을 처리를 하게 됩니다. 실제 파일시스템없이 디스크를 바로 접근을 하는 어플리케이션(Oracle, IBM Informix) - [1]이 존재를 하지만 일반적인 경우에는 application은 O/S에서 제공을 하는 파일시스템을 사용을 하게 됩니다. 리눅스에서는 ext2,3,4, xfs, zfs 등등 많은 파일시스템 종류가 있지만, 각 파일시스템에서 기본적이 구조를 정리를 해볼려고 합니다. 오늘(2월 1일)은 여기까지 해보고 내일 또 정리를 해볼려고 합니다. [1]- 이런 경우에는 o/s에서 제공하는 syscall을 사용을 하지 않고 자체적인 데이터 레이아웃을 구성을 해서 각 어플리케이션의 최적을 성능을 낼려고 하는 경우에 사용을 합니다.
Comments
Post a Comment