본문 바로가기

공부

[프로젝트] 커널레벨 DSM 1.1 시스템 구성도 ◆ 유저 어플리케이션가장 기본적으로 테스트를 위한 유저 어플리케이션이 필요하다. 유저 어플리케이션은 mmap함수를 통해 특정 메모리 영역을 파일처럼 읽고 쓰는 역할을 한다.◆ 커널 모듈DSM을 커널 레벨에서 지원하기 위한 가장 필수적인 요소는 커널 모듈이다. 유저 어플리케이션은 각각 자신의 가상 메모리 영역(virtual memory area)을 나타내는 vm_area_struct를 가지고 있으며, 커널 모듈은 이 가상 메모리 영역을 관리하고 접근 할 수 있는 방법을 제공한다. 특히 현재 메모리에 존재하지 않는 가상 메모리 영역의 페이지를 불러오기 위해 페이지 폴트(page fault)[1]를 발생시킨다. 자세한 내용은 2장에서 설명한다.◆ 데몬 프로그램커널 레벨에서 DSM을 지원하.. 더보기
(ubuntu 16.04)ssh algorithm negotiation failed 우분투를 다시 깔아야 했는데 16.04가 최신버전이길래 한번 시도해봤습니다.다 설치하고 ssh로 접속해보니 다음과 같은 메시지(14.04에서도 떴었는데 당시에는 크게 신경도 안썼고 버그라는 소문도 들은듯합니다. 그때 당시도 비슷하게 수정작업을 했는데 결국엔 안됐던.. 16.04는 잘 해결되서 글남깁니다) 1. sudo vim /etc/ssh/sshd_config2. 아래 내용 추가Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hm.. 더보기
커널 소스 분석 1. system call trace 1. System call 시스템 콜은 운영체제의 커널이 제공하는 함수에 대해, 어플리케이션의 요청에 따라 커널에 접근하기 위한 방법으로 정의할 수 있습니다. 일반 어플리케이션은 커널의 자원을 마음대로 제어할 수 없기 때문에 커널에 자원을 요청해야 하는 경우 시스템 콜을 발생해 커널 함수를 호출하고, 자원을 요청할 수 있습니다. 출처 : 위키피디아 - https://ko.wikipedia.org/wiki/%EC%8B%9C%EC%8A%A4%ED%85%9C_%ED%98%B8%EC%B6%9C 이 그림은 시스템 콜을 검색하면 아직도 많이 볼 수 있는 그림입니다. (커널 세미나 자료에도 이 자료가 포함돼있더라는....) 이 그림에서 나타내는 시스템 콜의 순서는 다음과 같습니다.1) 유저 어플리케이션에서 시스템 함.. 더보기
리눅스 커널 맵 (이미지 클릭)#리눅스커널맵입니다.그림으로 보는 것도 좋지만 아래 링크를 타고 들어가면 시스템 함수의 호출 순서를 더 크게 볼 수도 있고,lxr로 편하게 시스템 함수를 따라갈 수 도 있습니다. (추가 참고할만한 사이트)http://docs.huihoo.com/linux/kernel/a1/ 더보기
asmlinkage에 대해 잘 정리된 블로그가 있어 퍼옵니다http://studyfoss.egloos.com/4951809 더보기
make와 vi통합 사용 make와 vi 통합하면 소스코드 수정 후 vi를 종료하고 컴파일을하는 번거로움을 줄일 수 있다. 먼저 간단하게 작성한 테스트 파일그냥 소스코드 하나와 make파일 하나 두 툴을 함께 사용하는 방법은 일단 vi를 열고 명령어모드(:)를 입력 그러고 나면 아래와 같이 에러 메시지들을 볼 수 있음. wq를 누르는 번거로운 일이 하나 더 줄었음.더 나아가 출력되는 메시지에 따라 엔터를 누르면 에러가 발생한 위치로 이동됩니다. 에러 메시지를 다시 확인하려면 명령어모드에서 cw를 입력하면 아래쪽에서 에러 메시지를 확인할 수 있음 창을 보면 수평으로 나눠진 것을 볼수 있는데 ctrl+w, w를 순차적으로 누르면 창 사이를 오갈 수 있음나눠진 창 종료는 vi와 마찬가지로 :q를 사용 만약 하단에 원하는 창 크기를 지.. 더보기