* 해커스쿨 강의만화 기록_3(중학교 단계) *


이번에는 3편, 중학교 단계입니다.


이번 편에는 프로그램의 전반적인 모습, 가장 기본적인 개념에 대해서, 메모리란 무엇인가? 에 대해서 다룬 것 같습니다.



==============================================================================================


지식의 출처는 해커스쿨입니다. 감사합니다. 문제 될 경우 필히 삭제하도록 하겠습니다.


==============================================================================================



[언어]

기계어-어셈-포트란(이때 고급언어 첫등장)-코볼-베이직-비

-씨-씨플플-HTML(+PHP)-python,delphi,java 등

미국 표준협회(ANSI) 에서 C언어의 표준안 발표(1990) -> ANSI-C


사람-c언어 작성(*source code*)-컴파일러(C언어->기계어(*binary code*))-컴퓨터가 보고-동작(프로그램)


패키지가 있나없나?

> ls /usr/bin/(package name)

ex. ls /usr/bin/gimp

있으면 경로 출력, 없으면 No such file or directory(오류뜸)


*** /usr/bin/ 에 대해

ex. > touch a.sh 라는 쉘 스크립트 하나 만들었다.

> chmod 777 ./a.sh

이 쉘스크립트를 실행시키려면? 경로입력을 일일히 해야한다.

경로입력없이 그냥 

> a.sh

로만 실행시키려면?

> sudo mv ./a.sh /usr/bin/

=> /usr/bin/ 경로에 넣어라!

그러면 경로를 입력하지 않아도 바로 실행된다.


[소스코드 입력]

1. cat > main.c - 이후 소스코드 입력하고 완료 후엔 Ctrl+d

but, 입력한(엔터를 친) 부분이 수정불가한게 단점.

2. nano 혹은 gedit, vi 등 CUI 기반의 텍스트 에디터 사용


컴파일

> gcc -o main.out main.c -> 실행파일:main.out

> gcc main.c -> 실행파일:a.out


[vi editor]

1.명령모드 2.편집모드 3.라인모드

> touch main.c

> vi main.c

이후 보이는 화면은? 


3.라인모드

:w = 저장

:q = 나가기

:q! = 세이브 없이 강제종료

:wq = 세이브 하고 종료


[메모리]

Ram = Random Access Memory,임의 접근 기억장치

속도가 빠르다(전기 신호), 하지만 전기 신호로 정보를 기록하기 때문에

컴퓨터 종료 시 사라진다.

HDD 는 금속 판에 자성 물질을 입혀서 저장 = 속도가 느림. 하지만 대용량(물리적 공간)

Rom = Read Only Memory, 읽기 전용 기억장치


Ram은 빠르다, 하지만 빈 공간에 저장해야 한다(덮어씌워지면 이전 정보가 사라짐)

프로그램들은 메모리에 접근하기 전에 빈 공간을 요청해야 함.(메모리 할당)

1byte = 8bit(8개의 자릿수를 의미)

@@@@ @@@@ 에서 @는 1bit, @@@@ @@@@는 1byte

@에는 0 or 1이 올 수 있다.


예외)ARM Assembly 에서는 메모리에서 @@ 이 1byte, 이는 Hexa 값이기 때문에 2의 8승, 즉256개의 정보가 들어간다

(0x00 ~ 0xFF) = @를 풀어서 보면? xxxx 와 동일, x에는 0 or 1이 올 수 있다. 


즉, bit 는 자릿수다

n bit = 자릿수 n개

Posted by NDC :