본문 바로가기

반응형

Programming/Linux

(13)
컴퓨터 시스템의 동작 작성된 프로그램을 컴파일러를 이용하여 0과 1의 2진수로 표현된 기계어로 변환해서 CPU 프로세서가 이해하고 동작 가능하다. 연산부호(OPcode) - 프로세서가 실행할 동작인 연산 - 산술연산, 논리연산, 시프트 등 - 연산부호가 n비트이면 최대 $2^n$개의 연산이 가능하다. 피연산자(operand) - 연산할 데이터 주소 명령어의 실행 이렇게 동시에 명령어를 실행하는 risc 방식을 파이프라인 구조라고 함. 병렬처리되기 때문에 처리속도가 빨라짐. CISC와 RISC는 사실 구분하기가 어렵다. 서로 영향을 주면서 발전했기 때문에.
컴퓨터 시스템 구조 컴퓨터 시스템의 구성요소 CPU : 컴퓨터의 두뇌에 해당하며 연산과 제어 기능을 제공한다 MEMORY : 데이터와 프로그램을 저장하는 장치로써 메인 메모리와 보조기억장치로 구분한다. 입출력 주변장치 : 통신장치, 키보드, 마우스, 프린터 등의 외부와의 연결통로이다. 버스 : 프로세서와 메모리 그리고 입출력 장치들의 데이터가 이동하는 통로 폰 노이먼 방식의 컴퓨터 구조 1947년 John von Neumann에 의해서 고안된 구조로서 현대 컴퓨터 구조의 근간을 이루고 있다. - 메모리로부터 프로그램을 가져와서 순차적으로 처리 - 명령어와 데이터를 모두 메모리에 저장 - 명령어 실행은 CPU에서 수행 CPU 컴퓨터의 모든 장치들의 동작을 제어하고 연산을 수행하는 장치다. 현재는 3GHz이상의 클럭(Clock..
[리눅스][C언어] 배열과 포인터를 가지고 놀아보기 #include void swap(int * a, int * b){ int c; c = *a; *a = *b; *b = c; } int main(){ int a = 3; int b = 4; printf("a = %d, b = %d\n", a, b); swap(&a, &b); printf("a = %d, b = %d\n", a, b); return 1; } gcc test.c root@DESKTOP-O5CM2RJ:/project/22-c_study/04-14# ./a.out a = 3, b = 4 a = 4, b = 3
[리눅스][C언어] 배열은 포인터다 왜 포인터 데이터타입은 모두 8바이트인가? [리눅스][C언어] 배열 포인터 배열은 붙어있다. 변수는 붙어있는 것이 보장되지 않는다. #include int main(){ int arryA[10]; for(int i=0; i root@DESKTOP-O5CM2RJ:/project/22-c_study/04-13# gcc arry.c root@DESKTOP-O5CM2RJ:/project/22-.. mrlazydev.tistory.com 여기에서 왜 포인터 앞 데이터타입들은 모두 8바이트인가, 동일하다면 다양한 데이터타입을 왜 사용해야 하는가에 대한 보충설명에서부터 시작한다. #include #define MAX 100 int main(){ int a; int *pa; int arry[1]; pa = &a; *p..
[리눅스][C언어] 변수 출력하기 변수 출력하기 vi var.c 를 통해서 새롭게 c파일을 만들었다. gcc를 통해 파일을 컴파일해주고, 변수를 출력해준다. printf 포맷형식 출력 형식 설명 예 출력 예 %d 우리가 흔히 알고 있는 부호 있는 정수형을 출력해줍니다. printf("%d",-150); -150 %c 문자열 하나를 출력해줍니다. printf("%c",'A'); A %p 주로 주소를 출력합니다. 메모리 크기만큼 자릿수가 채워집니다. 출력될때는 16진수로 표시됩니다. int a; printf("%p",&a); 0177F95C %x 정수를 16진수로 출력합니다. %x를 보시면 소문자인데, 16진수로 표시될때 알파벳은 소문자로 표시됩니다. printf("%x",10); a %X 위의 %x와 동일하나 알파벳이 대문자로 표시됩니다...
리눅스 환경설정하고 HelloWorld 출력하기 apt-get, vim, gcc apt-get 프로그램을 다운로드를 받기 위해서는 apt-get을 이용해서 프로그램을 받아와야 한다. apt-get update apt-get install vim apt-get install gcc apt-get 명령어를 업데이트한 후, vim과 gcc를 설치한다. 우분투에서 프로그램 만들기 vi hello.c 이 명령어를 통해서 vi 에디터를 통해 hello.c라는 파일을 만들 수가 있다. i 를 통해 insert 모드로 들어가서 위의 코드를 입력한 다음, esc를 눌러 insert 모드를 빠져나오고 :wq를 통해 저장하고 빠져나오면 된다. gcc hello.c 를 통해서 위에서 만든 파일을 컴파일 할 수가 있다. 그리고 ls를 통해 디렉토리를 살펴보면, a.out 이라는 파일이 컴파일되어 생긴 것을..
리눅스의 계정 개념과 최상위 경로 - 리눅스는 계정 ID 할당 개념이 빡세고 엄격하다. - 최고 권한을 가진 아이디는 root 이다. - root가 id도 만들고 폴더도 만든다. - id마다 home 폴더가 생긴다. cd ~ 을 통해서 home 폴더로 바로 들어갈 수 있다. - root의 홈폴더는 root 다. - 최상위 경로는 cd / 로 갈 수 있다. - root 권한을 가지고 cd /를 했을 때, 나오는 파일들은 root 권한이 없는 계정은 들어올 수 없다.
리눅스 우분투에서 sudo 패스워드 없이 사용하는 법 (비밀번호 초기화) su 관리자 권한 획득 su 라는 명령어를 통해서 관리자 권한으로 들어갈 수 있는데, 처음 사용하는 경우, 권한을 얻을 수가 없다. 그래서 비밀번호를 초기화해줘야 하는데 아래의 방법을 통해 가능하다. sudo passwd root 이 명령어를 통해서 비밀번호를 새롭게 지정할 수 있다. 그리고나서 다시 su 명령어를 사용하면, 관리자권한을 얻을 수 있다.

반응형