리눅스
Posts
554 posts[라즈베리파이] 시그널 - 커널에서 시그널은 어떻게 처리할까?
리눅스 커널 입장에서 시그널은 프로세스 간 통신을 위한 간단한 인터페이스입니다. 커널은 상황에 따라 시그널을 생성하고 전달해주는 역할을 수행합니다. 리눅스 커널에서 시그널에 대한 처리는 2단계로 나눌 수 있습니다. 1> 시그널 생성유저 공간에서 시그널을 설정하면 커널은 해당 프로세스의 태스크 디스크립터에 시그널 정보를 써줍니다. 시그널을 받을 프로세스 스택 최상단 주소에 있는 struct thread_info flags 멤버에 _TIF_SIGPENDING 매크로를 써 줍니다. 시그널을 받을 프로세스에게 누군가 시그널을 생성했고 해당 시그널이 전달될 것이라고 알려주는 것입니다. 이후 시그널을 받을 프로세스를 깨웁니다. 2> 시그널 처리시그널을 받을 프로세스가 시스템 콜이나 인터럽트 처리를 마무
[Linux Desktop] Elementary OS를 ESXi 6.5에 설치해 보기
바로 전 블로그에서 리눅스 데스크탑에 대해 생각을 해보았습니다. 이번에는 그 중에 하나인 Elementary OS 를 ESXi 6.5 에 설치를 해 보았습니다. 설치를 마치고 VMTools까지 잘 마무리 한 다음 모습입니다. 요즘 개인용 ESXi 서버에 가상 Mac 을 제외하고는 모든 다른 리눅스나 윈도우를 설치하면서 작업을 가속화 하고 있습니다.(궁극적인 목적은 1-box DevOps 환경을 갖추는 것입니다. 언제고 해당 주제로 할 날이 오겠지요) 그 일환으로 Elementary OS를 설치해 봅니다. 위의 홈페이지에 들어갔습니다. $1 주고 사려다가 $10 주고 구입했습니다. 나중에 돌려보니 충분히 가볍더군요. 2개의 CPU에 2G 메모리 20GB 하드 용량으로 설정하고 다운받은 iso 로 부
Linux Desktop에 대한 고찰
현재 사용하고 있는 컴퓨터 운영체제를 꼽으라면Linux, Mac, Windows 로 대변된다고 해도 틀린 말은 아닐 겁니다.이런 구도가 상당히 오래 되어 왔지요.불과 리눅스가 세상에 알려지기 전, SUN-OS, HPUX, OS2 등등의*NIX 시스템을 비롯하여 MS-DOS 에서 비롯된 Windows 계열까지..거기에다 맥, NEXT, OS X 으로 이어지는 애플의 운영체제까지... 이런 다양한 운영체제가 실은 기능에 따라 역할이 많이 달라지는 것 같습니다.(개인적인 견해이니 딴지는 댓글로 부탁드립니다) Mac - 당연히 개발자 혹은 좀 튀고싶은 사용자 와 같은 이미지Windows - 당연히 아무런 생각없이 컴을 배우는 사람부터 대부분 사용하던 관습대로Linux - 주로 백엔드 서비스를 동작시키는 서버
리눅스에서 파일이 매우 많은 디렉토리에 대한 ls 명령 실행속도 향상 (-f 옵션)
간단한 내용이지만, 간혹 요긴할 때가 있어 정리해 두기로. 리눅스에서 디렉토리 하위에 상당히 많은 파일이 있을 경우, ls 명령을 입력하면 시간이 상당히 오래 걸릴 수 있다. 특히 속도가 느린 HDD에서는 더욱 두드러질 수 있다. 출력이 느린 이유중 하나는 ls에서 조회한 내용을 출력할 때 정렬(sorting)을 하기 때문이다. 항목이 많지 않을 때는 문제가 없지만 항목이 꽤 많을 경우엔 정렬에 소요되는 시간도 무시할 수 없게 된다. 이런 상황일 경우 -f 옵션을 추가해서 정렬하지 않고 바로 결과를 출력하도록 할 수 있다. # -f 옵션: 정렬 비활성화(do not sort) ls -f 예를 들어 특정한 문자열이 포함된 파일이 있는지 유무를 확인하려 할 경우에 굳이 정렬로 시간을 낭비


