일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 도커
- vm번역기
- 메모리 세그먼트
- 필수 스크립트
- ec2
- 어뎁티브 해시 인덱스
- innodb구조
- 컴퓨터 아키텍쳐
- MySQL
- dff
- jack 문법
- 안전하게 테이블 변경
- 핵기계어
- InnoDB
- 핵심 데이터 모델링
- 스택머신
- Terraform
- nandtotetris
- innodb 버퍼풀
- 마운트
- s3
- 온라인 ddl
- vm머신
- 리눅스
- 밑바닥부터 구현하는 컴퓨팅 시스템
- 구문 분석
- performance스키마
- 밑바닥부터 만드는 운영체제
- 밑바닥부터 만드는 컴퓨팅 시스템
- 운용 시 유용한 쿼리
- Today
- Total
목록2025/02 (5)
이것이 점프 투 공작소

런타임 시스템모든 컴퓨터 시스템은 런타임 시스템 모델을 정의해야합니다.프로그램 실행을 시작하는 방법, 프로그램 종료시 수행해야하는 작업,한 함수에서 다른 함수로 인수를 전달하는 방법, 실행 중인 함수에 메모리 리소스를 할당하는 방법, 더 이상 필요없는 메모리를 해제하는 방법 등, 모든 필수적인 질문들에 대한 정의가 필요합니다. 핵 플랫폼에서는 이 문제들을 HACK 플랫폼의 표준 맵핑과 함께 VM 언어 명세로 다룹니다.명세에 따라 vm 번역기를 개발하면 최종적으로 실행 가능한 런타임을 구현 할 수 있습니다.특히 vm 번역기는 vm명령 (push, pop, add)등을 어셈블리 명령어로 번역할 뿐 아니라, 위에서 언급한 모든 질문들에 대한 대답을 어셈블리어로 만들 수 있습니다.고수준 마법위와 같은 수식은 고..

가상 머신 패러다임프로그램들은 컴퓨터에서 실행되려면 기계어로 번역되어야 합니다.많은 고수준 언어들이 생겨남에따라, 동일하게 컴파일러들도 생겨났고 이러한 컴파일러들은 원본언어에 종속적이게 되었습니다. 현대에는 이 종속성을 분리하기 위해 전체 컴파일 과정을 두 단계로 나누었습니다.첫 단계는 고수준 언어의 구문을 분석(parse)하여 그 명령들을 중간처리단계로 번역합니다. (컴파일러)두 번째 단계에서는 이 중간 단계를 다시 대상 하드웨어의 기계어로 번역합니다. (VM번역기) 두 단계(컴파일러, vm번역기)를 이어주는 인터페이스를 가상 머신 (virtual machine)이라고 합니다. 고수준 언어가 기계어로 번역되는 과정컴파일러가 고수준 코드를 중간 VM 명령으로 번역vm 변역기가 중간 vm 명령을 기계 ..
해당 장 과제인 어셈블러 구현은고수준 프로그래밍 언어로 구현하기에 포스팅에서 생략합니다!어셈블러모든 컴퓨터에는 명령어가 0과 1의 연속으로 작성되는 이진 기계어와 인간이 이해하기 쉬운 표현을 사용하여 명령어를 표현하는 어셈블리 언어가 있습니다. 두 언어 모두 정확히 동일한 작업을 수행하며 완전히 동등합니다. 하지만 어셈블리로 프로그램을 작성하는 것이 바이너리로 작성하는 것보다 훨씬 쉽고 안전합니다. 이러한 이점을 누리기 위해서는 누군가 심볼릭 프로그램을 컴퓨터에서 그대로 실행할 수 있는 바이너리 코드로 번역해 주어야 합니다. 이 번역 서비스를 어셈블러가 수행합니다. 어셈블리어는 2진 코드와 직접 대응되므로, 어셈블러를 구현하는 일은 그렇게 어렵지 않습니다.다만 어셈블리 프로그램에서 메모리 주소를 기호로 ..

폰 노이만 구조튜링기계는 간단한 추장석 컴퓨터 모델로, 주로 이론 컴퓨터 과학에서 계산의 논리적 기초를 분석하는 데 활용됩니다.반면 폰 노이만 기계는 모든 현태 컴퓨터 플랫폼을 구성하는 실제 모델로서 폰 노이만 구조는 메모리 장치와 통신하고, 입력 장치에서 데이터를 받고, 출력 장치로 데이터를 내보내는 중앙 처리 장치(CPU)를 바탕으로 합니다.컴퓨터가 조작하는 데이터 외에 컴퓨터가 수행할 작업을 지시하는 명령어도 메모리에 저장된다는 개념입니다.메모리메모리는 물리적관점과 논리적관점에서 바라 볼 수 있습니다. 물리적으로는 주소를 지정 할 수 있는 고정된 크기의 레지스터들을 선형적으로 배열한 것 이며, 레지스터들은 각각의 값을 가집니다.논리적으로는 데이터 저장과 명령어 저장이라는 두가지 용도로 사용됩니다.명..

기계어하드웨어(기계)를 제어하는 언어이며, 하드웨어와 소프트웨어 사이 가장 중요한 인터페이스입니다.CPU가 명령을 처리 할 때 사용되는 언어로 2진수로 되어있습니다. 모든 기계어는 기본적인 산술연산과, And, Or, Not같은 논리연산들을 위한 명령어들을 지원합니다.기계어에서 수행되는 많은 작업들은 특정메모리에 접근하여 메모리를 조작하는 것과 관련이 있습니다. 아래 예시는 완전한 기계어(2진수)가 아니라 어셈블리어 입니다.어셈블리어는 어셈블러에 의해 기계어로 변경되어 하드웨어에 전달됩니다. CPU는 메모리에 올라가있는 명령들을 순서대로 실행하지만,특정 명령어로 점프하거나, 반복해야하는 경우도 있습니다.이러한 분기동작을 위한 기능도 존재합니다. (R1, R2는 레지스터를 의미합니다.)핵 기계어책에서 다루..