Racket 설치하고 SICP 실습하기

우분투 터미널 환경에서 racket을 설치하고 vim으로 코드를 작성하여 sicp 예제를 실행하기 위한 환경을 설정하는 것 vim 버전이 쫌 높아야 되는 걸루 기억 racket 설치 sudo add-apt-repository [Read More]

사지방 DNS 설정

DNS 서버 변경 Cloudflare Public DNS Server netsh interface ip set dns "로컬 영역 연결" static 1.1.1.1 primary netsh interface ip add dns "로컬 영역 연결" 1.0.0.1 ipconfig /flushdns IBM Public DNS Server netsh interface ip set dns " [Read More]

CS:APP - 가상 메모리 1

현대 시스템은 가상 메모리(Virtual memory). VM이라고 알려진 메인 메모리의 추상화를 제공한다. 1. 가상 메모리를 왜 공부해야 하는가 가상 메모리는 중요하다. 가 [Read More]

CS:APP - 예외적인 제어흐름, 비지역성 점프

1. 비지역성 점프(Nonlocal jumps) C는 setjmp와 longjmp 함수를 제공한다. #include <setjmp.h> int setjmp(jmp_buf env); int sigsetjmp(sigjmp_buf env, int savesigs); // Returns: 0 from setjmp, nonzero from longjmps setjmp 함수는 현재 '호출하는 환경'을 env 버 [Read More]

CS:APP - 예외적인 제어흐름, 시그널 2

이 글에서는 동시성을 다룬다. 1. 시그널 블록, 블록 해제 묵시적 블록 방법 커널은 핸들러에 의해 처리되고 있는 모든 대기 시그널의 처리를 막는다. 명시적 블록 방법 si [Read More]

CS:APP - 예외적인 제어흐름, 시그널 1

Signal! 시그널은 작은 메시지 형태로, 프로세스에게 시스탬 내에 어떤 종류의 이벤트가 일어났다는 것을 알려준다. 먼저 man 7 signal을 통해 시그널에 어떤 종류가 있는 [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]