시스템/시스템보안11 (3) Permission Linux file system리눅스 파일 시스템은 파일들과 디렉토리들의 계층적 모음집이다.파일 시스템은 어떻게 파일들이 저장되고 관리되고 접근하는 지를 정한다.Ext2, Ext3, Ext4, XFS, BtrFS 등등의 리눅스 파일 시스템들이 있다./ : 루트(root) 디렉토리/root: 루트 유저의 홈 디렉토리/home: 유저의 개인 디렉토리들/bin: 바이너리(실행 파일)을 위한 디렉토리/sbin: 루트 유저가 사용하는 관리 시스템을 위한 바이너리들을 포함한 디렉토리/etc: 시스템 구성을 포함하고 있다./media: usb같은 탈부착 가능한 미디어들을 위한 보조 디렉토리들을 보유한다. /mnt: 파일 시스템의 마운팅 지점/lib: 공유된 객체들과 라이브러리들을 위한 디렉토리/usr: 유저가 실행할.. 2024. 7. 11. (2) Linux basic 기본 명령어 List$ ls [directory]$ ls –al [directory] Change directory$ cd [directory] Read file$ cat [file] Create/Write file$ vim [file]• Enter ‘i’ for inserting mode(editing mode)• Enter ‘esc’ for quitting insert mode.• Enter ‘:wq+ENTER’ to write and save the file Make directory$ mkdir [directory] Move fiile$ mv [src path] [dest path] Remove file/ directory$ rm [file]$ rm –rf [directory] Copy file$.. 2024. 7. 8. (1-5) OS Copy-on-Write Copy-on-Write(COW)는 부모와 자식 프로세스를 메모리 안에서 같은 페이지들을 처음으로 공유하게 허용한다.이러한 공유 페이지는 COW로 표시된다. 즉, 프로세스 중 하나가 공유 페이지에 기록되면 공유 페이지의 복사본이 생성된다.COW는 부모 프로세스가 자식 프로세스를 생성할 때 ( fork() ) 생기는 메모리 이슈에 대한 해결책으로 나온 방법이다. 자식 프로세스를 생성하면 부모 프로세스가 가지고 있던 page table을 그대로 물려받는다. 문제는 그렇게 되면 너무 많은 메모리 overhead가 발생한다. 그렇다고 메모리를 공유하면 독립적인 동작을 하지 못한다. 즉, COW를 사용하면 메모리는 적게 잡아먹어야 하고 독립적으로 움직이게 한다. 일반적으로, free .. 2024. 7. 8. (1-4) OS Storage-device Hierarchy 1차 저장소에는 레지스터, 캐시, 메인메모리가 있다. 이들은 모두 휘발성 메모리이고 메인메모리(=RAM)는 주로 동적 랜덤 접근 메모리(DRAM)를 가지고 있다. 우리는 프로그램들과 데이터를 메인 메모리에 영구적으로 넣어두고 싶어 한다. 그러나 주로 많은 시스템에서 2가지 이유로 이것이 불가하다:보통 메인 메모리는 모든 프로그램들과 데이터를 영구적으로 저장하기에 너무 작다.메인 메모리는 휘발성(volatile)이 있다 - 따라서 파워가 꺼지거나 다른 방법으로 콘텐츠들을 잃어버리게 된다.그래서 많은 컴퓨터 시스템이 메인 메모리의 확장인 2차 저장소를 제공한다. 2차 저장소의 주 요구 조건은 영구적으로 많은 양의 데이터를 저장 가능한가이다.가장 흔한 2차 저장 기.. 2024. 7. 7. (1-3) OS Race condition(경쟁상태) -여래개의 프로세스가 동시에 공유 자원에 접근할 때 순서가 달라지므로 결과 값도 달라진다.- 불확실한 상태- 여러 프로세스들이 동시에 접근한다 -> 순서 보장 x-프로세스 P0 및 P1 은 다음을 사용하여 자식 프로세스를 생성한다. fork() system call - 다음 available process identifier(pid)를 나타내는 경쟁 상태 안의 커널 변수 next_available_pidP0 및 P1이 next_available_pid 변수에 액세스 하는 것을 방지하는 메커니즘이 없으면 동일한 pid가 2개의 다른 프로세스에 할당될 수 있다. (비정상적 상태)-동기화로 해결해야 한다. Critical Section Problem - 시스템에 n.. 2024. 7. 6. (1-2) OS Process Management - 프로세스는 실행 중인 프로그램이다. 그것은 시스템에서 일하는 동작 단위이다. 프로그램은 패시브 객체이고 프로세스는 액티브 객체이다. (자주 변한다는 뜻) - 프로세스는 작업을 끝내기 위해 resource들이 필요하다CPU, 메모리, I/O, 파일 초기화된 데이터- 프로세스 종료는 모든 재사용 가능한 resource들을 회수한다.- Single-threaded 프로세스는 실행할 다음 명령의 위치를 구체화하는 program counter을 가지고 있다. *program counter = 컴퓨터 프로그램은 CPU에게 작업을 수행하도록 명령한다. CPU는 이러한 명령을 차례대로 가져와서 실행한다. 이때 다음에 실행할 명령어의 주소를 저장하는 역할을 하는 레지스터인 것이다.. 2024. 7. 5. 이전 1 2 다음