디스크 스케줄링 알고리즘

(사실 글을 쓰는 이유는 C-SCAN의 C가 무슨 의미인지 궁금해서 쓴다.) FCFS First come, First serve, 이름답게 오는 순서대로 정직하게 처리해주는 방식. 별도의 최적화가 없기 때문에 평균 대기시간이 느리다. SSTF Shortest Seek Time First, 현재 위치에서 탐색 시간이 가장 짧은 블럭을 먼저 처리해주는 방식. 헤드가 자주 움직일 수 있고, 어떤 블럭은 중간에 끼어든 블럭으로 인해 처리가 너무 느리거나, 영영 처리되지 않을 수 있다. (Starvation) SCAN 엘리베이터 알고리즘의 일종. 일반적인 엘리베이터는 움직이는 방향의 변화와 사람들이 기다리는 평균 대기시간을 줄이기 위해서 한쪽으로만 움직이다가, 더보기…

운영체제 컨셉 교과서에 공룡이 있는 이유

운영체제 컨셉 교과서의 역사 나는 운영체제 컨셉의 역사에 대한 커버에 대해 글을 쓰는 게 재미있고, 유익할 것이라고 생각합니다. 비록 공룡이 없는 표지도 있긴 하지만, 이 책은 보통 “공룡책”으로 불립니다. 그리고 우리는 이 책이 제일 많이 팔리는 운영체제 교과서라는 것을 알고 있지요. 이 책 표지의 공룡은 운영체제의 발전과 그에 따른 “운영체제 전쟁”을 의미합니다. 제가 이 책의 공저가 된 것은 제임스 피터슨과 Avi Silberschatz에 의해 이 책이 주도적인 운영체제 교과서가 되고 난 후입니다. 시간이 지나면서 피터슨은 다른 일을 하게 되었고, Greg Gagne에 더보기…

IDE – SATA 전원 젠더가 위험한 젠더인지 구분하는 법

구글에서 SATA 커넥터 화재로 검색을 해보면 IDE-SATA 전원 젠더로 인해 화재가 났다는 글을 심심치 않게 볼 수 있다. 대부분은 단자 표면에 물방울 모양이 새겨져 있어 물방울 젠더라고 물리는 물건에서 발생하는데, 이 젠더의 SATA 전원 측 플라스틱 겉껍질을 까보면 안에 선만 든 것이 아니라, 하얀색 고정 물질도 들어 있다. 글루건 또는 실리콘으로 추정되는 물질인데, 이 물질의 문제는 이상 고온 수준이 되지 않아도 조금씩 변형이 된다는 문제가 있다. 모두가 알다시피 전원 케이블은 작동할 때 열이 없는 것이 아니라, 저항 때문에 조금씩 열이 더보기…

421 Misdirected Request 해결

홈페이지에 TLS 암호화를 적용했을 때, 와일드카드 인증서를 여러 페이지에 적용하는 경우 간간히 421 Misdirected Request 에러가 일어났다. 이 문제는 HTTP2가 속도를 위해 커넥션을 재사용하기 때문에 일어난다. 내가 하나의 컴퓨터에서 가상 호스트로 site1.enyou.kr과 site2.enyou.kr의 사이트를 운영하고, 둘 다 동일한 인증서를 사용한다고 하자. 하지만 두 가상 호스트는 동일한 인증서를 이용하지만, TLS 설정에는 차이가 있을 수 있다. (암호화 수준이나, 확인 방법, 프로토콜 등에 미묘한 차이가 있을 수 있다.) HTTP2는 최대한 커넥션을 재사용하려고 하는데, 동시에 여러 요청이 두 사이트에서 이루어진다고 하자. 그렇다면 브라우저는 최대한 더보기…

자작 NAS 구축기

대략 1년에서 2년 동안 오드로이드 XU4(정확히는 HC2이지만, 동일한 프로세서를 사용하고, 사실상 거의 차이점이 없으니 XU4라 한다.)를 NAS로서 사용해왔다. ARM 계열 개발 보드 중에서는 아무래도 성능이 좋은 편이지만, 따지고 보면 삼성 사의 갤럭시 S5에서 사용되었던 CPU이기도 하고, 긱벤치 데이터를 봐도 모든 코어를 끌어모든 상당히 점수가 준수하지만, 싱글 코어 점수는 그렇게 높다고 보기는 힘들다. (물론 300점 대에서 놀고 있는 라즈베리파이 시리즈에 비하면 하이엔드 급이다.) 여러모로 램도 2GB이고, SATA (USB 3.0 -> SATA 여서 네이티브는 아니지만.)도 하나 밖에 없고, 메인 스토리지가 microSD여서 스펙적인 더보기…

Windows10 OpenSSH server

윈도우10 레드스톤5 (1809) 이후로 Openssh가 추가되었다. 처음에는 베타 버전인 것 같아서 별 생각도 없었는데(client는 리눅스 ssh 접속용으로 잘 썼지만….), 최근에 확인해보니 베타 딱지를 뗀 것 같다. 활성화하는 경로는 설정 > 앱 > 선택적 기능 관리 > 기능 추가에서 OpenSSH 서버를 추가해주면 된다. 별도로 재부팅하라는 멘트는 없지만, 바로 쓰려고 하니 에러가 나고, 재부팅 할 때, 윈도우 업데이트라는 멘트가 나온 걸로 봐서, 제어판에 있는 기능 추가 처럼 재부팅이 필요한 것 같다. 파워셸로도 설치할 수 있다고 하는데, 위와 같은 두줄로 가능하다고 한다. (관리자 더보기…

글쓴이 연유,

Nextcloud 잘 못된 주소 요청 해결

사실 해결법은 아니고 우회하는 방법이다. 넥스트클라우드를 상위 도메인의 폴더로 위치 시키면 다른 것은 문제가 없는데 유독 모바일 앱만, 넥스트클라우드의 경로가 아닌 상위주소의 경로를 요청해가지고 인증 오류가 발생한다. 누적되면 넥스트클라우드에서 IP를 차단한다. AH01617: user 아무개: authentication failure for “/webdav/”: Password Mismatch 이런 식으로 모든 요청마다 인증 실패가 뜨게 된다. 해결하는 방법은 넥스트클라우드를 하위 폴더가 아닌 root에 위치시키는 것이다. nextcloud.server.com 처럼. 이와 비슷한 문제가 최소한 1년 전에 제기된 것 같은데, 실질적인 해결법은 오리무중이다. 만약 차단을 당했다면, 이글을 참고하여 해당 DB 엔트리를 제거할 더보기…

Ubuntu 18.04, Apache2.4 서버에서 Gitlab 설치

먼저 깃랩 홈페이지를 참조해서 깃랩을 설치한다. 이때, 두번째 단락에 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash라고 써져 있는데, gitlab-ee(상용)가 아닌 gitlab-ce(커뮤니티)로 변경해서 입력한다 다음은 깃랩 문서를 참고하여 바꿔야할 부분을 알아보자. /etc/gitlab/gitlab.rb 문서의 다음 부분을 변경한 후, sudo gitlab-ctl reconfigure, sudo gitlab-ctl restart 해야한다. SSL인 경우 깃랩의 저장소에서 다음 문서를 참조하여 apache 사이트 설정 파일을 작성한다. HTTPS를 사용하지 않는 웹사이트라면 이곳을 참조하라. 서버 PC가 별로 빠르지 않은 경우, 켜진 직후에 사이트가 바쁘다며 응답하지 않는 경우가 있는데, 조금 기다리면 접속할 수 있다.

파이어폭스에서 ESNI을 통해 인터넷을 안전하고 자유롭게 사용하기

최근 정부의 저작권 및 성인물 단속으로 인하여 우리나라에서는 기존에 하던 HTTP 패킷 검열에 더불어 최근에 HTTPS 검열을 실시하게 되었다. HTTPS는 보내고 받는 패킷을 TLS로 암호화하기 때문에 제 3자가 내용을 확인할 수 없지만 유일하게 사용자가 요청하는 도메인 주소는 암호화가 되지 않고 평문으로 전송된다. 리눅스, 윈도우 리눅스 등에서 DNS와의 통신을 암호화하는 기술(DNS over HTTPS)를 적용할 수 있지만, DNS와의 통신이 암호화될 뿐, 서버와 공개키를 공유하기 전에 서버가 도메인의 이름을 알 필요가 있어야 하기 때문에 서버와는 요청하는 도메인을 그대로 평문으로 주고 받게 된다. 암호화된 더보기…

Nextcloud File lock 완화

휴대전화 및 태블릿 사진 백업 용도로 넥스트클라우드의 사진 자동업로드 기능을 이용하고 있다. 아이폰, 안드로이드 가릴 것 없이 백그라운드에서 잘 작동하고, 집안에 있는 오드로이드를 서버로 쓰고 있기 때문에 부담스러운 월정액 요금이나, 서버가 해외에 있어서 느리게 업로드 되는 일이 (오드로이드의 성능이 낮아서 그렇게 빠르지는 않지만) 적어서 만족스럽다. 하지만 한 번에 다량의 파일을 업로드하려고 할 때 (예를들어 사진 자동 업로드시에 원래 찍어놨던 사진들을 한 번에 업로드한다거나.) 오드로이드의 성능 탓인지 몇몇 파일에 잠금이 계속 걸리면서 계속 업로드를 시도한다. 넥스트클라우드 파일 매니저를 보면 이미 파일은 더보기…