프로그래밍/C++2013. 1. 1. 02:20

class DefaultDevice : public Device {

public:

DefaultDevice() :

ui(new DefaultUI) {

}

...


1. base class 생성자 호출


2. 생성자가 실행되기 전에 초기화 실행

- 상수(const) 멤버 변수 와 같은 경우 변경이 불가능하나,  이런 방식을 통해 변경 시킬 수 있다.

- 클래스 멤버인 reference 를 초기화 시키는 경우


'프로그래밍 > C++' 카테고리의 다른 글

[c++] expected unqualified-id before string constant  (0) 2013.05.11
C++에서 C 함수 사용하기  (0) 2013.02.02
cout , endl 의 원리  (0) 2012.04.28
Android Framework 분석을 위한 C++ 4일차  (0) 2012.04.26
[C++] Smart Pointer  (0) 2012.04.25
Posted by code cat
리눅스/커널2012. 12. 8. 11:28

VFS는 다음과 같은 구조체들이 있다.

  • 특정 파일 시스템을 표현하는 superblock 구조체
  • 특정 파일을 표현하는 inode 구조체
  • 특정 디렉터리와 경로를 표현하는 dentry 구조체
  • 프로세스와 관련해 열린 파일 구조체

눈여겨 보아야 할 점은 리눅스커널에서는 디렉터리 자체도 파일로 취급을 한다.

또한 위의 객체 따른 여러가지 operation 구조체들이 있는데 다음과 같다.

  • super_operations
  • inode_operations
  • dentry_operations
  • file operation

이들 operation 구조체들은 각 VFS구조들에 대해 함수 포인터의 구조체로 구현되어 있다.

그 밖에 구조체들에는

  • registered 된 파일 시스템을 표현하는 file_syste_type 구조체
  • 마운트 포인트를 알리는 vfsmount 구조체
  • 프로세스와 관련해 열린 파일을 표현하는 file_struct, fs_struct, namespace 구조체

'리눅스 > 커널' 카테고리의 다른 글

[OS] priority inversion 해결방법  (0) 2013.01.13
monolithic vs microkernel  (0) 2013.01.13
VFS(1) -추상적 레이어-  (0) 2012.12.08
make menuconfig 시에 원하는 옵션 찾아보기  (0) 2012.11.30
initarray_cache vs arraycache_init  (0) 2012.10.21
Posted by code cat
리눅스/커널2012. 12. 8. 10:46

리눅스 커널은 많은 서브 시스템에 Virtaul Fiel System(이하 VFS) 이라는 파일 시스템 인터페이스를 유저공간 프로그램에 제공한다.

 

VFS는 open(), read(), write(), close()같은 시스템콜들이 특정 파일 시스템에 의존하지 않도록 설계되었는데, 이는 커널의 low-level 파일 시스템 interface에서 범용 인터페이스 방식으로  제공하기에 가능하다.  이 범용 인터페이스 방식은 일종의 추상적 개념이라고 할 수 있다.  즉 VFS는 최소단의 기본 동작에 대해서 추상적 인터페이스와 그에 필요한 자료 구조를 정의하고, 세부 구현등에 대해서는 파일 시스템에 알아서 맞추라고 한다.

쉽게 말해, VFS는 갑이고, 파일 시스템은 을이다.

 

VFS(갑) : 이게 이번에 우리가 필요한 사항이고요, 단가 알아서 맞추시고요.

파일시스템(을): 이런 ㅆ.. 네.

 

웃자고 한 거고, 사실은 저렇게 추상적인 개념을 제공함으로써 유저공간 프로그램들은 어떤 파일시스템이 어떻게, 예를 들어 read() 를 구현했는지 어떻게 동작했는지 상관안하고, read를 호출할 수 있는 것이다.

'리눅스 > 커널' 카테고리의 다른 글

monolithic vs microkernel  (0) 2013.01.13
VFS(1) -구조체-  (0) 2012.12.08
make menuconfig 시에 원하는 옵션 찾아보기  (0) 2012.11.30
initarray_cache vs arraycache_init  (0) 2012.10.21
BYTES_PER_WORD  (0) 2012.10.15
Posted by code cat
리눅스/커널2012. 11. 30. 19:45

커널에서 make menuconfig으로 컴파일 설정 시에 원하는 옵션이 어디에 있는지 모르겠다면, /를 누르면 CONFIG_로 search 할 수 있게 된다.

 

몰랐는데, 아니까 너무 편하다!!!!

'리눅스 > 커널' 카테고리의 다른 글

VFS(1) -구조체-  (0) 2012.12.08
VFS(1) -추상적 레이어-  (0) 2012.12.08
initarray_cache vs arraycache_init  (0) 2012.10.21
BYTES_PER_WORD  (0) 2012.10.15
Newton-Raphson technique  (0) 2012.10.15
Posted by code cat
카테고리 없음2012. 11. 24. 19:31

출처: ??

 


&item1.list 은  item1의 list 주소값 - offset(struct item.list) 은 struct item 내의 list의 옵셋

즉 list1 의 시작 주소값이 나옴

Posted by code cat