[yummyHitOS] 22 day (2017.08.08)
생각보다 일찍 돌아온 야미예여!! 오늘 한 가지 소식을 알려드릴까 해여!!
물론 오늘 나갈 챕터가 끝난 후에 소식을 알리는게 기본이겠지여!? 포스팅의 마인드는 정보공유이니까여!!
오늘의 내용은 하드디스크 디바이스 드라이버를 추가하는 챕터네여!! HDD(Hard Disk Drive)라고 불리우고, 아직도 SSD와 병행하여 사용되는 대표적인 보조기억장치이지여!! 외장하드도 외장 하드디스크 드라이브를 뜻하니까여!!
HDD
HDD(하드 디스크 드라이브)는 비휘발성, 순차접근이 가능한 컴퓨터의 대표적인 보조 기억 장치예요. 하드디스크를 감싸고 있는 스틸재질의 보호 케이스 안에 있는 플래터를 회전시켜 자기 패턴(전자기적 패턴을 의미하지여!)으로 정보를 기록해여!! 이 플래터를 구동하는 장치가 스핀들 모터로 이루어진 것이 특징이고, 데이터는 플래터 표면에 코팅된 자성체에 기록되며, 회전하는 플래터 위에 부상하는 입출력 헤드에 의해 자기적으로 데이터를 쓰고 읽을 수 있답니다!!
하드 디스크는 플로피 디스크와 같은 자기 기록 매체이지만, 플로피 디스크와 다르게 금속 재질의 플래터에 데이터를 기록하기 때문에, 플로피디스크와 구분짓기 위해 재질적으로 단단하다는 의미를 주기 위해 '하드' 라는 말을 사용했다고 하더라구여. 위키백갓님께서 그러시니 아마 그런가바여... 제가 유래를 잘 안다면 역사학자가 되었을..쿨럭 요즈음 개인용 컴퓨터의 운영 체제를 올리는 용도로는 SSD(Solid State Drive)가 사용되지만 가격이 비싼 것도 있고 가격에 비해 용량이 작기 때문에 아직까지는 속도가 느리다는 단점이 있는 HDD를 저장 매체로 많이 쓰긴 해요.
컴퓨터나 노트북을 새로 살 때 '사양' 확인 하시지 않나여!? 어떤 CPU가 좋은지, Memory는 몇GB로 할건지, 그래픽과 SSD, HDD 용량 등...
10년 전까지만 해도 2~3년이 기준이었는데 요즈음은 1년이 채 안되어도 하드웨어 스펙이 급증하네요.. 저도 이젠 뭐가 좋은건지 모르겠어여 ㅜㅠ 그저 애플을 믿고 살아야져 흑...
structure
HDD의 분해도와 명칭들이예여!! 아까 설명에서 플래터니, 스핀들 모터니... 이런게 뭔지 알아야 이해를 하지 않나여!! 우리 개성파 OS개발을 처음 시작했을 때, 부트섹터에서 Sector, Header, Cylinder 를 다루었던 것 기억하시나여!? 위에서 어느 부분에 해당되는지 감이 오시나여!?
바로 이거였져!! 디스크의 구조!! 그렇다면 저 위 HDD의 좌측 그림에서 Disk Stack Assembly 부분의 디스크 부분, 우측 그림에서 Hard Disk 부분이라는 감각이 똬앟!! 하고 오시지 않나여!?!? 헿헤헤헿 항상 컴퓨터는 알면 알수록 알아가야하고, 알아가면 알아갈수록 맞물려있다는 사실!!
이젠 SSD로 바뀌어지며 플래터와 헤드를 통해 디스크를 읽고 쓰고 하는 방법이 사라지기 때문에, 이 구조를 완벽히 암기하실 필요는 없을거라고 생각해요. 자꾸 변해가는 사회이고 발전하는 기술에 따라 역사를 기억하는 것도 박식하고 좋지만, 이미 새로운 기술을 보편화하여 사용한다면 이 전 기술을 재사용할 확률이 높진 않으니까요! 시간이 많고 머리가 좋으신 분이라면 다 아시는게 좋지만... 야미는 1개의 정보를 입력하면 1개의 정보가 사라져서... 흑... 이런 멍텅구리 머리라니 눙물나네영 T^T
먼저 HDD에서 중요한 명칭들을 설명드릴게여!!
spindle motor
Spindle Motor는 플래터의 회전을 담당해여. 브러시리스 모터라는 것을 이용하여 구동하기 때문에 모터의 제어회로가 따로 필요하게 된다고 하는데, 여기서 브러시리스 모터란 우리 어릴 적 RC자동차 기억하시나여? RC도 아니었져.. 그냥 아래에 스위치 On을 하면 앞으로가고.. 그 모터에 쓰인 모양!! BLDC 모터라고도 불러요. 다시 스핀들 모터 이야기로 돌아가면, 초기에는 볼 베어링을 사용했지만 유체를 사용함으로써 볼의 마모로 인한 수명 문제가 개선된 동압 유체 베어링이 개발되면서 동압 유체 베어링으로 대체되었다고 해요. 동압 유체 베어링이 적용되면 거의 완전하게 원형 회전을 할 수 있어 트랙 밀도를 높일 수 있다고 하네요.
베어링은 또 무엇인지... 이상한 용어들 참 많이나온다고 생각하시져!? 이게~ 다~ 하드웨어 부품들이라 우리에게 낯설어서 그래여!! 하지만 기술·가정 수업시간이나, 장난감으로 우리가 충분히 접해 본 부품들이예요!!
첫번째가 Brushless DC Motor예요. 장난감 자동차에 들어갔던 블랙모터라고 부르던 그거 기억나시나여?! 그거같지 않... 으면 죄송함다 ㅜㅜㅜ휴유융... 그리고 두번째로 계속 빙글빙글 도는 이친구는 Ball Bearing대한 위키백갓의 사진인데, 가장 이해하기 쉬워 보이더라구여!! 저렇게 생긴 반지같은게 있어요. 그리고 마지막 가장 마지막 사진이 Fluid Dynamic Bearing인데, 이거 쿨러같지 않나여!? 쿨러 팬의 중앙에 들어가는 것이 바로 유체 베어링이랍니다!! 각자의 동작 방식까지 설명하기엔 오늘 뭔가 챕터는 1도 못나가고 하드웨어 지식만 열씸히 쌓다가 지칠 것 같아서 베어링과 모터는 여기까지 설명드릴게여!!
platter
Platter란 데이터가 기록되는 부분이예여. 플래터는 금속재질이지만, 거울과 같이 반사가 잘 될 정도로 래핑상태가 부드러우며, 데이터를 기록하기 위해 산화철등의 자성체로 코팅되어있어요. 하나의 하드 디스크에는 한 개 또는 그 이상의 플래터가 장착되어 있으며, 플래터 수가 많으면 더 큰 용량을 저장할 수 있지만, 안정성에는 문제가 생길 수 있다고 하네요!
actuator ARM
Actuator ARM은 Actuator에 의해 구동되며, 하나의 하드 디스크에는 여러 개의 ARM이 달려있어요. 앞 뒷면을 모두 사용하기 때문에, 각 플래터 당 두 개의 ARM이 달려있지요!! 각 ARM의 끝에는 입출력을 위해 헤드가 달려 있어요.
그럼 Actuator ARM 을 구동시키는 Actuator란 무엇일까여!?
Actuator란 헤드가 원하는 데이터를 읽을 수 있게 제어회로의 명령에 따라 Actuator ARM을 구동하는 역할을 해요. 구동을 위해 네오디뮴 자석이 있으며, 누설자속을 줄이기 위해 철과 같은 강자성체 재질로 된 자석 덮개가 있지요. 네오디뮴 자석이란 네오디뮴과 철 및 붕소를 2 : 14 : 1의 비율로, 분말 야금법이라는 방법으로 합금한 자석인데, 현존하는 자석 중 가장 강한 자력을 갖고 있다고 하네요! 그리고 누설자속이란 자성체의 표면에서 누설되어 자로(자력이 이동하는 통로랄까여?!) 이외의 곳을 통과하는 자속을 일컬어요.
넘나 어려운 용어들이 많이 나오니 힘드시져? ㅜㅠ 힘내세여 이제 거의 다 왔어여!!
Actuator는 Command Queuing 기술을 통해 구동을 최소화하여 여러개의 파일을 효율적으로 입출력 할 수 있는데, Command Queuing 기술을 사용할 때 하드 디스크와 ICH 칩셋이 모두 이 기술을 지원해야 사용이 가능해요. 초창기의 하드 디스크는 스테핑 모터로 액추에이터를 구동하여 데이터 손실을 방지하기 위해 헤드 파킹이 필요했지만, 아까 살펴본 것 처럼 Spindle Motor라는 것을 사용하잖아여!? 액추에이터가 음성 코일 방식으로 구동되어 하드 디스크의 전원 공급이 중단될 경우에는 스핀들 모터의 관성으로 헤드가 자동으로 제자리로 파킹되기 때문에 헤드 파킹은 더 이상 필요하지 않다고 해요!!
스테핑 모터라는 새로운 모터가 등장해서 쫄았는데 필요없겠네여!! 헿헤헿 우리 헤드나 알아보러 가여~!!
head
Head는 데이터를 읽고 쓰는 것으로, 스핀들 모터가 작동 할 때엔 제어회로를 통해 나노미터 단위로 부상하여 기록해요. 헤드가 부상되지 않은 상태에서 스핀들 모터가 작동될 경우에는 플래터에 손상을 주어 베드 섹터등의 복구가 불가능한 문제로 번질 수 있다는 단점이 있지요. 헤드의 기록 방식에는 수직 기록 방식과 수평 기록 방식이 있는데, 수직 기록 방식은 수직으로 데이터를 기록하기 때문에 수평 기록 방식에 비해 플래터당 기록 밀도를 훨씬 높일 수 있으며, 자성의 손실이 거의 없어 데이터의 수명이 더 길어요.
드디어 HDD에 대해 전반적인 설명을 드렸어여!! 그럼 이제 책을 한 번 살펴보면... HDD의 ATA(IDE) - PATA - SATA - SCSI 과정에 대해 설명해주시고 계씨네여!!!
ATA
ATA 라는 인터페이스는 IDE(Integrated Drive Electronics) 인터페이스에서 단계적으로 발전했는데, 그렇기 때문에 IDE를 ATA라고 하며, ATA가 직렬화 되어 SATA로 발전되며 이 전 ATA를 병렬 ATA, 즉 PATA로 부르게 되었어여. 결국 결론적으로는 IDE == ATA == PATA 라는 의미이지여!
처음 IDE 방식으로 하드디스크를 사용했을 때엔 핫 플러그 기능이 지원되지 않았고, 데이터 전송 속도도 133MB/sec밖에 되지 않았어요. 하지만 SATA 방식으로 직렬화가 된 후엔 핫 플러그 기능이 지원되며 데이터 전송 속도가 6GB/sec 라는... 46배 가량의 속도가 빨라졌지요!! 혁신이예여 혁신!!!
넵? 핫 플러그가 뭐냐구여?
hot plug
Hot Plug는 Multi Hard Disk 기능이라고 생각하시면 돼요. PATA 인터페이스 때에는 컴퓨터 전원을 끄고, 본체를 분해한 후, PATA 하드 디스크를 하나 더 장착하고, 다시 조립해서 전원을 켜야하는 5단계를 거쳤었는데, 핫 플러그 기능은 첫 번째로 전원을 끄지 않아도 되며, 둘 째로 OS가 켜져있는 상태에서 인식이 되는 것이니 추후의 USB와 외장하드의 발판이 되는 기능인 것이져!! 레볼루쎤~!!
그럼 마지막으로 SCSI를 알아볼텐데, 그 전에 USB 이야기 나왔으니 이거 한 번 보고가시져!! 전 재밌던데여 이 IT 유우머!!
헿헤헤헤헿 넘넘 웃기지 않나여? 그 '오빠 char* 뽑았다 null 데리러가~' 같은 유우머 있자나여!! 모르신다구여?! 어떻게 ㅜㅠ 그 유명한 짤을 모르실 쑤가 있으세여... 그 짤까지 보여드리구 다시 본론으루 들어갈게영!!!
네이버 웹툰에서 최삡뺩 작가님의 '공대생 너무만화' 에 나오던 거예여!! 이 웹툰 홍보하려는 건 아니지만 공대유우머 마니나와서 꾸르잼이니 궁금하신 분들은 보세여!!
SCSI
SCSI(Small Computer System Interface)는 가장 흔히 쓰이는 첫 번째 것이 병렬 SCSI(SPI로도 불림)이며 병렬 버스 디자인을 사용한다고 해요. SPI는 시리얼 결합 SCSI(SAS)로 대체되어 직렬 통신 디자인을 사용하며 다른 기술들을 포함하고 있어요. 현재 우리가 쓰는 것이 거의 SAS 방식이죠!! iSCSI는 물리적인 기능을 완전히 제거하고 그 대신 TCP/IP를 전달 구조로 사용하며 완전한 SCSI 표준을 따르지 않는 다른 수많은 인터페이스는 SCSI 명령 프로토콜을 사용하지요!!
하드디스크의 변천사를 보시니 어떠신가여!? 오랜만에 한국사/세계사 공부하듯 역사를 공부하는 느낌이셨나여!? 오랜만은 커녕 한국사/세계사를 공부해 본 적 있냐구여?! 넵... 없져당연히 헿... 야미는 사찔이라 사회가 넘넘 시러서 이과를 택했거든여!! 그래서 전 P=VI, V=IR, 반감기, 에너지 공식 등... 물리 형.. 형이 여기서 왜나와..?
책의 다음페이지를 살펴보니.. 위에서 먼저 알아본 하드디스크의 구조를 설명해주시고 계시네여!! 책에는 Access ARM 이라고 표현되어 있고, 우리는 Actuator ARM 이라고 공부했는데 무엇이 맞는 것인지 잘 모르시겠다구여?! Access ARM 은 자기디스크의 기본 바탕에서 나온 명칭이며, Actuator ARM 은 하드디스크의 개념에 적용되어 Actuator와 자매품으로 묶으려고 나온 명칭이예여! 즉 같다는 이야기져!! 아까 IDE == ATA == PATA와 같이 명칭들이 같지만 다른듯한 느낌이 많으니 이렇구나~ 하고 넘어가셔도 무방할 것 같아요 ㅎㅎㅎ
다음 페이지로 또 넘어가면... CHS 방식과 LBA 방식이 나오는데, 책의 설명에 부가적으로 좋은 URL 하나 남겨드릴게여!! 전 글보다 그림이 머릿속에 쏘옥쏙쏙! 들어오다보니 여기저기 찾아보게 되더라구여 ㅜㅠ
(참조 : http://viralpatel.net/taj/tutorial/chs_translation.php)
다음 페이지에 [그림 24-2]를 보시면 PATA에 대한 하드 디스크 컨트롤러 구조가 있는데, 오늘도 칭찬하지 않을쑤가 없는 갓승훈선생님의 책이 너무 잘 설명되어 있으니, 저는 SATA 방식과 SCSI 방식의 구조를 보여드릴게여!!
첫번째가 SATA 방식이고 두번째가 SCSI 방식인건 다들 아시겠져!? 그림부터 세련됨이 다르지 않나여? 헿헤헤헿 죄송...
이제 우리는 정해진 각 포트를 따라 레지스터에 접근하여 값을 읽고, 쓰는 작업을 할거예요! 그러면서 HDD image 파일을 하나 만들게 되어, 이 전까지 조그마한 플로피 디스크를 사용했다면 드디어 용량이 큰 하드디스크에 우리의 개성파 OS를 담을 수 있게 된답니닷!!!
뭔가 끝마치는 분위기 같지여!? 넹 맞아여!! 이제 책을 따라서 구현만 하시면 되거든여!!오늘 아쥬 하드웨어적인 부분만 빡시게 한 것 같지 않나여!? 저는 이상하게 물리적인건 직접 만져보고 부셔보고 그래야 기억이 잘나서... 이론공부는 잘 안되는 것 같던데 여러분은 어떠신가여!?
그래서 소프트웨어가 좋은게 마구마구 만지고 고장내도 다시 복원할 수 있으니 참 조은것같아여!! 복원하는데에 돈 안들자나여 헿헤헤헿>~ <
오늘은 중간에 짤 두 개가 연속으로 들어갔으니... 마지막 짤 없이 이렇게 인사드릴게여!!!
여태 했던 실행화면 캡쳐는 최대한 빠른 시일 내에 동작가능케 만들어서 보여드리도록 하겠숩니당 T^ T 그럼 다들 다음 챕터에서 뵈어여~!! 뿅☆
Check out the yummyhit’s website for more info on who am i. If you have questions, you can ask them on E-mail.
댓글남기기