Microsoft PowerPoint - Chapter_04.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - Chapter_04.pptx"

Transcription

1 1 File System and VFS May, 2016 Dept. of software Dankook University

2 File system 2 MM (Buddy, Slab, ) +? = FS (FAT, ExtN, )

3 File system 3 MM (Buddy, Slab, ) + Naming = FS (FAT, ExtN, )

4 File system 4 MM (Buddy, Slab, ) + Naming = FS (FAT, ExtN, ) N/A Name Pointer File(fd) Page frame Block 4KB~ Continuous or noncontinuous allocation Paging(page table) 512B~ Continuous or noncontinuous allocation FAT(FAT table), block chanin, index block,

5 File system 5 MM (Buddy, Slab, ) + Naming = FS (FAT, ExtN, ) N/A Name Pointer File(fd) Page frame Block 4KB~ Continuous or noncontinuous allocation Paging(page table) 512B~ Continuous or noncontinuous allocation FAT(FAT table), block chanin, index block, Block size vs. performance, Cylinder group, Defragmentation, Layout policy,

6 디스크구조 6 물리적관점 plotter, arm, head cylinder, track, sector 탐색지간 (seek time), 회전지연시간 (rotational latency), 데이터전송시간 (transmission time) Cylinder group Block size vs Performance Fragments Layout policy 한 Dir내의파일한 file내의 block

7 디스크구조 논리적인관점 7 논리적관점 ( 커널이보는디스크구조 ) 디스크는디스크블록들의집합 (disk is a collection of disk blocks) 디스크블록의크기는보통페이지프레임의크기와같다 (4K, 8K)

8 디스크블록할당 (1/5) 8 시나리오 새로운 14 K 크기의파일을디스크에게쓰려고함 디스크블록의크기는 4K로가정 ( 따라서 4개의디스크블록이필요 ) 아래그림에서빗금이있는디스크블록들은이미사용중인 ( 파일의데이터를갖고있는 ) 블록이라고가정 어떤디스크블록들을할당할것인가? (disk block allocation) 디스크블록할당방법 연속할당방법 (sequential allocation) 불연속할당방법 (non sequential allocation)

9 디스크블록할당 (2/5) 9 연속할당방법 new file name start size

10 디스크블록할당 (3/5) 10 불연속할당방법 : 블록체인 (block chain) 방법 new file name start size 연속할당과불연속할당방법간에장단점을논해보자.

11 디스크블록할당 (4/5) 11 불연속할당방법 : 인덱스블록 (index block) 기법 index block new file name index size 인덱스블록이가득차면?

12 디스크블록할당 (5/5) 12 불연속할당방법 : FAT (File Allocation Table) new file name start size FAT 2 5 FF FF FF 블록체인, 인덱스블록, FAT 간에장단점을논해보자. Linux 는어떤방법을사용하고있는가?

13 FAT internal 13 FAT Blocks FF FF FF FF FF FF 8 9 FF FF FF FF File1 File Master Boot Block Partition Boot Block Boot Block #2 Root Dir BLock Dir1 Dir2 Status File Name FirstAddr Size F File1 7 3 D Dir F File D Dir Status File Name FirstAddr Size D. 10? D.. 6? F x.hwp 17 5 F my.doc 22 1 (Source : Dr. dhlee)

14 디렉토리구조 14 파일계층구조 (hierarchical structure) / usr dev etc var mnt vmunix src include lib bin member local jim tom mark sooni mjc

15 디렉토리계층구조와메타데이터의예 (FAT 기준 ) 15 usr dev home var src include member / 6 11 Status File Name FirstAddr Size D usr 7 3 D dev 10 1 D home 11 5 D var D member 20 2 choijm sjbaek 20 D choijm 39 3 D sjbaek 43 2 약속.txt 43 F 약속.txt 48 1

16 inode 구조 1 16 inode /* include/linux/fs.h, ext2_fs_i.h */ inode i_inode_number i_mode i_nlink, i_dev i_uid, gid i_op i_atime, ctime, mtime type (4bit) u g s r w x r w x r w x S_IFSOCK S_IFLNK S_IFREG S_IFBLK S_IFDIR S_IFCHR S_IFIFO 12 direct block. 3 indirect block

17 inode 구조 2 17 시나리오 디스크블록의크기가 4K 로가정 파일옵셋 (offset) 이 이면어떤디스크블록에접근하게되는가? 또한파일옵셋이 이라면? file f_pos direct. inode indirect 165

18 디렉토리구조 1 18 디렉터리 파일이름과 inode를연결하는객체 (namei()) 디렉터리자체도파일임계층구조제공 Linux의디렉토리엔트리 inode number file name size file name inode for / i_mode time. 1 directory entry in DOS file name extension attributes time first block number inode 1 disk block 1 inode 3 disk block 7 inode usr 4 dev 5 etc 6 vmunix 7 var 9 mnt i_mode time src 16 include 17 lib 20 bin 23 member 25 local i_mode time. 39 disk block jim 33 tom 37 mark 41 sooni 42 choijm

19 Ext2 의 inode 와파일의개념적구조 19 inode 2 i_mode time. 20 disk block File1.c 11 mydir 12 File1.c / mydir inode 11 i_mode time inode 12 i_mode time. 24

20 Ext2 internal 20 i-node blocks Boot Block Super Block Root Dir File1.c mydir myfile myfile Root dir File1.c mydir myfile 상태 : dir 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : 20 상태 : file 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : 상태 : dir 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : 24 상태 : file 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : file name i-node No File1.c 3 mydir 4 myfile 5 mydir2 7 file name i-node No a.hwp 10 b.c 11 Test.c 24 Note.doc 19 (Source : Dr. dhlee)

21 Ext2 파일시스템의디스크에서의레이아웃 21 Partition Boot block Block Group 0 Block Group 1 Block Group N Block size = X 라가정 Super Block Group Descriptor Datablock Bitmap Inode Bitmap Inode Table Data blocks(m 개 ) Root dir 상태 : dir 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : 20 File1.c 상태 : file 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : ( X / 128)*N file name i-node No X File1.c 11 mydir 12 mydir 상태 : dir 크기 :?? 생성날짜수정날짜접근날짜소유자, 그룹접근비트 : 데이터위치 : 24 file name i-node No Root Dir File1.c mydir

22 Example(1/19)-FS 제작 22 만약여러분이 FS 제작자라면어떤구조로 FS 를제작할것인가? FAT Ext2 LFS

23 Example(2/19)-FS 제작만약여러분이 FS 제작자라면파일을관리하기위한메타데이터자료구조를어떻게정의할것인가? 이름, 크기, 사이즈, 생성시간, data 블록의위치, typedef struct { unsigned int blockno; unsigned short offset; } attribute ((packed)) ET_T; 23 typedef struct { unsigned char status; time_t date; unsigned long size; char name[file_name]; union{ ET_T index[5]; char data[30]; } attribute ((packed)) uarea; unsigned int next_blkno; char reserved[4]; char attr; } attribute ((packed)) DIRENTRY_T; typedef struct { unsigned char status; char reserved[5]; ET_T index[9]; unsigned int next_blkno; } attribute ((packed)) IDXDIRENTRY_T; nebfs

24 Example(3/19)-FS 제작 24 struct ext2_dir_entry { le32 inode; /* Inode number */ le16 rec_len; /* Directory entry length */ le16 name_len; /* Name length */ char name[]; /* File name, up to EXT2_NAME_LEN */ }; struct ext2_inode { u16 i_mode; /* File mode */ u16 i_uid; /* Low 16 bits of Owner Uid */ u32 i_size; /* Size in bytes */ u32 i_atime; /* Access time */ u32 i_ctime; /* Creation time */ u32 i_mtime; /* Modification time */ u32 i_dtime; /* Deletion Time */ u16 i_gid; /* Low 16 bits of Group Id */ u16 i_links_count; /* Links count */ u32 i_blocks; /* Blocks count */ u32 i_flags; /* File flags */ union { struct { u32 l_i_reserved1; } linux1; struct { u32 h_i_translator; } hurd1; struct { u32 m_i_reserved1; } masix1; } } osd1; /* OS dependent 1 */ u32 i_block[ext2_n_blocks]; /* Pointers to blocks */ u32 i_generation;/* File version (for NFS) */ u32 i_file_acl; /* File ACL */ u32 i_dir_acl; /* Directory ACL */ u32 i_faddr; /* Fragment address */.. ext2

25 Example(4/19)-FS 제작 25 struct msdos_dir_entry { s8 name[8],ext[3]; /* name and extension */ u8 attr; /* attribute bits */ u8 lcase; /* Case for base and extension */ u8 ctime_ms; /* Creation time, milliseconds */ u16 ctime; /* Creation time */ u16 cdate; /* Creation date */ u16 adate; /* Last access date */ u16 starthi; /* High 16 bits of cluster in FAT32 */ u16 time,date,start; /* time, date and first cluster */ u32 size; /* file size (in bytes) */ }; Msdos FS

26 Example(5/19)-FS 제작 26 typedef struct { yaffs_objecttype type; int parentobjectid; u16 sum NoLongerUsed; // checksum of name. Calc this off the name to prevent inconsistencies char name[yaffs_max_name_length + 1]; u32 st_mode; // protection // Thes following apply to directories, files, symlinks - not hard links #ifdef CONFIG_YAFFS_WINCE u32 notforwince[5]; #else u32 st_uid; // user ID of owner u32 st_gid; // group ID of owner u32 st_atime; // time of last access u32 st_mtime; // time of last modification u32 st_ctime; // time of last change #endif int filesize; // File size applies to files only int equivalentobjectid; // Equivalent object id applies to hard links only. char alias[yaffs_max_alias_length + 1]; // Alias is for symlinks only. u32 st_rdev; // device stuff for block and char devices (maj/min) #ifdef CONFIG_YAFFS_WINCE u32 win_ctime[2]; u32 win_atime[2]; u32 win_mtime[2]; u32 roomtogrow[6]; #else u32 roottogrow[12]; #endif } yaffs_objectheader; YAFFS

27 Example(6/19)-FS 제작 27 만약여러분이 FS 제작자라면파일시스템에어떤연산을구현할것인가? 즉, FS 외부로어떤 interface 를뽑아줄것인가? touch MYFS_file_create() rm MYFS_file_delete() cp MYFS_file_rename() cat MYFS_file_read() echo >> MYFS_file_write() mkdir MYFS_dir_create() rmdir MYFS_dir_delete() ls MYFS_dir_read()

28 Example(7/19)-FS 제작 28 다양한유형의파일지원 정규파일, 디렉토리, 특수장치파일, 링크, 파이프, 소켓,.. 파일시스템관련시스템호출 open, close read, write lseek dup link pipe, mkfifo mkdir, readdir mknod stat mount sync, fsck POSIX interface?

29 Example(8/19)-FS 제작 29 static struct file_operations neb_dir_operations = { readdir: neb_readdir, }; static struct inode_operations neb_dir_inode_operations = { create: neb_create, lookup: neb_lookup, unlink: neb_unlink, mkdir: neb_mkdir, rmdir: neb_rmdir, rename: neb_rename, permission: neb_permission, symlink: neb_symlink, mknod: neb_mknod, }; static struct file_operations neb_file_operations = { read: neb_file_read, write: neb_file_write, mmap: generic_file_mmap, }; static struct inode_operations neb_file_inode_operations = { lookup: neb_lookup, permission: neb_permission, truncate: neb_truncate, }; nebfs

30 Example(9/19)-FS 제작 30 struct file_operations ext2_dir_operations = { read: generic_read_dir, readdir: ext2_readdir, ioctl: ext2_ioctl, fsync: ext2_sync_file, }; struct file_operations ext2_file_operations = { llseek: generic_file_llseek, read: generic_file_read, write: generic_file_write, ioctl: ext2_ioctl, mmap: generic_file_mmap, open: generic_file_open, release: ext2_release_file, fsync: ext2_sync_file, }; static struct super_operations ext2_sops = { read_inode: ext2_read_inode, write_inode: ext2_write_inode, put_inode: ext2_put_inode, delete_inode: ext2_delete_inode, put_super: ext2_put_super, write_super: ext2_write_super, statfs: ext2_statfs, remount_fs: ext2_remount, }; ext2

31 Example(10/19)-FS 제작 31 struct inode_operations msdos_dir_inode_operations = { create: msdos_create, lookup: msdos_lookup, unlink: msdos_unlink, mkdir: msdos_mkdir, rmdir: msdos_rmdir, rename: msdos_rename, setattr: fat_notify_change, }; Msdos FS

32 Example(11/19)-FS 제작 32 static struct address_space_operations yaffs_file_address_operations = { readpage: yaffs_readpage, prepare_write: yaffs_prepare_write, commit_write: yaffs_commit_write }; static struct file_operations yaffs_file_operations = { #ifdef CONFIG_YAFFS_USE_GENERIC_RW read: generic_file_read, write: generic_file_write, #else read: yaffs_file_read, write: yaffs_file_write, #endif mmap: generic_file_mmap, flush: yaffs_file_flush, fsync: yaffs_sync_object, }; static struct inode_operations yaffs_file_inode_operations = { setattr: yaffs_setattr, }; struct inode_operations yaffs_symlink_inode_operations = { readlink: yaffs_readlink, follow_link:yaffs_follow_link, setattr: yaffs_setattr }; static struct inode_operations yaffs_dir_inode_operations = { create: yaffs_create, lookup: yaffs_lookup, link: yaffs_link, unlink: yaffs_unlink, symlink: yaffs_symlink, mkdir: yaffs_mkdir, rmdir: yaffs_unlink, mknod: yaffs_mknod, rename: yaffs_rename, setattr: yaffs_setattr, }; static struct file_operations yaffs_dir_operations = { read: generic_read_dir, readdir: yaffs_readdir, fsync: yaffs_sync_object, }; static struct super_operations yaffs_super_ops = { statfs: yaffs_statfs, read_inode: yaffs_read_inode, put_inode: yaffs_put_inode, put_super: yaffs_put_super, delete_inode: yaffs_delete_inode, clear_inode: yaffs_clear_inode, }; YAFFS

33 Example(12/19)-FS 제작 33 만약여러분이 FS 제작자라면만든 FS 가특정 device 위에서만돌도록만드시겠습니까? User File System Disk Emulator Disk Device Driver CD-ROM Device Driver SDRAM Access Interface Disk CD-ROM SDRAM

34 Example(13/19)-FS 제작 34 만약 Hard Disk 위에서돌리고싶다면? User # touch a File System file_create() Disk Emulator disk_write_block() Disk Device Driver XXXhdd_write_block() Disk

35 Example(14/19)-FS 제작 35 만약 RAM 상에서돌리고싶다면? User # touch a File System file_create() Disk Emulator disk_write_block() SDRAM Access Interface SDRAM RAM_write_block() Static char * ramdata[size]; RAM_write_block(){ //copy data to ramdata }

36 Example(15/19)-FS 제작 FS 함수구현의예 (ls) int MYFS_dir_read() { int i, sector, offset, files_in_dir; DIRENTRY_T *ep; 36 SM_P(); ep = (DIRENTRY_T *)buf; sector = cur_dir; offset = 0; disk_read_block(sector, buf); files_in_dir = ep->size; for (i = 0; i < files_in_dir; i++) { disk_read_block(sector, buf); ep = (DIRENTRY_T *) (buf+offset); if (ep->status == DIR) printk(" %14s/ %d", ep->name, ep->size); else printk(" %14s %d", ep->name, ep->size); /* ep->status == FILE */ offset += sizeof(direntry_t); if (offset == 512) { sector = FAT[sector]; offset = 0; } if (!((i+1) % 4)) printk(" n"); } printk(" n"); SM_V(); return(fs_success);

37 Example(16/19)-FS 제작 37 create, read, write. 의함수는? cp./a.txt /b.txt Int cp(.... ) { int a, b, rb; char buf[size_of_block]; a = MYFS_file_open(./a.txt); b = EXT2_file_open(/b.txt); rb = MYFS_file_read(a, buf); while( rb ){ EXT2_file_write(b, rb, buf); rb = MYFS_file_read(a, buf); } } 정말 cp 프로그램을이렇게만들어줘야할까? 이렇게 FS 종속적이지않도록하려면?

38 다양한파일시스템지원의문제점 38 User App fat_file_write(a.txt, ); ext2_truncate(b.txt, ); User level do_sync_read, do_sync_write, ext3_truncate, ext3_readdir, generic_file_read, generic_file_write, ext2_truncate, ext2_readdir, generic_file_read, fat_file_write, fat_truncat, generic_read_dir, Kernel level b.txt a.txt Ext3 Ext2 msdos /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda Disk

39 가상적인 (Virtual) 계층의도입 39 User App open(a.txt, ); write(b.txt, ); User level b.txt a.txt Kernel level do_sync_read, do_sync_write, ext3_truncate, ext3_readdir, generic_file_read, generic_file_write, ext2_truncate, ext2_readdir, generic_file_read, fat_file_write, fat_truncat, generic_read_dir, Ext3 Ext2 msdos /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda Disk

40 VFS 의동작원리 40 VFS read 요청 3 msdos 자체의관리방법을통해 요청된파일내용을읽음 사용자의 a.txt 요청 msdos 4 FAT, msdos_ 디렉토리엔트리 5 /dev/hda3 b.txt b.txt 6 읽어온내용을바탕으로 넘겨받은구조체를채워서리턴 /dev/hda Disk

41 Linux 파일시스템구조 41 task 1 task 2 task n System call interface User level Kernel level VFS Page Cache submit_bh() ll_rw_block() ext2 buffer page Virtualization Dentry cache buffer page msdos buffer page. Inode cache procfs Generic Block layer gendisk I/O Scheduler gendisk ext3 yaffs nfs device driver Queue device driver. Disk Disk

42 VFS 와네가지객체 42 VFS 의객체유형 슈퍼블록객체 마운트된 FS 을나타내는정보저장 ( 디스크의 ) 파일시스템제어블록 (filesystem control block) 에대응 아이노드객체 특정파일을나타내는정보저장 ( 디스크의 ) 파일제어블록 (file control block) 에대응 inode 번호로 FS 내에서유일하게식별됨 파일객체 프로세스와연관되어 Open 되어있는파일과관련된정보를저장 각 process 가 file 에접근하는동안커널메모리에만존재 디엔트리객체 디렉토리항목과이에대응하는파일의연결에대한정보를저장 독자적방법으로디스크에저장함 디엔트리캐시 가장최근에사용한디엔트리객체를캐시

43 VFS 자료구조 Super block 객체 슈퍼블록객체 (struct super_block, <linux/fs.>) 43

44 Super block 객체관리 44 모든 superblock object는 circular doubly linked list로연결 list field 처음과끝은 super_blocks 변수의 s_list 의 next 와 prev 에저장 슈퍼블록슈퍼블록슈퍼블록 s_list s_list s_list super_blocks next next next next prev prev prev prev

45 super_blocks list 확인 45

46 Super block 객체와 super operations 46

47 VFS mounted FS system structure 47 root d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount dentry d_subdirs d_child d_cover d_mount

48 Example 간단한 FS 실습 (1/2) 48

49 Example 간단한 FS 실습 (2/2) 49 Block Size 를 2048 혹은, 4096 으로만들수있는가?

50 Inode 객체 아이노드객체 (struct inode <linux/fs.h>) 50

51 Inode 객체 51

52 Inode 객체와 inode operatoins 52 inode 관련연산은 inode_operations 구조체에담아 i_op 필드에

53 File 객체 53 파일객체 (struct file <linux/fs.h>)

54 File 객체와 file operations 54 파일에대한연산을 file_operations 구조체에담아 f_op 에

55 Dentry 객체 55 디엔트리객체 (struct dentry <linux/dcache.h>) 디렉토리엔트리를메모리로읽은뒤, VFS가 dentry 구조체의디엔트리객체로변환 P가탐색하는경로명의모든구성요소에대해디엔트리객체생성

56 Dentry 객체와 dentry operations 56 dentry 객체에대한연산을 dentry_operations 구조체에담아 d_op 필드에, 대개 NULL 임

57 struct task_struct /* include/linux/sched.h */. struct files_struct *files;. Linux 의파일연산구현분석 (1/5) 파일연산 : file_operations inode 연산 : inode_operations 57 struct files_struct /* include/linux/sched.h */ atomic_t count; int max_fds; struct file *fd_array[] ; fd_set close_on_exec;.. struct file /* include/linux/fs.h*/ struct file *f_next, **f_pprev; struct dentry f_dentry; struct file_operations *f_op; mode_t f_mode; loff_t f_pos; unsigned int f_count, f_flags;. struct dentry /* include/linux/dcache.h */ int d_count, d_flags; struct inode *d_inode;. struct inode /* include/linux/fs.h */ int i_ino. struct inode_operations i_op.

58 task_struct 와 VFS 의객체 58 task_struct file_struct /* include/linux/fdtable.h */ files file /* include/linux/fs.h */ fs fd[0] fd[1] dentry /* include/linux/dcache.h */... fd[2] f_dentry fd[3] f_pos f_op d_inode... d_op... fs_struct /* include/linux/fs_struct.h */ inode /* include/linux/fs.h */ root pwd file dentry i_sb... f_dentry i_op d_inode f_pos d_op f_op task_struct file_struct files fs fd[0] super_block /* include/linux/fs.h */ fd[1]... fd[2] fd[3] s_bdev fd[4] ext2 s_op /dev/hda2

59 파일인터페이스 59 커널자료구조관계 fork open same file file_struct task_struct file inode task_struct file_struct file inode parent parent file_struct task_struct child file how about dup?

60 Linux 의파일연산구현분석 (2/5) 60 open 시스템호출분석 /* fs/open.c */ sys_open() System call layer /* fs/namei.c */ filp_open() - get_unused_fd_flags() - do_filp_open() - fd_install(fd, f) - struct file initialize - call file->f_op->open() VFS layer Specific File layer fifo_open() blkdev_open() chrdev_open() nfs_file_open() sock_no_open()

61 Linux 의파일연산구현분석 (3/5) 61 struct file_operations 구조 : 다양한파일유형을일관된인터페이스로지원 NFS /* fs/nfs/file.c */ NULL, nfs_file_read, nfs_file_write NULL, NULL, NULL, nfs_file_mmap nfs_file_open, ext2 file system /* fs/ext2/file.c */ ext2_file_lseek, generic_file_read, ext2_file_write NULL, NULL, ext2_file_ioctl generic_file_mmap NULL,. 파이프 pipe_lseek, pipe_read, pipe_write NULL, pipe_poll, pipe_ioctl, NULL, fifo_open,... struct file_operations /* include/linux/fs.h */ llseek() read() write() readdir() poll() ioctl() mmap() open() flush() release() fsync() fasync().. socket /* net/socket.c */ no_lseek sock_readv sock_writev NULL sock_poll sock_ioctl sock_mmap sock_no_op en. 블록장치파일 /* fs/block_dev.c */ /* fs/pipe.c */ blkdev_close, blkdev_llseek, block_ioctl, blkdev_open,. 문자장치파일 /* fs/char_dev.c */ noop_llseek, chrdev_open

62 Linux 의파일연산구현분석 (4/5) 62 open 시스템호출분석 sock_read() /* fs/read_write.c */ sys_read() - file->f_op->read System call handling layer block_read() VFS layer pipe_read() /* mm/filemap.c */ generic_file_read_iter() tty_read() - try to find page in cache, if (hit) OK. - inode->i_op->readpage() Specific File layer nfs_readpage() /* fs/buffer.c */ coda_readpage() Specific FS layer /* fs/ext2/inode.c */ ext2_bmap() /* fs/ufs/inode.c */ ufs_bmap() generic_readpage() /* driver/block/ll_rw_blk.c */ ll_rw_block() /* driver/block/hd.c */ Device Driver layer hd_request

63 Linux 의파일연산구현분석 (5/5) 63 struct inode_operations 구조 : 다양한파일시스템을일관된인터페이스로지원 fs/pipe.c rdwr_pipe_fops, NULL, NULL, NULL, NULL,... fs/ext2/file.c ext2_file_operations, NULL, NULL, NULL, NULL,... generic_readpage NULL ext2_bmap,. fs/device.c def_blk_fops, NULL, NULL, NULL, NULL,... include/linux/fs.h struct inode_operation { def_file_operation create(), lookup(), link(), unlink(), symlink(), mkdir(), rmdir(), mknod(), rename(), readlink(), followlink(), readpage(), writepage() bmap(), truncate(),. } fs/ufs/file.c ufs_file_operations, NULL, NULL, NULL, NULL,... generic_readpage NULL ufs_bmap,. fs/dos/files. c dos_file_operation s, NULL, NULL, NULL, NULL, dos_readpage, dos_writepage, NULL,. fs/nfs/file.c nfs_file_operations, NULL, NULL, NULL, NULL,... nfs_readpage nfs_writepage NULL.

64 파일시스템등록 64 register_filesystem() 간단하다. file_system_type 구조체하나채워주고호출하면끝

65 파일시스템등록 65 이때 file_system_type 구조체의내용은아래와같다. read_super 필드는슈퍼블록을읽는함수를지정해주는필드이다 앞장에서 find_filesystem() 함수는현재시스템에올라와있는모든 FS 를찾아봐서중복된놈을올리는게아닌지확인하는역할을한다

66 파일시스템등록 66 구조체는직접채워도되지만, 보통모두 DECLARE_FSTYPE() 매크로를사용한다. 쉽고간단하다.

67 Example(17/19)-FS 제작 67 FS 를 Module 형태로제작한다면? /* NEB_super.c */. static DECLARE_FSTYPE(neb_type, "neb", neb_read_super, FS_SINGLE); static int init init_neb(void) { return register_filesystem(&neb_type); } int init_module(void) { dprintk("<0>%s:%s(%d) n", FILE, FUNCTION, LINE ); return init_neb(); }..

68 Example(18/19)-FS 제작 68 User 가 mount 명령을내리면? static struct super_block *neb_read_super(struct super_block *sb, void *data, int silent) { dprintk("<0>%s:%s(%d) n", FILE, FUNCTION, LINE ); struct inode *root_inode; int vol, err; dev_t dev; neb_file_id_t fid; unsigned long tmp; vol = MINOR(sb->s_dev) & 0x7; dev = MKDEV(MAJOR(sb->s_dev), MINOR(sb->s_dev)-vol); if ((err = _neb_mount_vol(dev, vol-1)) < 0) { printk("<0> %s: _neb_mount_vol failed: %d n", FUNCTION, err); goto neb_sb_err1; } // read_super 의인자로넘어온 super block 포인터 sb 에 file system specific 한정보를기입 if ((err = _neb_read_super(dev, vol-1, &sb->u.neb_sb)) < 0) { printk("<0> %s: _neb_read_super failed: %d n", FUNCTION, err); goto neb_sb_err1; }

69 Example(19/19)-FS 제작 // 나머지 sb 의정보를채움 sb->s_blocksize = sb->u.neb_sb.cluster_size; User가 mount명령을내리면? sb->s_blocksize_bits = 0; tmp = sb->s_blocksize; while (tmp > 1) { sb->s_blocksize_bits++; tmp >>= 1; } sb->s_maxbytes = 0xFFFFFFFF; // maximum file size sb->s_magic = NEB_MAGIC; sb->s_op = &neb_ops; sb->s_dirt = 0; // 지역변수 fid에다가 root directory의 inode 정보를기입 fid.dev = dev; fid.vol = vol-1; fid.parent_first_block = sb->u.neb_sb.root_cluster; fid.dir_first_block = sb->u.neb_sb.root_cluster; strcpy(fid.filename, "."); if ((err = _neb_lookup(&fid)) < 0) { printk("<0>%s: _neb_lookup failed: %d n", FUNCTION, err); goto neb_sb_err1; } // root_inode 에 root dir 을위한inode 할당 root_inode = iget4(sb, sb->u.neb_sb.root_cluster, (find_inode_t) _neb_find_actor, (void *) &fid); 69 } if (!root_inode) goto neb_sb_err1; // root_inode 를위한dentry할당 if (!(sb->s_root = d_alloc_root(root_inode))) return sb; goto neb_sb_err2;

70 Example(1/3)- Lock 실험 70 Process A 에서 fcntl() 이나 flock() 함수를사용하여파일 a.txt 에 lock 을건다 Process A 가 fork() 하여 Process A 를생성한다 Process A 가파일 a.txt 에접근하려하면? Process A 가파일 a.txt 에 lock 을잡고있는동안, 창을하나더띄워서 vi 편집기로 a.txt 를편집하려고하면?

71 Example(2/3)- Lock 실험 71 Advisory lock(posix : fcntl(), BSD : flock()) OS 가특정프로세스에의해 Locking 된파일에대하여정확한자료를유지하되, 다른프로세스에의해 Locking 된파일에대하여쓰기를막지않는것을말함 프로세스는 advisory lock 을무시하고적절한권한이있다면 Lock 된파일에쓰기를할수있음 Mandatory lock(system V Release 3 : lockf()) 호출프로세스가접근하려는파일에대해 lock 을위반하지않는가를검사하기위해 kernel 로하여금 open, read, write 를검사하는방식

untitled

untitled Block Device Driver in Linux Embedded System Lab. II Embedded System Lab. II 2 Define objective of applications using device Study Hardware manual (Registers) (vector number) Understand interface to related

More information

¼ÒÇÁÆ®-12È£-ÃÖÁ¾¿Ï¼º

¼ÒÇÁÆ®-12È£-ÃÖÁ¾¿Ï¼º IT World 2008. 05 No.12 Focus Interview Best Practice Open Mind 2008. 05 No.12 Contents Special Editorial Best Practice 04 08 12 16 20 22 24 28 30 Insight 34 36 40 42 46 Tech Guide 50 56 62 News & Trend

More information

Embeddedsystem(8).PDF

Embeddedsystem(8).PDF insmod init_module() register_blkdev() blk_init_queue() blk_dev[] request() default queue blkdevs[] block_device_ops rmmod cleanup_module() unregister_blkdev() blk_cleanup_queue() static struct { const

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

10.

10. 10. 10.1 10.2 Library Routine: void perror (char* str) perror( ) str Error 0 10.3 10.3 int fd; /* */ fd = open (filename, ) /*, */ if (fd = = -1) { /* */ } fcnt1 (fd, ); /* */ read (fd, ); /* */ write

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

슬라이드 1

슬라이드 1 / 임베디드시스템개요 / 임베디드운영체제 / 디바이스드라이버 01 Linux System Architecture Application Area Application System Call Interface BSD Socket Virtual File System INET(AF_INET) Kernel Area Buffer Cache Network Subsystem

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6 GNU/ 1, qkim@pecetrirekr GNU/ 1 1 2 2 3 4 31 MS-DOS 5 32 LOADLIN 5 33 DOS- LILO 6 34 DOS- 6 35 LILO 6 4 7 41 BIOS 7 42 8 43 8 44 8 45 9 46 9 47 2 9 5 X86 GNU/LINUX 10 1 GNU/, GNU/ 2, 3, 1 : V 11, 2001

More information

7장. 교착상태(deadlock)

7장. 교착상태(deadlock) 11 장. 파일시스템구현 목표 local 파일시스템및디렉토리구조의구현을설명 remote 파일시스템구현을설명 블록할당과자유블록알고리즘논의 2 11.1 File-System 구조 File system 은보조저장장치 ( 디스크 ) 에위치. 블록단위전송 I/O 효율성향상 block size: one or more sectors sector size: 32 4KB (usually

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

슬라이드 1

슬라이드 1 7 장 파일시스템 파일시스템의개요 ext2 파일시스템 파일시스템관련자료구조 NFS 파일시스템 proc 파일시스템 한빛미디어 ( 주 ) Section 01 파일시스템의개요 파일 디스크와같은물리적인저장매체에저장되는프로그램 데이터정보에대한논리적인저장단위 파일시스템 파일을어떻게관리할것인가에대한정책 파일을저장하고또한찾기가용이하도록유지및관리하는방법 파일 + 디렉토리구조

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

<4D F736F F F696E74202D205BBAB0C3B75D20B8AEB4AABDBA20B5F0B9D9C0CCBDBA20B5E5B6F3C0CCB9F620B8F0B5A82E >

<4D F736F F F696E74202D205BBAB0C3B75D20B8AEB4AABDBA20B5F0B9D9C0CCBDBA20B5E5B6F3C0CCB9F620B8F0B5A82E > 안드로이드환경에서의 리눅스디바이스드라이버 문자디바이스드라이버설명 Table of contents 디바이스드라이버구조 시스템구조 모듈의기본골격 드라이버 IO 제어 안드로이드환경에서의 한백전자교육사업부 리눅스디바이스드라이버 시스템구조 쉘 응용프로그램 표준라이브러리 시스템콜 가상파일시스템 (VFS) 버퍼캐시 네트워크시스템 문자디바이스드라이버 블럭디바이스드라이버 네트워크디바이스드라이버

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

Microsoft Word doc

Microsoft Word doc 2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.

More information

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기 Mango-AM335x LCD Type 커널 Module Parameter 에서 변경하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology

More information

교육지원 IT시스템 선진화

교육지원 IT시스템 선진화 Module 16: ioctl 을활용한 LED 제어디바이스드라이버 ESP30076 임베디드시스템프로그래밍 (Embedded System Programming) 조윤석 전산전자공학부 주차별목표 ioctl() 을활용법배우기 커널타이머와 ioctl 을활용하여 LED 제어용디바이스드라이브작성하기 2 IOCTL 을이용한드라이버제어 ioctl() 함수활용 어떤경우에는읽는용도로만쓰고,

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

More information

Microsoft PowerPoint - 09_FileSystem

Microsoft PowerPoint - 09_FileSystem Linux 파일시스템프로그래밍 File System Programming - 파일시스템내부구조 - File Descriptor - File 기본작업시스템호출 - File 정보관리시스템호출 - Directory 관리시스템호출 이제부터는 시스템사용에만머물지않는다. 내부로들어가서건드려보고나만의시스템을만들자. 시스템호출 ( 또는표준 API) 을이용하여운영체제기능을프로그램에서사용

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 File System Jo, Heeseung 유닉스파일의특징 [1] 파일 유닉스에서파일은데이터저장, 장치구동, 프로세스간통신등에사용 일반파일, 디렉토리, 특수파일 일반파일 텍스트파일, 실행파일, 라이브러리, 이미지등유닉스에서사용하는대부분의파일 디렉토리 디렉토리도파일로취급 디렉토리에속한파일의목록과 inode 를가진파일 특수파일 - 장치파일 장치를파일로표현 예

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

Microsoft PowerPoint APUE(File InO).pptx

Microsoft PowerPoint APUE(File InO).pptx Linux/UNIX Programming 문양세강원대학교 IT대학컴퓨터과학전공 강의목표및내용 강의목표 파일의특성을이해한다. 파일을열고닫는다. 파일로부터데이터를읽고쓴다. 기타파일제어함수를익힌다. 강의내용 파일구조 (UNIX 파일은어떤구조일까?) 파일관련시스템호출 시스템호출의효율과구조 Page 2 What is a File? A file is a contiguous

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Adding a New Dev file

Adding a New Dev file Adding a New Dev file - 김성영, 이재혁, 김남현 - 발표자 : 김남현 목차 01 Progress 02 Device file 03 How create dev file 04 Example Progress 4 월 1 일 프로젝트방향설정 4 월 8 일 device file 추가방법조사 mem.c 파일분석 4 월 10 일 알고리즘제시필요한함수분석

More information

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 2010-0025282 부처명 교육과학기술부

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 2010-0025282 부처명 교육과학기술부 (19) 대한민국특허청(KR) (12) 등록특허공보(B1) (45) 공고일자 2015년01월13일 (11) 등록번호 10-1480424 (24) 등록일자 2015년01월02일 (51) 국제특허분류(Int. Cl.) G06F 12/00 (2006.01) G11C 16/00 (2006.01) (21) 출원번호 10-2013-0023977 (22) 출원일자 2013년03월06일

More information

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx 1.4 Blocking Block의정의 디스크와메모리사이에데이터전송의단위 물리적레코드라고도함 Sector, Block, Cluster의비교 Sector: Data transfer 의최소단위 Block = n개의 sector로구성 디스크와메모리사이에데이터전송의단위 Cluster: m 개의 sector 로구성되며, FAT 구성단위 Cluster Block 영남대학교데이터베이스연구실

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

Microsoft PowerPoint - ch09_파이프 [호환 모드]

Microsoft PowerPoint - ch09_파이프 [호환 모드] 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 파이프 IT CookBook, 유닉스시스템프로그래밍 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 파이프 IT CookBook, 유닉스시스템프로그래밍 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 3/20 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

<4D F736F F F696E74202D FC6C4C0CFB0FA20B5F0B7BAC5E4B8AE205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D FC6C4C0CFB0FA20B5F0B7BAC5E4B8AE205BC8A3C8AF20B8F0B5E55D> 학습목표 유닉스파일의특징을이해한다. 파일에관한정보를검색하는함수를사용할수있다. 하드링크와심볼릭링크파일을이해하고관련함수를사용할수있다. 파일사용권한을검색하고조정하는함수를사용할수있다. 디렉토리의특징을이해한다. 디렉토리의내용을검색하는함수를사용할수있다. 디렉토리를생성하고삭제하는함수를사용할수있다. 파일과디렉토리 IT CookBook, 유닉스시스템프로그래밍 2/45 목차

More information

06장.리스트

06장.리스트 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 리스트 1/28 리스트란? 리스트 (list), 선형리스트 (linear list) 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : ( ㄱ, ㄴ,, ㅎ ) 카드 :

More information

교육지원 IT시스템 선진화

교육지원 IT시스템 선진화 Module 11: 가상디바이스드라이버작성 ESP30076 임베디드시스템프로그래밍 (Embedded System Programming) 조윤석 전산전자공학부 주차별목표 디바이스드라이버의실행과정이해하기 크로스컴파일러를이용하여가상의디바이스드라이버생성하기 Kbuild 에대해이해하기 2 file_operations 구조체 struct file_operations {

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

Microsoft PowerPoint APUE(Files and Directories).ppt

Microsoft PowerPoint APUE(Files and Directories).ppt 컴퓨터특강 () [Ch. 4] 2006 년봄학기 문양세강원대학교컴퓨터과학과 강의목표및내용 강의목표 파일의상태및구조를이해한다. 파일시스템구현을이해한다. 디렉토리구조및구현을이해한다. 강의내용 파일상태 파일접근허가권 파일시스템구현 링크 (link) 디렉토리 Page 2 1 stat() 파일상태확인 #include #include

More information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Microsoft PowerPoint - Chapter_09.pptx

Microsoft PowerPoint - Chapter_09.pptx 프로그래밍 1 1 Chapter 9. Structures May, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 구조체의개념 (1/4) 2 (0,0) 구조체 : 다양한종류의데이터로구성된사용자정의데이터타입 복잡한자료를다루는것을편하게해줌 예 #1: 정수로이루어진 x,

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 4 장파일 컴퓨터과학과박환수 1 2 4.1 시스템호출 컴퓨터시스템구조 유닉스커널 (kernel) 하드웨어를운영관리하여다음과같은서비스를제공 파일관리 (File management) 프로세스관리 (Process management) 메모리관리 (Memory management) 통신관리 (Communication management) 주변장치관리 (Device

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

Discrete Mathematics

Discrete Mathematics 컴퓨터특강 () [Ch. 4] 2005 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학 강의목표및내용 강의목표 파일의상태및구조를이해한다. 파일시스템구현을이해한다. 디렉토리구조및구현을이해한다. 강의내용 파일상태 파일접근허가권 파일시스템구현 링크 (link) 디렉토리 Page 2 stat() 파일상태확인 #include #include

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

Microsoft PowerPoint - chap3 [호환 모드]

Microsoft PowerPoint - chap3 [호환 모드] 제 3 장파일과디렉토리 숙대창병모 1 목표 파일시스템구현을이해한다. 파일의상태및구조를이해한다. 디렉토리구조및구현을이해한다. 숙대창병모 2 내용 1. 파일시스템구현 2. 파일상태 3. 파일접근허가권 4. 링크 5. 디렉토리 숙대창병모 3 3.1 파일시스템구현 숙대창병모 4 Inode (Index node) 한파일은하나의 i-node 를갖는다. 파일에대한모든정보를가지고있음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example

Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example FAT12/16/32 File System Twitter : @pr0neer Blog : Email : proneer@gmail.com Kim Jinkook Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example FAT12/16/32 Introduction Security

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

리뉴얼 xtremI 최종 softcopy

리뉴얼 xtremI 최종 softcopy SSD를 100% 이해한 CONTENTS SSD? 03 04 05 06 07 08 09 10 11 12 13 15 14 17 18 18 19 03 SSD SSD? Solid State Drive(SSD) NAND NAND DRAM SSD [ 1. SSD ] CPU( )RAM Cache Memory Firmware GB RAM Cache Memory Memory

More information

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint - IOControl [호환 모드]

Microsoft PowerPoint - IOControl [호환 모드] 목차 Input/Output Control I/O Control Mechanism mmap function munmap function RAM Area Access LED Control 4 digits 7 Segment Control Text LCD Control 1 2 I/O Control Mechanism (1) I/O Control Mechanism (2)

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Linux Kernel and Device Driver Jo, Heeseung 커널과의관계 시스템이지원하는하드웨어를응용프로그램에서사용할수있도록커널에서제공하는라이브러리 응용프로그램이하드웨어를제어하려면커널에자원을요청 - 응용프로그램에서는 C 라이브러리같은함수를호출 - 라이브러리내부에서는커널에게시스템콜을호출 - 커널로제어가넘어가게되면 ( 커널모드 ) 를통해서하드웨어를제어

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

로봇SW교육원 강의자료

로봇SW교육원 강의자료 UNIT 05 make 광운대학교로봇 SW 교육원 최상훈 학습목표 2 Makefile 을작성핛수있다. make 3 make 프로젝트관리유틸리티 컴파일시갂단축 파일의종속구조를빠르게파악핛수있음 기술파일 (Makefile) 에기술된대로컴파일명령또는셸 (shell) 명령을순차적으로수행 make 를사용하지않을경우 $ gcc c main.c $ gcc c test_a.c

More information