-
메타 객체 프로토콜(Meta Object Protocol)에 대하여
메타 객체 프로토콜 (Meta Object Protocol) 오늘은 메타 객체 프로토콜(Meta Object Protocol, 이하 MOP)에 대해서 공유해보려고 합니다. MOP란? 객체에서 객체 자체를 참조해야 할 필요성 때문에 나타난 개념입니다. 우리는 일반적으로 클래스에 의해 생성된 것을 객체로 알고 있는데요. MOP 개념에서는 클래스나 메서드, 속성 모두 다 메타 클래스에 의해 생성된 객체입니다. (다른 관점에서...
-
19개월 차 스토리지 개발자로서의 회고 - 권진영
입사 후 약 1년 반의 기간에 대한 스토리지 개발자로서의 회고 벌써 9월입니다. 2020년의 3분기가 끝나가는 시점입니다. 입사한 지는 1년 8개월이라는 시간이 흘렀습니다. 입사 이후에 배운 것에 대해 되돌아볼 시간이 없었던 것 같아 지난 시간을 되돌아보기 위해 이번 기회에 회고를 해보려고 합니다. 회고를 쓰기 전에 다른 분들의 회고를 많이 읽어 보았습니다....
-
제 7회 난공불락 인프라 세미나
난공불락 인프라 세미나를 준비하면서 … 안녕하세요 글루시스 시스템 개발자 권진영입니다. 지난해 12월 난공불락 세미나에서 dm-vdo(이하 VDO)를 소개해 보았습니다. VDO(Virtual Data Optimizer)는 Red Hat 리눅스에서 데이터 압축 및 중복제거를 수행하는 툴입니다. 중복제거란 데이터를 블록 단위로 나누어서 중복되는 블록 중 하나만 저장하는 기술로 실제 저장되는 데이터를 극단적으로 줄일 수 있습니다. 이번 세미나에서...
-
perl
perl 이란 Larry Wall이 만들어서 1987년에 발표한 언어. 철학은 There is more than one way to do it, 어떠한 일에는 여러 가지 방법이 존재한다. 로써 Python과 정 반대의 개념 언어의 자유도와 표현력이 높고 텍스트 처리하는 기능에서 특출나다. Hello world Code #!/usr/bin/env perl use strict; use warnings; use utf8; printf "Hello...
-
Subnetmask
들어가기 전에 사이트에 나가서 IP 클래스 개념과 서브넷 마스크의 정확한 개념을 익히지 못하여 삽집을 한 경험이 있기에… IP 주소 클래스 IPv4는 초기에 클래스로 나누어서 할당을 하였지만 이 방식이 비 효율적이기 때문에 + IP주소가 모자르게되어서 서브넷 마스크를 도입하게 된다. 비효율 적인 이유는 B class를 사용하면 약 네트워크 ID당 65,536개의 Host ID를...
-
Kernel WRITE_ONCE, READ_ONCE
들어가기전에.. volatile 변수 변수를 선언할 때volatile 을 사용하면 컴파일러에 해당 변수는 변수의 값을 바꾸는 명려어가 없더라도 그 값이 언제든 변할 수 있다고 알리는 키워드 입니다. 그래서 컴파일러는 해당 변수를 최적화기법 중 하나인 명령어 재배치의 대상에에서 제외하여 항상 메모리에 접근할 수 있도록 변환합니다. volatile 변수를 사용해야 하는 경우는 최적화에 의해서 오류가...
-
Kernel list
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_LIST_H //#ifndef ~ #endif : 매크로 중복정의를 피하기 위한 매크로 #define _LINUX_LIST_H #include <linux/types.h> #include <linux/stddef.h> #include <linux/poison.h> #include <linux/const.h> #include <linux/kernel.h> SPDX(Software Package Data Exchange)는 소프트웨어 BOM 정보(구성 요소, 라이센스, 저작권 및 보안 참조 포함)을 전달하기 위한 공개 표준입니다. #define LIST_HEAD_INIT(name) { &(name), &(name)...
-
Protocol
Protocol SNMP (Simple Network Management protocol) TCP/IP 기반의 네트워크에서 네트워크 사이의 각 호스트에서 정기적으로 여러가지 정보를 자동적으로 수집하여 네트워크 관리를 하기 위한 프로토콜 SMB (Server Message Block) LAN이나 컴퓨터 간의 통신에서 데이터 송수신을 하기 위한 프로토콜 SMB2 SMB1의 chattiness를 줄여 백개 이상의 명령을 19개로 감소 시킴으로 높은 지연성르 지닌 링크에...
-
Kernel 개발을 위한 캐릭터디바이스 핸들링
Kernel? 커널은 컴퓨터의 운영체제의 핵심이 되는 컴퓨터 프로그램으로 시스템을 완전히 통제한다. 커널의 종류에는 모놀리식 커널, 마이크로 커널, 하이브리드 커널, 엑소 커널이 있다. 모놀리식 커널 하드웨어 위에 고수준의 가상층(프로세스 관리, 동시성, 메모리관리, 시스템 콜)을 가지고 있다. 장점 커널의 모든 자원에 쉽게 접근 가능하다. 서로 자료 구조를 공유한다. 시스템 호출 속도가 빠르다....
-
Term
용어 정리및 기본 개념 정리 Protocol SNMP (Simple Network Management protocol) TCP/IP 기반의 네트워크에서 네트워크 사으이 각 호스트에서 정기적으로 여러가지 정보를 자동적으로 수집하여 네트워크 관리를 하기 위한 프로토콜 SMB (Server Message Block) LAN이나 컴퓨터 간의 통신에서 데이터 송수신을 하기 위한 프로토콜 samba Windows 운영체제에서 Linux또는 UNIX 서버에 접속하여 파일이나 프린터를...