본문 바로가기

All154

오드로이드 홈서버 구축기 - 운영체제 설치 (Armbian) 오드로이드에서는 공식적으로 오드로이드용 Ubuntu 배포판을 지원한다. 하지만 배포판 버전이랑 커널 버전이 늦게 업데이트되어서 비공식 배포판을 사용해야한다. 나는 Armbian을 설치할 것이다. 원래 Fedora를 설치해보고 싶었는데 그러려면 내가 직접 이미지를 만들어야 해서 그냥 Armbian으로 했다. Ubuntu나 다른 비공식 배포판도 있긴하다. 원래는 우분투 비공식 이미지에서 커널이랑 배포판 업데이트를 하려고 했는데 Armbian이 더 간편하다. Armbian Download – Armbian CategoryAllGeneral purposeIOTNASNetworkingDesktop MakerAllSolidRunCubietechSinovoipOlimexKobolHardkernelAsusFriendl.. 2021. 11. 18.
오드로이드 홈서버 구축기 - 하드웨어 구성 매달 구글 클라우드 플랫폼에 5~10만원씩 내다보니까 좀 빡세서 휴가 나온 김에 홈서버를 구축해봤다. 서버로 쓸 보드는 하드커널의 오드로이드 시리즈이다. 오드로이드 HC4, XU4, N2+를 샀다. 싱글보드 컴퓨터 종류 중에 성능이 제일 괜찮은게 오드로이드라고 생각한다. (홍보글 아님) 서버 구성 ODROID HC4 CPU는 Cortex-A55 1.8GHz 쿼드코어에 메모리는 DDR4 4GB 정도이다. 원래 N2+를 2개 사려다가 SATA 커넥터가 있어서 이것도 하나 샀다. SSD나 HDD를 직접 연결할 수 있다. USB 처럼 혹시 툭 쳐서 뽑히는 일은 없겠지 (?) 여기에 장착할 500GB짜리 SSD랑 2TB짜리 HDD도 사서 꽂아봤다. ODROID N2+ 얘는 big.Little CPU를 사용한다. .. 2021. 11. 16.
[Lecture Note] Learn how to learn - 1주차 Focused Thinking vs Diffuse Thinking Focused thinking은 한 가지 주제를 가지고 골똘히 생각하는 것이다. 이미 익숙한 주제에 대해서 생각할 때 Focused thinking을 한다. 이때는 하나의 좁은 주제에 대해서 집중적으로 생각한다. 반면 Diffuse thinking은 더 폭 넓게 창의적인 생각을 할 때 사용한다. 처음 배우는, 익숙하지 않은 주제에 대해서는 Diffuse thinking을 하는 게 학습에 더 도움이 된다. 그리고 Diffuse thinking은 창의적인 생각을 할 때도 자주 사용된다. 걷거나, 잠이 들기 전이나, 샤워할 때처럼 자연스럽고 차분하게 생각을 하면 창의적이고 더 넓은 시야로 문제를 바라볼 수가 있다. Procrastination .. 2021. 11. 7.
메모리 계층별 대략적인 성능 비교 컴퓨터에는 CPU 레지스터, CPU 캐시, RAM, SSD, HDD 등 다양한 장치에서 데이터를 읽고 쓸 수 있다. 일반적으로 이러한 계층구조는 피라미드 형태를 띄며, 피라미드에서 위로 갈수록 빠르고, 작고 비싸다. 아래로 갈수록 느리고, 크고, 싸다. 아래 그림은 컴퓨터에서 메모리가 어떻게 계층구조를 이루는지 그림으로 보여준다. 이 글에서는 실제 하드웨어에서 계층별로 어느 정도의 성능이 나오는지를 알아본다. 물론 하드웨어에 따라서 성능이 다르기 때문에 대략적인 성능만 알아본다. 다시 강조하지만 구체적인 수치는 다를 수 있다. 특히 예전 하드웨어랑 비교할수록 훨씬 느려보일 것이다. CPU Register 레지스터는 컴퓨터에서 가장 빠른 메모리로 CPU 내부에 존재한다. 레지스터에 데이터를 읽고 쓰는 것은.. 2021. 11. 7.
[Paper] When Poll is Better than Interrupt 운영체제를 처음 공부할 때는 폴링은 디바이스가 작업을 완료하기까지 대기하는 게 시간낭비이므로, IO가 무조건 인터럽트 방식으로 이루어질 거라고 생각했다. 하지만 하드웨어 성능이 미친듯이 좋아지면서 오히려 인터럽트의 오버헤드가 성능에 큰 영향을 미치기도 한다. When Poll is Better than Interrupt는 2012년에 USENIX에서 발표된 논문으로 고성능 디바이스에서 폴링이 인터럽트 방식보다 나을 수 있음을 보여준다. 실제로 블록 레이어에서는 2015년에 폴링 방식이 구현되었다. 네트워크 레이어는 훨씬 더 전인 2000년대 초반부터 NAPI를 통해 폴링을 지원했다. When Poll Is Better than Interrupt | USENIX www.usenix.org Abstract .. 2021. 11. 6.
[LWN.net] Shrinking the kernel with link-time optimization Shrinking the kernel with link-time optimization [LWN.net] Shrinking the kernel with link-time optimization This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the lwn.net Link Time Optimization 바로 앞 글에서는 가비지 컬렉션으로 코드를 줄이는 법을 알아봤다. 하지만 이 방법은 코드의 수정도 .. 2021. 11. 5.