일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- kali
- shell
- Bitnami
- 리눅스
- Web shell
- virtualbox
- nomaltic
- MariaDB
- 칼리 리눅스
- Vitual Disk Image
- Error
- 기초
- 리눅스 기초
- 칼리
- 네트워크
- nomaltic place
- mysql
- 보안
- kali linux
- Bandit
- Linux
- VDI
- Virtual Box
- Normaltic
- 노말틱
- Today
- Total
목록cs (30)
게으른 개발자

Network Edge = hosts(사용자), applications Network Core = routers, network of networks server(서버) = 24시간 가동, client 요청 처리 Network edge : connection - oriented service Connection : data 전송을 미리 준비합니다. Request/Respond 통신하는 host 사이에서 set up "state" TCP - Transmission Control Protocol Internet's connection - oriented service TCP service reliable(신뢰성), in-order byte-stream data transfer loss 발생 시 = ackno..

Disk를 쓰는 이유 메모리의 휘발성 때문 파일 시스템처럼 영속적으로 데이터를 유지해야 하는 Dram에 저장못 함. DRAM 메모리가 공간이 한정적이다 Swap space 물리적인 disk를 partitioning logical disk를 만듦 각각의 logical disk는 운영체제가 독립적인 디스크로 간주한다. File system에서는 512Byte (섹터단위)로 저장을 한다. 쫓겨날 때도 가능한 한 빨리 써줘야 하고, 다시 물리적인 메모리로 빨리 올려야 한다. swap area는 프로그램이 실행되는 동안에 머물렀던 프로세스의 주소공간이 프로그램이 끝나면 사라진다. 공간 효율성보다는 속도 효율성이 중요하다. 따라서 대용량의 단위로 프로그램을 올리고 내린다. (512KB, 128KB, 64KB, 32..

디스크 구조 디스크를 관리하는 최소 단위는 sector sector에 데이터를 읽고, 쓰라는 요청은 디스크 컨트롤러가 직접 관리한다. 그렇다면 디스크 외부에서 디스크를 접근하는 단위가 어떻게 되나? logical block 외부에서는 논리적인 블록 단위로 디스크를 바라본다. 논리 블록이 섹터에 mapping이 되어서 들어가 있는다. 디스크 외부에 접근할 때 logical block 단위로 접근을 하고, logical block은 1차원 배열처럼 구성되어 있다. 요청을 할 때, 배열 몇 번째 원소를 달라고 요청한다. 디스크 컨트롤러는 밖에서 요청하는 배열을 어떠한 원판에, 어떤 트랙에, 어떤 조각에다가 그 논리적인 블록을 위치시킬 것 인가를 결정하게 될 것이다. 0번 sector에는 부팅과 관련된 정보가 ..

기존 파일의 데이터를 읽고/쓰는 방법 : 2가지 인터페이스가 있다. [Unified Buffer Cache를 이용하지 않는 File I/O] 1. File를 open 하고 read/write system call를 한다. 운영체제가 버퍼개시를 확인한다. 2. Memory Mapped I/O 처음에 시스템 콜을 한다. 운영체제에게 Memory Mapped I/O를 쓰겠다는 mmap 시스템 콜을 한다. 자신의 주소공간중 일부를 파일에다가 맵핑한다. 디스크에 있는 파일을 읽어오는 건 1번 방식과 똑같다.(Buffer cache에 읽어온다) Buffer cache에서 읽어온 것을 page cache로 copy를 함. 사용자 프로그램이 mmap된 영역에다가 메모리 읽고/쓰기 하듯이 요청을 하게 되면 read/wr..

디스크에 파일을 저장하는 방법은 크게 3가지가 있다. 디스크에 파일을 저장할 때는 동일한 크기의 섹터 단위로 나누어서 데이터를 저장하고 있다. 파일 시스템, 디스크 외부에서 볼 때는 각각의 동일한 크기의 저장 단위를 논리적인 블록이라고 부른다. 임의의 크기인 파일을 동일 크기의 블록 단위로 나누어서 저장하고 있다. (메모리 관리에서 페이징 기법과 유사) Contiguous Allocation 하나의 파일이 디스크상에 연속적으로 저장이 되는 방식이다. 디렉터리란 파일은 디렉터리 밑에 있는 파일들의 메타데이터를 내용으로 한다. Contiguous Allocation의 장단점 장점 빠른 접근 = Fast I/O 디스크 헤드가 한번 이동해서 한꺼번에 많은 데이터를 가져올 수 있다. 같은 트랙에 존재한다고 가정한..

File 정의 : 관련정보를 이름을 가지고 저장한다. 비휘발성 보조기억장치에 저장. 생성, 읽기, 쓰기, 삭제 파일은 여러 개의 바이트로 구성이 된다. 어느 위치를 읽는지, 쓰는지를 가리키는 포인터가 있다. 대개는 파일 읽으면 시작 부분을 읽게 되는데, 한번 읽고 나면 그 파일을 가리키는 포인터가 그다음 부분을 가리키게 된다. 쭉 읽게 되면 위치 포인터는 그다음 위치로 자동 이동을 한다. reposition(lseek) : 필요에 따라서 파일의 시작 부분 또는 현재의 위치 포인터 부분이 아니라 다른 부분부터 읽거나 쓰고 싶을 때. 그런 파일의 접근하고 있는 위치를 수정해 주는 연산. open : open을 하고 read, write을 해야 한다. (인터페이스가 이렇게 하도록 되어있다.) open은 dis..

어떤 걸 쫓아낼까? = 캐슁 기법 한정된 빠른 공간에 저장 후, 후속 요청 시 캐시에서 서비스함. cache memory, buffer caching, Web caching - 멀리 떨어져 있는 컴퓨터에서 꺼내오는데 시간이 걸리기 때문에 캐시를 사용 캐시 운영을 할 때, 시간 제약이 있다. Paging System에서 LRU, LFU 가능? page table에서 주소 변환을 할 때, 주소 변환은 하드웨어가 한다. (운영체제는 관여하는 일이 없다) 그러나 page fault가 발생하면 disk(i/o 발생)에 접근해야 하기 때문에, cpu의 제어권이 운영체제에게 넘어감. 과연 운영체제가 어떤 페이지가 얼마나 오래되었는지, 얼마나 참조되었는지 알 수 있을까? 결론은 운영체제는 알 수 없다이다.! 어떤 프로..

Virtual Memory 기법은 운영체제가 관리를 함. Demand Paging 요청이 있으면 그 페이지를 메모리에 올림. paging 기법은 대부분의 시스템이 사용하고 있다. 좋은 소프트웨어일수록 방어적으로 소프트웨어를 만듦. 방어적인 코드가 프로그램에서 대부분을 차지한다. 근데 방어적 코드는 거의 대부분 사용이 안되는데 한꺼번에 메모리에 올리면 메모리가 낭비가 된다. 그래서 필요한 page만 demand paging을 사용한다면 한정된 메모리를 더 잘 처리할 수 있다. 가장 필요한 부분은 demand paging에 의해 메모리에 올라간다. 그렇지 않은 부분은 swap area에 내려가 있는다. 사용하지 않는 영역 - logical memory에서 6, 7 page table의 entry는 주소공간의..