2024. 12. 12. 11:47ㆍ언어들/자바
프로그래밍 언어의 종류
출처 : https://m.blog.naver.com/thebaleuncoding/221771077612
기계어, 어셈블리어, 고급 언어의 차이점이 뭐지?
기계어 (Machine Language) 기계어는 컴퓨터가 사용하는 언어 기계어는 컴퓨터가 사용하는 언어이다. 좀 ...
blog.naver.com
작업을 시키기 위해서는 중앙처리장치(이하 CPU)가 이해할 수 있는 2진 명령어를 컴퓨터를 다루는 사람이 명령문을 작성한 후 컴퓨터에 입력해서 기 능을 실행, 이런 언어를 "기계어"라 함.
어셈블리어 -> 기계어
고급언어 -> 어셈블리어
💻 컴퓨터 구조 - 2. 기계어, 어셈블리어, 고급언어 비교
기계어, 어셈블리어, 고급언어를 비교할 수 있다
velog.io
용어 정리
- 기계어 : CPU가 인식할 수 있는 명령문을 사람이 직접 프로그래밍 하는 방식
- 어셈블리어 : 2진 코드로 작성한 기계어의 불편한 점을 ㄱ선해서 MOV, LDA 같은 영어 단어를 이용해서 프로그래밍 하는 방식
- 고급 언어 : 사람이 사용하는 언어 기반으로 컴퓨터에게 작업을 시키는 방식
컴파일러
C언어, 자바 같은 고급 언어 명령어를 작성하면 컴퓨터의 CPU는 작성한 명령어를 바로 읽어서 실행할 수 없다.
CPU가 인식할 수 있는 기계어들인 2진 명령어 코드로 변환하는 과정이 필요하면 과정을 "컴파일링" 컴파일링을 수행하는 도구를 "컴파일러"라고 한다.
Windows OS 사용에 관한 용어
- 파일, 파일명(이름 + 확장명)
- Test.txt. abc.docx
- 폴더, 디렉토리, 경로(Path)
- C:\Windows\System\notepad.exe
- 절대경로와 상대경로
- 상대경로
- .\test.txt
- ..\test.txt
- 절대경로
- C:/Users/username/Desktop/text.txt
- 상대경로
- 바이너리와 텍스트
- .exe(바이너리)
- .txt(텍스트)
바이너리 데이터 타입
- 구성: 0과 1로 이루어진 비트 시퀀스로 표현됩니다. 이는 컴퓨터가 이해할 수 있는 가장 기본적인 형태입니다.
- 특징:
- 기계가 읽을 수 있음: 사람이 직접 읽기 어려운 형식으로, 컴퓨터가 효율적으로 처리할 수 있습니다.
- 효율적인 저장: 텍스트보다 더 적은 공간을 차지하며, 특히 이미지, 오디오, 비디오 파일 같은 멀티미디어 데이터를 저장하는 데 적합합니다.
- 특수 프로그램 필요: 데이터를 읽거나 쓰기 위해 특수한 프로그램이나 인코딩 방법이 필요합니다. 예를 들어, Base64 인코딩은 바이너리 데이터를 ASCII 문자열로 변환합니다.
텍스트 데이터 타입
- 구성: 사람이 읽을 수 있는 문자 시퀀스로 구성됩니다. 일반적으로 ASCII나 UTF-8 같은 문자 인코딩을 사용합니다.
- 특징:
- 사람이 읽을 수 있음: 특별한 도구 없이도 쉽게 이해할 수 있는 형식입니다.
- 유연한 사용: 문서, 소스 코드, 마크업 언어(HTML, XML) 등 다양한 형태의 데이터를 저장할 수 있습니다.
- 인코딩 필요: 다양한 언어와 문자를 지원하기 위해 적절한 문자 인코딩이 필요합니다.
일반적으로 데이터를 전송하기 위해 Binary화하여 처리하게 됩니다. 아래는 Binary Data의 인코딩 및 디코딩 처리에 관한 설명
참고사이트:
https://www.hnsts.co.kr/ReferenceRoom/TechNoteView/71
(주)HNS
www.hnsts.co.kr
- 실행파일
- exe, dll, sys
- 프로그램과 프로세스
- word.exe는 프로그램 word.exe를 실행하면 프로세스
- word 프로세스는 word.exe.에 대한 인스턴스
- 형식(이론,규칙 등)을 구체를 이루게 될 때 '인스턴스'라는 표현을 사용
- 스레드(선택)
- 한 프로세스 내부에 공존하는 개별적인 실행(연산) '흐름'
COMPUTER와 운영체제
https://minnie.tuhs.org/CompArch/Lectures/week07.html
Introduction to Operating Systems
minnie.tuhs.org
컴퓨터 구조에 대한 상식
CPU는 Machine으로 불리는 경우가 많다.
- Machine ≒ CPU
메모리 관리를 위해 주소(일련번호) 부여하고 이 번호를 "참조"하여 정보를 습득, 참조는 위치정보다.
메모리 구조
https://hangbok-archive.com/computer-science/cpu/
CPU : ALU, CU, 레지스터, 캐시 메모리, 버스, 클럭, 코어, TDP - H-A
작업 관리자를 들어가면 성능 탭에 CPU 성능에 대한 모니터링 데이터를 볼 수 있는데요.여기에 속도, 코어, 논리 프로세서, 캐시 같은 내용이 있습니다. 오늘은 CPU 란 어떻게 구성이 되어있고, 어
hangbok-archive.com
https://www.cs.swarthmore.edu/~kwebb/cs31/f18/memhierarchy/mem_hierarchy.html
Memory Hierarchy · GitBook
<!-- TODOs: Figure NNN's Link to virtual memory --> The Memory Hierarchy In our characterization of common memory devices, we see a pattern emerge: as devices grow in their storage capacities, their performance drops. Said another way, we have devices that
www.cs.swarthmore.edu
실행의 다른 이름 "연산"
- 실행의 실체는 CPU 연산
- 연산에 필요한 정보는 메모리에서 가져와야 함
- 메모리에서 CPU 레지스터로 전달된 후 연산
- 연산 결과가 저장된 레시스터 값을 메모리로 보내는 과정을 반복
Mashine이 가진 명령체계의 연속된 실행 - 하나의 흐름 - 목적에 도달하기 위해서 엮은 이러한 흐름을 Context(문맥)이라고 한다.
컨텍스트 스위칭(문맥 교환), 공부 하다 전화를 받으면 흐름이 바뀌는데 이와 같이 컴퓨터 흐름의 변환도 비슷하다.
- 스레드는 이러한 프로세스 안에서 한 가지 작업을 실행하기 위해 순차적으로 실행되는 하나의 흐름이다.
- 스레드는 사전적 의미로 한 가닥의 실이라는 뜻이다.
- 한 가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다.
- 하나의 스레드는 코드가 실행되는 하나의 흐름이기 때문에, 한 프로세스 내에 스레드가 두 개라면 코드가 실행되는 흐름이 두 개 생긴다는 의미이다.
알고 있으면 좋은 콘솔 명령어
명령 프롬프트에서 명령 실행
- PATH 지정된 명령 수행 확인
- 윈도우를 리눅스처럼 사용하기
DIR 명령어
기능:
- dir 명령어는 현재 디렉토리의 파일 및 폴더 목록을 나열하는 데 사용됩니다.
옵션 및 사용법:
- dir: 현재 디렉토리의 모든 파일과 폴더를 표시합니다
- dir /ah: 숨김 파일 및 폴더를 표시합니다
- dir /s: 하위 디렉토리까지 포함하여 모든 파일과 폴더를 표시합니다
- dir /?: dir 명령어의 모든 옵션을 보여주는 도움말을 표시합니다
CD 명령어
기능:
- cd 명령어는 디렉토리를 변경하는 데 사용됩니다. "Change Directory"의 약자입니다.
옵션 및 사용법:
- cd [디렉토리명]: 지정한 디렉토리로 이동합니다
- cd ..: 상위 디렉토리로 이동합니다
- cd \: 루트 디렉토리로 이동합니다
- cd /d [드라이브:\경로]: 다른 드라이브로 이동할 때 사용합니다
참고
- 독하게 시작하는 자바 part 1
- 초보개발자를 위한 java
- 초보 개발자를 위한 자바 유튜브
'언어들 > 자바' 카테고리의 다른 글
독하게 시작하는 JAVA part1-섹션 03 (2) | 2024.12.12 |
---|---|
독하게 시작하는 JAVA part1-섹션 02 (1) | 2024.12.12 |
자바 기본 문법(1) (0) | 2023.10.22 |
Java 언어와 프로그램 (0) | 2023.10.22 |
String 클래스 (0) | 2023.07.31 |