CS:APP - 예외적인 제어흐름, 프로세스

이 글은 프로세스에 대해 정리한 글이다. 먼저 프로세스에 대한 정보 두 가지를 언급한다. 첫번째 프로세스(process)는 프로그램(program)의 인스 [Read More]

Ubuntu GCC 보안 옵션

기준 ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-77-generic x86_64) gcc 5.4.0 20160609 gcc랑 관련없는 건데 이 운영체제에서 계속 ASLR을 끄고 싶어 echo "kernel.randomize_va_space=0" > /etc/sysctl.d/01-disable-aslr.conf 32비트로 컴파일하고 싶어 -m32 -m32 옵션을 줬는데 이상해 sudo apt install gcc-multilib [Read More]

CS:APP - 예외적인 제어흐름, 예외 상황

1. 예외적인 제어흐름 (Exceptional Control Flow) 프로그램 카운터(program counter)는 아래와 같이 연속된 값들을 가정한다. \[ a_0, a_1, ..., a_{n-1} \] 인스트럭션 \(I_k\) [Read More]

Hyper-V 2세대 우분투 설치하기

Hyper-V에서는 가상 컴퓨터를 생성할 때 1세대와 2세대 중 선택해야 한다. 2세대는 이런 기능을 제공한다. https://msdn.microsoft.com/ko-kr/library/dn282285.aspx 1세대: 이전 버전의 Hyper-V와 동일한 [Read More]

Hyper-V에서 네트워크 설정하기

Hyper-V를 써보기로 했다. 네트워크 설정부터 포트 포워딩까지 작업이 조금 귀찮다. 그래서 여기 적음. 1. 네트워크 설정 가상 스위치 관리자에서 '내부 네트워 [Read More]

Hyper-V 활성화/비활성화

관리자 권한으로 실행한다. 끄기. bcdedit /set hypervisorlaunchtype off 켜기. bcdedit /set hypervisorlaunchtype auto 명령어 실행 후 재부팅이 필요하다.

CS:APP - 링킹 2

이번 글에서는 실행 파일, 라이브러리 링크, 라이브러리 삽입에 대해 정리한다. 1. 실행 가능한 목적 파일 실행 가능한 목적 파일은 완전히 링크된 상태이기 때문에 .rel 섹션 [Read More]

CS:APP - 링킹 1

리눅스와 ELF-64 포맷 기준. 1. 컴파일러 드라이버 gcc와 같은 컴파일러 드라이버(Compiler driver)는 필요에 따라 전처리기, 컴파일러, 어셈블러, [Read More]

CS:APP - 캐시 메모리

오늘은 캐시 메모리에 대해 정리. 짧게짧게 정리함. 1. cache hit, cache miss 찾으려는 데이터가 이미 캐시돼있다면 cache hit이 발생한다. 즉 메인 메모리를 거치지 않고 빠르게 데이 [Read More]

CS:APP - 프로그램 최적화 2

저번 글에 이어서 계속한다. 1. 예제 및 복습 여기서는 책, 강의에서 제시해주는 예제를 쓰자. vector 자료형에 대한 연산이 정의된 combine 함수를 여러 기법을 사용해 최적화시키겠 [Read More]