목표 및 제약조건

2×2 행렬의 역행렬을 계산하기 위한 컴퓨팅 추상계층 조합

2×2 행렬 A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} 의 역행렬 A1=1adbc[dbca]A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} 을 계산.

(참고) Bare metal 방식

  • [BIOS/UEFI] → [MBR or GRUB] → [NASM binary code] → [execution]
  • 부트로더: GRUB 또는 hand-written MBR
  • 언어: x86 Assembly (NASM) 혹은 C 코드
  • 산출물: .bin 혹은 .iso 형태의 부팅 이미지

Windows 11 OS+ Edge Browser Console + JavaScript

Windows 11 OS 의 default browser인 Edge의 개발자 도구(DevTools) Console에서 JavaScript 언어를 이용해 2×2 역행렬 계산을 바로 실행

Edge Browser 실행 → F12 (메뉴 → 개발자 도구) → Console 탭 클릭

JavaScript 코드 복사/붙여넣기

javascript
function inverse2x2(a, b, c, d) {
    let det = a * d - b * c;
    if (det === 0) {
        console.log("No inverse exists.");
        return null;
    }
    return [
        [d / det, -b / det],
        [-c / det, a / det]
    ];
}

let A = [2, 1, 5, 3];  // a, b, c, d
let inv = inverse2x2(...A);

console.log("Inverse matrix:");
console.table(inv);

Windows 11 OS+WSL2+Ubuntu OS +TCC + C code

Windows 11에 내장된 WSL2 (Windows Subsystem for Linux 2)를 이용하여 최소한의 리눅스 배포판 + Tiny C Compiler(TCC)를 설치하고, CLI에서 직접 2×2 역행렬 계산 프로그램을 작성하고 실행.

WSL2 프로그램 활성화

powershell
# PowerShell (관리자 모드)
wsl --install
  • Windows 11에서는 자동으로 WSL2가 활성화됨
  • 기본 설치 배포판: Ubuntu

Ubuntu OS 및 TCC 설치

powershell
# Ubuntu 설치
wsl --install -d Ubuntu

# TCC 설치 
sudo apt update
sudo apt install tcc

C 코드 작성 (2×2 역행렬 계산)

shell
nano inverse.c
c
#include <stdio.h>

int main() {
    float a = 2, b = 1, c = 5, d = 3;
    float det = a*d - b*c;
    if (det == 0) {
        printf("No inverse exists.\n");
        return 1;
    }
    printf("Inverse matrix:\n");
    printf("%f %f\n",  d/det, -b/det);
    printf("%f %f\n", -c/det,  a/det);
    return 0;
}

C 코드 컴파일 및 실행

shell
tcc -o inverse inverse.c
./inverse