본문 바로가기
728x90

시스템콜3

[Pintos] Project 1, 2_Argument parsing, User Program_system call_code analysis [Pintos] Project 1, 2_Argument parsing, User Program_system call_code analysis 1 ARGUMENT PASSING *목표 명령어와 함께 들어온 인자들을 user program의 user stack에 정해진 순서에 따라 넣어준다. *예시 'bin/ls -l foo bar'이 커맨드라인에 들어오면 argv[0] = 'bin/ls\0', 'argv[1] = -l\0', argv[2] = 'foo\0', argv[3] = 'bar\0'으로 parsing(문자열 분리)한 뒤에 아래와 같이 스택에 넣어준다. | argv[3] | ... | argv[0] | padding for 8 배수 | NULL pointer for argv[argc=4] | poin.. 2021. 10. 14.
[Pintos] Project 2_User Program_system call [Pintos] Project 2_User Program_system call System call details OS에 의해 제공되는 Programming interface이다 user mode program이 kernel feature를 사용하게 해준다. system calls은 kernel mode에서 run하고 user mode로 돌아온다 system call의 핵심은 system call을 부르기 위해 hardware(external) interrupt 가 발생하기 때문에 execution mode의 priority가 special mode로 격상한다는 점이다. 이전 x86 architecture에서는 system call이 software exception으로 처리되었다. 하지만 x86-64에.. 2021. 10. 14.
[three_easy_pieces] 파일 시스템(File system)_vsfs(Very Simple File System) [three_easy_pieces] 파일 시스템(File system)_vsfs(Very Simple File System) 파일 시스템에 대해 학습할 때 두 가지 측면으로 접근이 중요 자료 구조 - 자신의 데이터와 메타 데이터 등을 관리하기 위해 디스크 상에 어떤 자료 구조? 접근 방법 - 어떤 시스템 콜? vsfs(Very Simple File System)의 자료 구조를 보자 블럭(Block) : 디스크를 누나는 단위. 4KB 메타 데이터(Metadata) : 파일에 대한 정보 (크기, 권한, 소유자, 변경 시간 등) 아이노드(Inode) : 메타 데이터를 저장하는 자료구조 D : Data region - 사용자 데이터가 있는 디스크 공간 I : Inode table- 아이노드들이 배열형태로 저장됨.. 2021. 10. 13.
728x90