학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

Similar documents
학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

3. 다음그림은프로세스의 file table 과 v-node 테이블의연결관계예제이다. 위그림을참고하여두개의서로다른프로세스가같은파일을 open 명령을사용하여열었을때의연결관계를도시하시오. 4. 메모리영역은 low-address 부터 high-adress 까지순서대로나열했을

chap7.key

슬라이드 1

Microsoft PowerPoint - Lecture 4-1 Linux File Environment.ppt [호환 모드]

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

제1장 Unix란 무엇인가?

제1장 Unix란 무엇인가?

학번 : 이름 1. 다음프로그램실행결과를예측하시오. $./a.out & [1] 7216 $ kill -USR $ kill -USR 아래학생이작성한쓰레드코드의문제점을설명하시오. void* thread_main() { pthread_mutex_t

untitled

10.

歯9장.PDF

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

chap 5: Trees

제12장 파일 입출력

강의10

Microsoft PowerPoint - chap4 [호환 모드]

vi 사용법

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal.

Microsoft PowerPoint - lab14.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

ABC 11장

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 6 가지중하나. (1) 프로그램수행직후, (2) 5 초후 (3) 10 초후 (4) 15 #include <signa

본 강의에 들어가기 전

2009년 상반기 사업계획

PowerPoint 프레젠테이션

Adobe Flash 취약점 분석 (CVE )

11장 포인터

Chapter #01 Subject

Chapter 05. 파일접근권한관리하기

<4D F736F F F696E74202D FB8DEB8F0B8AE20B8C5C7CE205BC8A3C8AF20B8F0B5E55D>

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

고급 프로그래밍 설계

vi 사용법

C 언어 프로그래밊 과제 풀이

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

2009년 상반기 사업계획

PowerPoint 프레젠테이션

Microsoft PowerPoint - 09_FileSystem

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

제1장 Unix란 무엇인가?

PowerPoint 프레젠테이션

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

슬라이드 1

Microsoft PowerPoint APUE(Intro).ppt

로봇SW교육원 강의자료

Microsoft PowerPoint - chap6 [호환 모드]

PowerPoint 프레젠테이션

2009년 상반기 사업계획

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint APUE(File InO).pptx

KEY 디바이스 드라이버

03장.스택.key

Microsoft PowerPoint - chap12-고급기능.pptx

<4D F736F F F696E74202D FC6C4C0CFB0FA20B5F0B7BAC5E4B8AE205BC8A3C8AF20B8F0B5E55D>


Microsoft PowerPoint - chap10-함수의활용.pptx

4. What will be the output of this program? Explain results for each variable and each thread. #include "apue.h" int var=1; pthread_mutex_t lock; void

Microsoft Word ARM_ver2_0a.docx

Microsoft PowerPoint - u3.ppt [호환 모드]

Microsoft PowerPoint oshw1&2.ppt [호환 모드]

untitled

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint oshw1.ppt [호환 모드]

CMake Make 파일의 dependency 를제대로세팅하는것은귀찮은작업임 lib.h main.c main.o program bill.c fred.c bill.o fred.o libfoo.a

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

Microsoft PowerPoint - chap3 [호환 모드]

13주-14주proc.PDF

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint APUE(Files and Directories).ppt

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBA20BBFDBCBAB0FA20BDC7C7E0205BC8A3C8AF20B8F0B5E55D>

2009년 상반기 사업계획

%eb%8f%99%ec%9d%b8-[NO_09]%20%ec%9d%98%ea%b3%bc%eb%8c%80%ed%95%99%20%ec%86%8c%ec%8b%9d%ec%a7%80_F(%ec%b5%9c%ec%a2%85)-2.pdf


Embeddedsystem(8).PDF

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

PowerPoint 프레젠테이션

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

Discrete Mathematics

Chapter_02-3_NativeApp

Microsoft PowerPoint - [2009] 02.pptx

6주차.key

Microsoft PowerPoint - 제11강 파일 처리

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint APUE(File InO).ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint APUE(File InO)

Microsoft PowerPoint - chap2

EA0015: 컴파일러

Chapter 4. LISTS

hlogin7

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - 09-Pipe

Microsoft PowerPoint - chap12 [호환 모드]

Transcription:

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력을예측하시오. $ cd /usr $ ls..? $ ls.? 2. 다음그림은어떤프로세스가다음코드를수행했다는가정에서도시되었다. int newfd=dup(1); 여기서화살표는 file table 과 v-node 테이블의연결관계를나타낸다. a) 변수 newfd 에들어있는값은? b) 다음명령수행후의테이블연결관계를위그림을참고하여도시하시오. int fd1=open(pathname, oflags); int fd2=open(pathname, oflags); // fd1==3, fd2==5 를가정하시오.

3. 다음 ll 명령의결과를보고아래질문에답하시오. (ll 은 ls -alf 의약자.) $ ll /usr/bin/passwd -rwsr-xr-x 1 root root 42824 Apr 9 2012 /usr/bin/passwd* $ ll /usr/bin/apt-get -rwxr-xr-x 1 root root 192592 Aug 21 07:38 /usr/bin/apt-get* $ ll /etc/passwd -rw-r--r-- 1 root root 1711 Sep 26 14:23 /etc/passwd a) 두실행파일 (passwd, apt-get) 의파일권한이어떻게다른지설명하고, 그래야만하는이유를설명하시오. b) 다음구체적인사용예 ~$ whoami taesoo ~$ passwd ~$ sudo apt-get install gcc 에서 passwd 와 apt-get 프로세스의 real user 와 effective user 를각각적으시오. 4. Bourne-again 셸 (bash) 은다음과같은표기법을지원한다. n> 파일이름이것은해당파일을연후, 그파일서술자 fd 와같은파일로파일서술자 (file descriptor) n 을재지정하는것이다. 즉시스템호출 dup2(fd, n) 에해당한다. 숫자 n 생략시 n 은 1(stdout) 이다. ( 예 :./a.out > outfile 시 1 번파일서술자는 outfile 을가리킨다.) n>& fd 이것은파일서술자 (file descriptor) n 을파일서술자 fd 와같은파일로재지정하는것이다. 즉 dup2(fd, n) 에해당한다. 그렇다면다음명령수행후 outfile 의내용과화면내용을각각설명하시오. 소스코드 : void main() fprintf(stderr, err ); fprintf(stdout, out ); a) $./a.out 2> outfile 터미널화면 : outfile: b)./a.out > outfile 2>&1 터미널화면 : outfile: c)./a.out 2>&1 > outfile 터미널화면 :

outfile: ( 힌트 : 셸은주어진명령줄을왼쪽에서오른쪽으로처리한다 ) 5. a) 다음명령실행상황을읽어본후아래공란 ( ) 에적절한숫자를적으시오. ~/temp$ umask 777 ~/temp$ touch a ~/temp$ ll total 16 drwx------ 2 taesoo taesoo 4096 Oct 15 16:47./ drwxr-xr-x 137 taesoo taesoo 12288 Oct 15 16:45../ ---------- 1 taesoo taesoo 0 Oct 15 16:47 a ~/temp$ umask ( ) ~/temp$ touch b ~/temp$ ll total 16 drwx------ 2 taesoo taesoo 4096 Oct 15 16:48./ drwxr-xr-x 137 taesoo taesoo 12288 Oct 15 16:45../ ---------- 1 taesoo taesoo 0 Oct 15 16:47 a -rw-r--r-- 1 taesoo taesoo 0 Oct 15 16:48 b ~/temp$ ( 힌트 : touch 명령은빈파일을생성함. 파일 a 와파일 b 는파일권한이다름, ll 은 ls -alf 의약자.) b) 파일 a 의 permission( 권한 ) 을파일 b 와동일하게만드려면아래명령을수행해야함. 공란에적절한숫자를적으시오. ~/temp$ chmod ( ) a c) 다음 c 코드수행후셸에서 ll a 입력시결과를예측하시오. chmod( a, S_IRUSR S_IXGRP S_IRGRP S_IWOTH); 6. ln b c 명령을사용해서 b 파일을 c 파일로하드링크를건후의 ll 결과이다. total 16 drwx------ 2 taesoo taesoo 4096 Oct 15 17:12./ drwxr-xr-x 137 taesoo taesoo 12288 Oct 15 16:45../ -rw-r--r-- 1 taesoo taesoo 0 Oct 15 16:47 a -rw-r--r-- 2 taesoo taesoo 0 Oct 15 16:48 b -rw-r--r-- 2 taesoo taesoo 0 Oct 15 16:48 c 여기서이숫자 2 는무엇을의미하는가? 다른숫자로바꾸는방법은?

7. 표준 I/O 스트림에 fsync 함수를사용해야하는상황이라면어떻게해야할까? ( 즉모든출력이디스크에저장되도록보장하려면?) 9. 다음프로그램이하는일을간단히설명하시오. int main(int argc, char *argv[]) char* path=argv[1]; struct stat statbuf; struct dirent *dirp; DIR *dp; if ((dp = opendir(path)) == NULL) exit(1); while ((dirp = readdir(dp))!= NULL) printf("%s\n", dirp->d_name); 10. line buffered, unbuffered, fully buffered stream 의차이점을간단히설명하시오. (fprintf 사용상황, buffer size=1024 를가정하세요.) 11. 다음프로그램의출력물을예측하시오. ( 컴파일은잘된다고가정 ) jmp_buf jmpbuffer; int main(int argc, char *argv[]) printf("1\n"); if(setjmp(jmpbuffer)!=0) printf("2\n"); printf("3\n"); cmd(); printf("4\n"); void cmd() static int i=0; printf("5\n"); i++; if (i<2) longjmp(jmpbuffer, 1); printf("6\n");

12. 다음프로그램의출력물을예측하시오. void m1(void) printf("1\n"); void m2(void) printf("2\n"); int main(void) atexit(m2); atexit(m2); atexit(m1); printf("done\n"); return 0; 13. _Exit 과 exit 의차이점을간단히설명하시오. 14. 아래와같이 file1, file2, file3 의내용이확인되는상황을가정하자. ~/test$ cat file1 file1 ~/test$ cat file2 file2 ~/test$ cat file3 asdf lkj 이때아래명령어의출력결과를예측하시오. ~/test$ cat file3 cat /dev/fd/0 file1 file2 > /dev/fd/1 15. etags 와 gdb 를간단히설명하세요. ( 용도또는대표적기능 ) 16. 하드디스크상의특정파일의내용을복사하는프로그램을작성할때다음두가지방법중하나를써야만한다면, 둘중에어느것이속도가빠를지예측하고, 이유를간단히설명하시오. a) fgetc, fputc 사용 b) read, write 함수에서 nbytes 값으로 1 사용. 참고 : ssize_t read(int filedes, void *buf, size_t nbytes);

17. 아래와같은파일의존성 (dependency 를가정하시오 ) a) fred.c 변경시재생성되어야하는파일들은? b) 아래메이크파일의공란에필요한파일이름들을적으세요. program : ( ) gcc o program main.o libfoo.a libfoo.a: ( ) ar crv libfoo.a ( ) main.o : lib.h main.c gcc c main.c bill.o : ( ) gcc c bill.c fred.o : ( ) gcc c fred.c c) static library 인 libfoo.a 대신동적라이브러리 (shared library) libfoo.so 를만들어서사용하는것이유용한대표적상황한가지를설명하세요.