본문 바로가기

전체 글104

펌웨어(Firmware) ■ 펌웨어펌웨어는 컴퓨팅과 공학 분야에서 특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나 수정하는 것도 가능한 영구적 소프트웨어를 뜻한다.출처 : 위키백과 펌웨어는 하드웨어의 기본적인 구동 및 제어를 담당하는 특수 용도의 소프트웨어를 말한다. 소프트웨어라고 하지만 보통 하드웨어 엔지니어가 도맡아 지원한다.​■ 펌웨어와 소프트웨어위키백과에서 펌웨어는 소프트웨어라고 정의했다. 여기서 처음 들었던 의문점은 "소프트웨어면 소프트웨어지 왜 굳이 펌웨어라는 명칭을 사용할까" 였다.일반적인 소프트웨어(OS, Application 등)는 RAM에서 구동된다.펌웨어는 영구적인 명령어와 데이터로 이루어져 있으므로, 제조단계에서 ROM(혹은 PROM)에 기록된다.즉, 내용이 날아가면 안되고 사용자가 .. 2024. 6. 23.
[개발용어] C, C++, C# 언어의 차이점 언어유형개발연도주요용도특징C절차 지향 언어1972시스템 프로그래밍, 임베디드 시스템저수준 메모리 조작, 속도, 효율성C++객체 지향 언어1983게임 과학 시뮬레이션, 운영체제, 블록체인클래스, 상속, 다형성, 탬플릿C#객체 지향 언어2000Windows 데스크톱 애플리케이션, 게임, 웹 애플리케이션가비지 수집, 유형 안전성, 사용하기 쉬운 구문■ C언어C언어는 위 세가지 언어 중 가장 기본이 되는 언어이다. 가장 오래되고, 가장 널리 사용되고 있으며, 운영체제나 언어 처리계 등의 시스템 기술에 적합한 프로그래밍 언어이다.​C언어는 절차 지향 언어(procedure oriented language)이다. 즉, 함수를 이용해서 프로그램을 만들어 순차적으로 실행되는 언어라고 할 수 있다. 코드를 짠 순서대로 .. 2024. 6. 23.
[개발용어] 컴파일, 디버깅, 빌드, 배포 ■ 컴파일컴파일 언어는 코드가 실행되기 전 컴파일러를 거쳐 기계어로 모두 변환되어 실행되는 프로그래밍 언어이다.출처 : 위키백과 쉽게 말해서 컴파일(compile)이란 개발자들이 특정한 프로그래밍 언어(C, C++, Java, Python 등)을 사용해서 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업을 일컫는다. 즉, 컴퓨터와 그 컴퓨터에 설치된 운영체제가 이해할 수 있는 기계어 코드로 변환하는 과정 또는 일이다.■ 링크컴파일이 끝나면 나눠져 있는 Object 파일들이나 다른 파일들을 엮어주는 작업이 필요한데, 이 작업을 링킹이라고 한다.​사실 우리가 일반적으로 프로그래밍을 하면서 모든 작업들을 프로그래밍하지는 않는다. 예를 들어 키보드 입력에 대한 Scanner를 쓰지만 어떻게 키보드가 입력되고.. 2024. 6. 23.
[개발용어] 기계어, 어셈블리어, 고급언어 ■ 기계어기계어는 CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어를 통틀어 일컫는다. 기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다.출처 : 위키백과 기계어는 쉽게 말해 컴퓨터의 언어이다. CPU가 별 다른 컴파일 없이 직접 해독하고 실행할 수 있는 0과 1로 이루어진 비트 단위의 언어이다. 여기서 0과 1은 엄밀히 따지면 숫자(데이터)는 아니다. 있다, 없다 그리고 양극과 음극 정도의 개념이다.​기계어는 CPU가 해독할 수 있는 유일한 언어이기 때문에 모든 프로그래밍 언어는 결국 기계어로 번역이 되어 CPU에게 전달된다.위와 같은 기계어는 가독성이 현저히 떨어져 보통의 사람들에게는 단순히 0과 1의 반복된 난해한 언어로 보인다. 따라서 기계어로 프로그래밍을 짜는 사람은 거.. 2024. 6. 23.