프로그래밍 정보(4)
-
스택과 힙
OS가 부여하는 메모리 섹션 (32Bit 기준)이 메모리는 가상메모리 이며 총 4GB이다 (실제로 4GB를 쓰진 않는다)위 그림을 보면 1GB와 3GB가 나누어져 있는데 OS Kernel Space는 개발자의 접근을 못하게 만드는 곳이고, 실질적으로 개발자가 사용하는(허용되는) 범위는 그 아래에 있다 TextText segment(혹은 Code segmenet)는 우리가 코드를 적은 소스코드나 실행 가능한 명령어를 포함하고 있는 메모리 영역이다. 이 영역이 가장 아래에 있는 이유는 Heap이나 Stack영역으로 부터 덮어 씌어지는 것을 방지하기 위함이다. 오직 읽기 전용이기 때문에 프로그램에 의해 명령어가 변경되지 않는다. DataData segment 는 초기화된 data segment로, 개발자가 초..
2024.11.10 -
API란 무엇일까
API? API(Application Programming Interface)란 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말한다. 인터페이스라는 것은 기계간의 장치끼리 정보를 교환하기 위한 수단이나 방법을 의미하는데, 스마트폰을 예를 든다면 홈버튼이나 전원 버튼을 일명 UI(User Interface)라고 하는데, 여기서 홈 버튼의 기능은 스마트폰을 바탕화면으로 나갈 수 있게 기기에게 전달해주는 버튼이다. 즉 스마트폰과 사용자를 이어주는 매개체인 것이다. 다시 원점으로 돌아와 그럼 API로 예를 든다면 손님(내가 만드는 프로그램)이 자리에 앉아 웨이터(API)에게 주문을 한다. 그럼 웨이터는 이 주문 내역을 주방(만들어진 프로그..
2021.09.09 -
저급 언어와 고급언어
프로그래밍의 언어는 저급 언어(low-level language)와 고급 언어(high-level language)로 나누어 진다. 저급 언어 이진법으로 이루어져 있다 ( 컴퓨터는 이진법으로 되어있기 때문에 바로 이행할 수 있다 ) 이진법이기 때문에 가독성 및 생산성이 낮다는 단점이 있다. 프로그램의 속도가 상대적으로 빠르다 프로그램 크기가 고급언어 보다 작다. 저급 언어의 종류에는 기계어와 어셈블리어가 있다. 더보기 기계어와 어셈블리어 기계어 CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어이자 유일한 언어다, 쉽게 말해 모든 프로그래밍 언어의 종착지 1은 참/켜짐 ,0은 거짓/꺼짐 을 나타낸다. 프로그램을 나타나는 가장 낮은 단계의 개념이다 어셈블리어 기계어를 사람이 이해하기 쉬운..
2021.08.24 -
초기 컴퓨터의 역사
1. 에니악 프로그래밍을 하기 전에 최초의 프로그래밍이 시작된 컴퓨터가 무엇일까? 바로 에니악(ENIAC)이다. 이 에니악은 전기 배선 작업을 통해 프로그래밍을 하는 방식이었다(타이핑이 아닌 배선교체를 통해 결과값을 도출해내는 방식). 에니악이 처음 세상에 나왔을 때는 뛰어난 계산능력을 가지고 있었고, 주로 대포의 각과 탄도거리를 계산하는 컴퓨터였다. 하지만 단점도 분명했다. 6천개에 이르는 배선을 교체해야 했고, 한 번 작동을 하면 진공관이 뜨거워 져서 식히는데만 반나절이 걸린다고 했다. 2. 에드삭 이 후에 폰 노이만이라는 사람이 복잡한 배선들을 정리하고 프로그램 내장방식을 가지게 된 에드삭(EDSAC)을 개발하였다. 폰 노이만은 애니악 개발에 참여하고 있었는데 컴퓨터에 다른 일을 시키려면 배선을 전..
2021.08.06