APP
OS
HW
하드웨어에서 앱을 실행하기 위해서는 그 OS 기반위에서 실행이 가능하다.
허나 OS가 다양해서 그에 맞는 APP을 다 따로 만들어야 하는 단점이 있다 이를 보완하기 위해서 플랫폼이 등장했다.
APP
플랫폼
OS
HW
여기서 플랫폼(OS + HW)은 가상컴이다. 여기에 최적화 되어 있는 것이 자바이다.
마이크로소프트에서는 이 플랫폼은 .NET이다.
자바는 잘되어있어서 리눅스,WINDOW,MAC OS에서 작동한다. 마이크로소프트 .NET은 아직 진행중이다.
장치를 드라이브라고 한다 이를 구동하기 위해서는 드라이버(펌웨어)가 필요하다.
위에 있는 것들이 드라이버이다.
APP
플랫폼
OS
펌웨어
HW
펌웨어는 OS와 장치와의 관계를 이어 주는 프로그램이다.
펌웨어를 효율적으로 관리해주는 것이 OS이다.
참고로 OS는 스케줄러 펌웨어 등 여러가지를 효율적으로 관리하는 프로그램이다.
펌웨어가 처음 나온뒤 나중에 OS에 병합 되었다.
APP IL,MSIL,CIL(3개 다똑같음)
.NET 플랫폼
OS = OS
펌웨어 HW
HW
여기서 C#는 .NET = CLR(프레임워크)이라고 하고 자바는 JVM(프레임워크)이라고 한다.
C,C++은 운영체제에서 바로 실행한다.
반면 JAVA랑 C#은 프레임워크 위에서 실행이 가능하다
그래서 C,C++은 속도가 빠르지만 윈도우나 리눅스이외에는 실행이 안된다.
JAVA랑 C#은 어디든지 사용가능하나 속도가 느리다. why? 플랫폼을 거쳐서 작동하기 때문에..
(단 C#은 윈도우가 거의 유일하다. 나머지는 이식준비중, JAVA는 이식이 다 가능하다.)
파이썬은 번역이랑 실행을 같이해서 속도가 매우 느리다
나머지 C,C++,C#,JAVA는 번역해놓고 실행을 해서 속도가 빠르다.
위에 그림은 파일의 구조이다.
영화라는 데이터가 저장될때 데이터 앞에 있는게 메타 Data(head)가 붙어서 저장된다.
위에 그림과 같이 하는것은~
여기에서 arg[0]과 arg[1]에 자료를 넣어서 출력 할수 있게 한다
○ little Eedian
1000 1001 1002 1003
little Eedian 78 56 34 12
start > end
숫자를 뒤짚어 놓으면 사칙연산에 유리하다.
인텔 CPU는 사칙연산에 유리하다.
○ big Eedian
1000 1001 1002 1003
big Eedian 12 34 56 78
start < end
숫자를 그대로 해놓으면 대소비교에 유리하다.
○ IEEE 754 부동 소수점 표기 방법
1.~으로 만드는게 정규화하는 작업이다.
자료가 저장되는 과정을 코딩으로 보여주겠다
일단 자료를 입력하고 마킹을 건다 F9로 걸고 한다
그리고 실수 뒤에 f를 넣는 이유는 앞에 float이기에 같이 맞추기 위해서 넣는다
그리고 F5를 누르고 실행하면 밑에 창이 뜬다.
위에 메로리를 보려면 디버그- 창 - 메모리 - 메모리1을 누르면 저 위에 창이 뜬다.
주소에 &fNumber를 치고 시작한다.
그상태에 F11을 누르면 붉은 숫자 번호와 같이 뜬다.
저기에 지금 41.625가 저장되어있다는 소리이다.
그리고 00이게 한 바이트이니 총 4개에 4바이트로 움직인다고 생각하면 된다.
GoodDay를 int형으로 바꾸면 4 ToDay는 3이 나온다.
그리고 밑에 Mon ~ Sun이까지 0부터 6까지 나오게 된다
허나 여기서 Mon에 100을 주고 출력하게 되면 100부터 1씩 증가하는 형태가 나타나며
중간에 Thu에 200을 넣게 되면 100에서 1씩 증가하다가 The에서 200에서 1씩 증가하는 형태가 나타나게 된다.
이건 보면서 이해해야 하는 타임이다.
메소드랑 출력이 되는것을 보여준다.
'스마트팩토리 > C#' 카테고리의 다른 글
2020/06/30 C# (0) | 2020.06.30 |
---|---|
2020/06/29 C# (0) | 2020.06.29 |
2020/6/26 C# (0) | 2020.06.26 |
5/21 C# (0) | 2020.05.30 |
5/20 C# 시작 (0) | 2020.05.30 |