독하게 시작하는 JAVA part1-섹션 01

2024. 12. 12. 11:47언어들/자바

728x90
반응형

프로그래밍 언어의 종류

출처 : https://m.blog.naver.com/thebaleuncoding/221771077612

 

기계어, 어셈블리어, 고급 언어의 차이점이 뭐지?

기계어 (Machine Language) 기계어는 컴퓨터가 사용하는 언어 기계어는 컴퓨터가 사용하는 언어이다. 좀 ...

blog.naver.com

작업을 시키기 위해서는 중앙처리장치(이하 CPU)가 이해할 수 있는 2진 명령어를 컴퓨터를 다루는 사람이 명령문을 작성한 후 컴퓨터에 입력해서 기 능을 실행, 이런 언어를 "기계어"라 함.

어셈블리어 -> 기계어

고급언어 -> 어셈블리어

출처 : https://velog.io/@chun_gil/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-2.-%EA%B8%B0%EA%B3%84%EC%96%B4-%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4-%EA%B3%A0%EA%B8%89%EC%96%B8%EC%96%B4-%EB%B9%84%EA%B5%90

 

💻 컴퓨터 구조 - 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(문맥)이라고 한다.

컨텍스트 스위칭(문맥 교환), 공부 하다 전화를 받으면 흐름이 바뀌는데 이와 같이 컴퓨터 흐름의 변환도 비슷하다.

https://blog.hexabrain.net/126

 

  • 스레드는 이러한 프로세스 안에서 한 가지 작업을 실행하기 위해 순차적으로 실행되는 하나의 흐름이다.
  • 스레드는 사전적 의미로 한 가닥의 실이라는 뜻이다.
  • 한 가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다.
  • 하나의 스레드는 코드가 실행되는 하나의 흐름이기 때문에, 한 프로세스 내에 스레드가 두 개라면 코드가 실행되는 흐름이 두 개 생긴다는 의미이다.

알고 있으면 좋은 콘솔 명령어

명령 프롬프트에서 명령 실행

- PATH 지정된 명령 수행 확인

- 윈도우를 리눅스처럼 사용하기

DIR 명령어

기능:

  • dir 명령어는 현재 디렉토리의 파일 및 폴더 목록을 나열하는 데 사용됩니다.

옵션 및 사용법:

  • dir: 현재 디렉토리의 모든 파일과 폴더를 표시합니다
     
    dir /p: 목록이 길 경우 한 페이지씩 표시합니다
  • 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