목록PROGRAMMING::CORE/Operating System (6)
Love Every Moment
1. PATH PATH 는 리눅스 환경변수의 일종으로 실행 파일의 경로이다. printenv 명령어를 통해 환경변수 목록을 확인할 수 있다. 환경변수 PATH 가 어떻게 설정되어 있는지 확인하는 명령어는 echo $PATH 이다. 각각의 경로는 : 로 구분되며 총 다섯 개의 경로가 있는 것을 확인할 수 있다. 명령 탐색 경로는 왼쪽에서부터 우선 순위를 가진다. $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 2. 차이 (1) usr/local/bin 스스로 설치한 명령어를 사용할 수 있도록 하는 장소이다. 보통 게임이나 잡다한 유틸들이 들어있다. 리눅스 저장소에 있는것 이외의 것을 설치할 때나 자작 명령어를 보관해야 할 때 유용하다. /usr/bin..
1. 프로세스(Process) (1) 프로세스란? 현재 실행 중인 프로그램 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행중인 것 운영체제의 제어 아래 실행(Running), 대기(Waiting), 중단(Stopped), 좀비(Zombie) 중 하나의 상태에 있게 된다. 각각의 프로세스가 가지는 고유의 번호를 PID(Process Idendification Number)라고 한다. 예를 들어 데비안 리눅스가 부팅될 때에는 최상위 프로세스인 systemd(PID: 1)이 생성되며 모든 프로세스들은 이 1번 프로세스의 자식 프로세스가 된다. 부모 프로세스의 PID 를 줄여서 PPID 라고 한다. ps 명령어를 통해 현재 실행중인 프로세스 목록을 확인할 수 있다. (2) 쓰레드(..
0. 개요 유닉스 이전의 운영 체제에서는 프로그래머가 직접 입·출력장치를 설정하고 연결했어야 했다. 하지만 유닉스에서는 데이터 스트림(Data Stream) 이라는 개념을 이용하여 장치를 추상화함으로써 open, read, write 하면 자동으로 입·출력 장치가 연결되도록 하였다. 스트림(Stream)은 컴퓨터에 연결되는 여러 장치들을 통일된 방식으로 다루기 위한 가상적인 개념이다. 이를 통해 프로그래머는 데이터가 어디서 나와 어디로 가는지 신경쓰지 않고 자유롭게 이용할 수 있다. 표준 스트림(Standard Stream) 은 프로세스가 생성되면 기본적으로 생기는 입·출력을 위한 채널이다. 여기에는 표준 입력(Stdin), 표준 출력(Stdout), 표준 에러(Stderr) 가 있으며 터미널을 열면 쉘..
1. Makefile 이란? Make: 주어진 쉘 명령어들을 조건에 맞게 실행하는 프로그램 Makefile: 어떤 조건으로 명령어를 실행할지 담은 파일 Incremental build: 반복적인 빌드 과정에서 변경된 소스코드에 의존성(Dependency)이 있는 대상들만 다시 빌드 예: main.c의 한 줄만 바꾸고 다시 빌드한다면 main.o 컴파일(gcc -c -o main.o main.c)과 a.out링크(gcc -o a.out main.o foo.o bar.o)만 수행 2. 소스 코드에서 프로그램 빌드하기 (1) 컴파일(Compile) 소스 코드를 컴퓨터가 이해할 수 있는 어셈블리어로 변환하는 과정 -c 옵션: 링크를 하지 않고 컴파일해서 목적 파일(Object File)을 생성하라는 의미 -o ..
1. 파일 디스크립터 리눅스 운영 체계에서 파일에 대한 정보를 기술하고 유지하는 기억 장치의 영역 리눅스는 물리적 장치들을 일종의 파일로 관리 특히 리눅스 쉘은 작업에 필요한 파일들을 일종의 번호를 붙여서 관리 파일 디스크립터 FD 대신 사용하는 이름 목적 0 stdin 표준 입력 1 stdout 표준 출력 2 stderr 표준 에러 2. 최대 파일 디스크립터 터미널에 ulimit -a 명령어를 치면 한번에 열 수 있는 최대한의 파일 개수를 알 수 있다. 현재 사용 중인 맥os 에서는 파일 디스크립터 256 까지 열 수 있다. 3. 파일 디스크립터가 부여되는 방식 파일 디스크립터는 표준 입력, 표준 출력, 표준 에러인 0 부터 2까지를 제외하면 open() 함수로 파일을 열어서 3 부터 번호를 부여하게 ..
1. 보조키 커맨드(Command / cmd / ⌘) : 윈도우 체제에서의 컨트롤(ctrl) 키와 같은 역할 옵션(Option / alt / ⌥) : 윈도우 체제에서의 alt 키와 같은 역할 Caps Lock / ⇪ Shift / ⇧ Control / ctrl / ⌃ fn : F1, F2, F3 등의 기능키를 사용하려면 함께 누름 2. 복사, 붙여넣기, 기타 자주 쓰는 단축키 ⌘ + x : 잘라내기 ⌘ + c : 복사하기 ⌘ + v : 붙여넣기 ⌘ + a : 모든 항목 선택하기 ⌘ + f : 문서에서 항목 찾기 ⌘ + p : 현재 문서 프린트하기 ⌘ + s : 현재 문서 저장하기 ⌘ + t : 새 탭 열기 ⌘ + r : 새로고침 ⌘ + tab : 최근에 사용한 탭으로 전환 ⌘ + shift + 5 : 스..