전체 글

전체 글

    커널

    커널의 종류는 두가지가 있다 모노리틱 커널(monolithic kernel) 과 마이크로 커널(u_kernel) 1. 모노리틱 커널(monolithic kernel) -모노리틱 커널은 커널이 제공해야 할 모든 기능(task 관리, 메모리 관리, 파일시스템, 디바이스 드라이버, 통신 등)의 기능이 단일 커널 공간에 구현된 구조 2. 마이크로 커널(u_kernel) -커널의 크기가 모노리틱에 비해 매우 작은 커널로써 그 소형화에 따른 장점이 있다. 커널의 소스 크기고 작아지고 깨끗해 질 수 있으며, 관리, 개선, 유지 등이 쉬워진다. 커널이 작기에 휴대용 시스템의 운영체제로도 사용될 수 있고, 많은 기능이 사용자 공간에서 서버 형태로 구현되기 때문에 분산환경 특히 클라이언트 서버 모델에 잘 적용된다.

    인터럽트(interrupt)

    인터럽트는 주변 장치와 커널이 통신하는 방식 중 하나로써 어떠한 Event가 발생하였을 시에 커널에게 그 Event에 대하여 알리는 것이다. Event를 알리는 방식은 크게 2가지가 있는데 폴링 방식과 인터럽트 방식이다. 먼저 폴링 방식은 주기적인 시간을 가지고 Event의 발생 유무를 지속적으로 확인하는 방식이고, 인터럽트 방식은 Event가 발생하였을시에 그 신호에 의해 Event를 처리하는 방식이다. 예를 들어 폴링 방식은 편의점의 점원이 손님이 오는가를 지속적으로 1분마다 확인 하는 방식이고, 인터럽트 방식은 문에 방울을 달아 손님이 들어왔을 시에만 소리로 신호를 알린다. 리누그 커널에서는 Event가 발생하면 interrupt handler가 발생한다. 인터럽트의 종류는 외부 인터럽트와 내부 인..

    [ubuntu 12.04] eclipse 실행 에러

    java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: no swt-gtk-3740 in java.library.path no swt-gtk in java.library.path Can't load library: /home/xxx/.swt/lib/linux/x86/libswt-gtk-3740.so Can't load library: /home/xxx/.swt/lib/linux/x86/libswt-gtk.so 무슨 so 파일(windows 에서 DLL 같은 파일)을 참조 하려는 데 없다는 소리구나. 해당 경로로 이동해서 확인해보니 x86 디렉터리 밑에 아무것도 없다;; 관련해서 찾아보니, 먼저 고생한 분들의 글이 조금씩 보인다.(__) ..

    tftp 설치 및 설정

    tftp는 우분투에서 시냅스 꾸러미 관리자를 이용하는 것 보다는 apt-get install을 직접 사용하는 것이 편하더군요.~$ sudo apt-get install xinetd tftp tftpd 설치 후에는 tftp를 사용하기 위한 /etc/xinetd.d/tftp 파일을 생성합니다.~$ sudo vi /etc/xinetd.d/tftpservice tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } tftp에서 파일을 제공할 때 사용하는 디..

    ubuntu 에서 eclipse 설치

    JDK 설치 sudo add-apt-repository ppa:upubuntu-com/java sudo apt-get update sudo apt-get install oracle-java7-installer 설치된 경로 확인 $ ls -al /usr/bin/java* lrwxrwxrwx 1 root root 22 5월 18 17:17 /usr/bin/java -> /etc/alternatives/java lrwxrwxrwx 1 root root 25 5월 18 17:17 /usr/bin/java_vm -> /etc/alternatives/java_vm lrwxrwxrwx 1 root root 23 5월 18 17:17 /usr/bin/javac -> /etc/alternatives/javac lrwxr..

    ubuntu 12.04에서 gcc-3.4 설치하기

    Ubuntu-12.04 에서 compiler는 gcc-4.6이 default 이다. qemu 설치 및 compile 하기 위해선 gcc-3.4이 필요하다. 좀 찾아보니 4.6 삭제 후 설치가 아닌 3.4 추가 설치 및 필요에 따라 선택적으로 사용하는 방법이 주류이기에 그 방법을 정리한다. 1. Download packages 아래 링크에서 패키지를 다운받는다. gcc-3.4-base(3.4.6) http://packages.ubuntu.com/hardy-updates/gcc-3.4-base cpp-3.4(3.4.6) http://packages.ubuntu.com/hardy-updates/cpp-3.4 gcc-3.4(3.4.6) http://packages.ubuntu.com/hardy-updates/g..