본문 바로가기
C# 공부하기

[C# 공부하기] C# 개론

by LSB98 2024. 9. 9.
728x90
반응형

* 무어의 법칙

“ 반도체 회로의성능은18개월마다 2배씩빨라진다.”

1960 년대 Intel의 공동 설립자 고든 무어 (Gordon Moore)의 이름을 따서 무어의 법칙 이라고 불린다.

 

무어의 법칙은 2000년대 중반에 깨졌다.

반도체 성능 향상의 한계에 다다르자, 최근 CPU 회사들은 하나의 칩 속도를 높이는 방식 대신, 여러 개의 칩이 병렬적으로동작하도록 하여 성능을 높이는 방식을 선택하고 있다.

-> 함수형 프로그래밍 언어의 등장 배경이 되었다.

 

* 컴퓨터 구조

컴퓨터 구조 그림

 

Input unit : 마우스, 키보드, 터치스크린, 네트워크

Secondary storage : 2차 메모리(영구저장소), HDD, SSD, USB

Memory unit : 주 메모리(단기저장소), RAM

Output unit : 모니터, 프린터, 하드웨어(로봇)디바이스

Control unit : 모든 유닛의 동작을 통제함.

명령어를 해석 하고 레지스터와 ALU 사이의 명령 흐름을 제어함. ALU은 연산만 담당 하는영역 일뿐, ALU로 들어오는 명령어를 해석 하지 못함. 이때, 컨트롤 유닛이 이 명령어를 해석하고 연산을 수행할 수 있게 끔 ALU 에 명령을 내림. 명령어를 해석하고, 결과에 따라 다른 영역으로 순차적으로 제어신호를 내보냄

Register set : CPU 내부 기억 장치. 연산 후에 나오는 임시 데이터를 저장하거나, CPU의상태, 다음 명령의 메모리 번지 수 등이 이 레지스터에 기억됨.

예를 들어, ALU가 연산을 수행하고 있고 컨트롤 유닛이 명령을 해석하고 있다면 추가로 들어온 명령을 해석하거나 연산 하지 못하므로 레지스터에 임시로 데이터 혹은 다음 명령의 주소 값 등이 저장됨.

Arithmetic and Logic unit (ALU) : 연산을 담당하는 영역. 주 메모리에 있는 데이터를 가져와 산술/논리 연산이 수행되는 영역

-> 여기에서 중요한 점은 앱을 동작하기 위해 처음으로 데이터를 메모리에 할당(저장)하는 것이다.

 

* 데이터 계층 구조

- 비트bit : 컴퓨터에서 처리 하는 가장 단순한 데이터항목: 0(off, false) , 1(on, true)

- 바이트 byte : 1 byte == 8 bit, 문자(character)를 기록하는 기본 단위

- 메모리에서 주소 값을 배정할 수 있는 기본 단위

char(1 바이트), int (4 바이트), long (4 바이트), double (8 바이트) 피

 

- 필드 (문자열, 숫자값) > 레코드 (객체) > 파일

- 유니코드 문자 집합 : 다국어 지원을 위해 만들어짐, 2 바이트 집합(16비트), C#는 유니코드 문자 집합을 지원

- 컴퓨터(레지스터register)가 한번에 처리할 수 있는 용량이 8 비트

 

* 코딩을 통한 앱 생성 과정

 

  • 코딩 작성 (Source Code 작성) : 개발자가 문서 편집기를 사용하여 소스 코드를 작성합니다. 이 단계는 소프트웨어 개발의 첫 단계입니다.
  • 전처리 (Pre-processing) : 작성된 소스 코드는 전처리 단계로 들어갑니다. 이 과정에서는 주석 제거, 매크로 확장 등과 같은 코드 전처리 작업이 이루어집니다.
  • 컴파일 (Compilation) : 전처리된 코드는 컴파일 과정을 통해 기계어로 변환된 OBJ 코드로 생성됩니다. 이 단계에서는 코드에 대한 구문 오류가 체크되고 기계어로 변환됩니다.
  • 링킹 (Linking) : 링커는 OBJ 코드와 외부 라이브러리, 기존 모듈 등을 결합하여 최종 실행 파일(.exe) 또는 라이브러리를 만듭니다.

 

 

* .NET Framework 에 대하여

- 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경

- 공통 언어 런타임(CLR)이라는 이름의 가상 머신 위에서 작동

- .NET Framework Class 에서는 성능을 극대화 하기 위해 테스트 되고 튜닝 된 수천 개의 사전 빌드 형태의 클래스가 있다.

- 개발하고자 하는 소프트웨어의 품질과 성능을 향상하면서 개발 과정에 속도를 높일 수 있도록 프로그래머는 항상 닷넷 프레임워크 클래스를 재사용해야 함.

728x90
반응형

'C# 공부하기' 카테고리의 다른 글

[C# 공부하기] Visual Studio 사용법  (0) 2024.09.09
[C# 공부하기] Visual Studio 설치하기  (0) 2024.09.09