본문 바로가기
728x90

정글 2기71

[three_easy_pieces] 주소 공간의 개념 요약 [three_easy_pieces] 주소 공간의 개념 요약 컴퓨터가 고가 -> CPU 이용률 증가 필요 -> batch가 아닌 시분할(Time sharing)-> 시분할 초기 방식 - 느림 -> 시분할 후기 방식. 메모리 공유, 메모리 가상화 시분할 방식 초기 - 레지스터 상태 저장, 복원 빠르지만, 메모리 내용 전치 디스크에 저장하는 것이 엄청 느림 -> 짧은 시간 동안 실행 -> 프로세스 중단 시점의 모든 상태(물리 메모리 포함)를 디스크 종류의 장치에 저장 후 다른 프로세스의 상태를 메모리에 탑재 -> 짧은 시간 동안 실행 가상 메모리 시스템(VM)의 목표 투명성(Transparency) - 가상 메모리의 존재를 인지하지 못하도록 메모리 시스템 구현 효율성(Efficiency) - 시간, 공간 보호.. 2021. 10. 15.
[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.
[OS운영체제] 권영진 교수님 OS 강의_2 (카이스트 전산학부) [OS운영체제] 권영진 교수님 OS 강의_2 (카이스트 전산학부) 1부 c를 대신해 RUST 를 사용하려는 움직임이 있다. RUST로 OS로 만들고 있다. 핀토스를 직접 안짜고 이해만 하고 있어도 프로그램을 짜는데 도움이 된다. -> 커널과 유저가 해야하는 일 각각을 알고 있어야 유저가 뭘 해야하는지 안다 mmap file-backed (read, write) MAP_ANONYMOUS - stack, heap mmap과 write(fd, buf, 3)는 똑같은 기능. 하지만 성능이 다르다. mmap은 kernel이 바로 storage에 복사 read write는 한 번 복사한 후에 kernel이 DMA로 storage에 복사 1강 정리 Abstraction process - machine thread -.. 2021. 10. 11.
[Pintos] Project 2_Calling convention_Caller, Callee and registers [Pintos] Porject 2_Calling convention_Caller, Callee and registers 함수 호출 규약 Calling Convention 함수 호출 규약(Calling Convention)을 이해하기 위해서는 스택과 스택 프레임에 대한 정확한 이해가 있어야 한다. 각각의 thread 마다 stack 이 생성되고, 각각의 함수마다 stack frame이 존재한다. stack frame에는 해당 함수에 관련된 데이터가 push, pop되는데, 이를 위해 main()과 sum() 함수의 대화 방식이 같아야한다. 이 방식을 함수 호출 규약(Calling Convention) 이라고 한다. 함수 호출 규약 (Calling Convention) - 함수 호출 규약은 아래 4가지 값을.. 2021. 10. 9.
728x90