일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1253번
- OS
- 언리얼 플러그인
- 1759번
- 의미와 무의미의 경계에서
- Security
- 5639
- 백준 1253번
- 셰그먼트트리
- 백준
- Unreal
- 민겸수
- 오손데이터읽기
- objtofbx
- 언리얼 커스텀 플러그인
- 2단계로킹
- UnrealMP
- Linux
- SQL
- 1967번
- command not found
- C++
- 트랜잭션 관리
- 비재귀셰그먼트
- FBX
- hackerank
- 데이터베이스 배움터
- UActor
- oracle
- 실습
- Today
- Total
목록컴퓨터 공학/Operating System 운영체제 (5)
fatalite
주 메모리를 제외한, 2차 저장장치에 대한 설명이다. HDD와 SSD가 포함된다. HDD HDD의 요소들 HDD의 입출력 시간 1) Seek Time 2) Rotation Latency 3) Transfer Time 이 3 가지 요소가 입출력 시간에 영향을 미친다. SSD의 요소들 Erase before write SSD는 Block과 Page로 구성되어있다. : read, write는 page단위로 가능하다. Block 단위로 사용하기 전에 erase 해야하는데, SSD가 over-write를 허용하지 않기 때문이다. 또한 블럭마다 쓸 수 있는 최대 횟수가 정해져 있다. 이를 넘어가면 사용할 수 없기 때문에, Wearing level을 통해 분산해야한다. Disk Attachment 디스크 부착은 Ho..
운영체제 마지막 챕터다. 보안은 공격자(Attacker, Cracker)가 어떠한 서비스를 동작하지 못하게 하는 것이나 위협하는 것을 방지하는 것을 의미한다. 보안으로 고려할 사항은 물리적 보안 네트워크 보안 운영체제 보안 프로그램 보안 사용자 보안 - 사회 공학을 이용한 공격 등. 이 존재한다. 프로그램에 의한 위협은 악성코드(Malware) : 허가된 프로그램에 존재하는 위협적인 코드를 의미한다. 예를 들어 트로이목마는 허가된 프로그램인 척 잠입해서, 컴퓨터를 조작한다. 그 외에도 스파이웨어, 랜섬웨어, 백도어(트랩 도어) 등이 존재한다. 코드 인젝션(Code Injection) : 인젝션은 주입이라는 뜻으로, 악의적인 의도로 코드를 집어넣어 예상 외의 동작을 유도하는 것을 의미한다. SQL Inje..
Preface 일단 파일이란, 유저가 받아들이는 정보의 논리적 단위라고 할 수 있다. I/O System과 Storage에서는 OS가 어떻게 그들을 다룰지를 배웠다면, 이번 챕터는 OS가 User에게 어떻게 Storage를 다루게 할지에 관한 이야기라고 할 수 있다. 크게, 두 가지로 나눌 수 있는데 첫 번째는 File System Interface(유저 - OS 관점)이고 두 번째는 File System Implementation & File System Internal(OS - 하드웨어 혹은 Only OS 관점) 이다. 즉, 어떻게 논리적으로 보여줄지와, 그것을 어떻게 구현할지이다. File System Interface 0. File 파일은 위에서 설명했던 내용을 숙지하고 있으면 된다. 1. Fil..
Virtual Memory 이전의 메모리의 경우, 램 크기에 한정되었다. 그러나 프로세스의 크기가 꼭 램 크기에 맞으리란 보장이 없다는 것을 알 수 있다. 이를 위해 필요한 페이지만 메모리에 올려놓고, 필요하지 않으면 저장 공간에 넣어둔다. 넣었다가 빼는 걸 Swap-in, Swap-out이라고 한다. 만약 프로세스에서, 이 페이지가 없다는 것을 알게 되면, 일단 페이지 테이블을 조사해서 해당 페이지가 in-valid인지 확인한다 만약 in-valid라면, 운영체제한테 Trap을 건다. 그러면 운영체제는 일단 멈춰서 프로세스 정보, 레지스터 등을 저장한다. 이후에는 저장장치에서 해당 페이지를 가져온다. 운영체제는 가용가능 프레임을 가지고 있는데, 만약 할당이 가능하면 이를 넣는다. 아, 그리고 시작할때 ..
Memory OS에서의 메모리 관리에 관해 서술한다. 우리는 프로그램이 바이너리화 되어, 저장 장치에 있다는 것을 알고 있다. 이제 프로그램이 메모리에 올라오면 프로세스가 된다. 프로세스는 각각 기준 레지스터와 상한 레지스터(기준 + offset)을 지니며, 프로세스끼리는 침범하지 않는다는 것을 기본으로 한다. 그렇다면 메모리에 프로세스를 어떻게 할당할까? 이 할당하는 시기에 따라 나뉘는데, 1. Compile time 2. Load time 3. Execute time 으로 나뉜다. 3. 실행 시간의 경우, 특별한 하드웨어가 필요하다. 논리 공간에서 생성된 주소는 MMU를 통해 계산되고 물리 메모리 주소로 바뀐다. 그리고 할당하는 방법에 따라 Contiguous하거나 non-contiguous 한 할당..