post-thumbnail

System Programming - BombLab (Phase 3) 풀이

phase 3 입니다. 이 친구는 입력 값을 직관적으로 알 수는 없을 것 같네요. scanf에서 rsi가 어떻게 생겼는지 확인해보겠습니다.정수 두 개를 입력 받네요. 이를 토대로 입력 값을 수정하고 다시 진행해보겠습니다.eax는 scanf의 반환 값이니 입력 값의 개수

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

System Programming - BombLab (Phase 2) 풀이

phase 2 부터는 부분 코드를 단계별로 보면서 설명하겠습니다.phase 2 입니다.<+0>부터 <+25>의 코드를 보겠습니다.<+20>은 eax를 0으로 초기화하는 작업이니 큰 신경은 쓰지 않아도 될 것 같습니다.<+25>에서 read_six_

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

System Programming - BombLab (intro, Phase 1) 풀이

풀이에 앞서 Bomb lab에 대한 설명을 드리겠습니다.bomb lab은 역어셈블러를 통해 어셈블리어 코드를 살펴보고, 어셈블리어 코드를 통해 폭탄을 해제할 수 있는 입력 값을 넣어 문제를 풀어나가는 과제입니다. 만약, 입력 값이 틀린다면 폭탄이 터지게 됩니다.위 같은

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

System Programming - DataLab (#5 ~ #6) 풀이

문제는 위와 같습니다. 두 수를 더했을 때 오버플로우가 발생하는지 확인하는 문제입니다.2번 문제와 동일한 연산자 제약 조건이네요.오버플로우는 두 수의 부호가 같을 때, 연산 결과의 부호가 기존 두 수의 부호와 다를 때 발생합니다.즉, 음수 + 음수를 연산하는데 결과값의

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

System Programming - DataLab (#3 ~ #4) 풀이

문제는 위와 같습니다. 이 문제의 경우 조건문, 반복문을 사용 가능하고, 상수 선언의 제약 조건 또한 널널해졌습니다. (기존 상수 선언은 0x00~0xff까지만 가능) 부동 소수점으로 표현된 숫자의 절댓값을 출력하는 문제입니다.부동 소수점의 경우는 MSB가 sign을

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

System Programming - DataLab (#1 ~ #2) 풀이

풀이에 들어가기에 앞서, data lab에 관련된 설명을 먼저 드리겠습니다.Data lab은 주어진 문제(c코드로 제시된 문제)를 제한된 연산자와 개수로 올바른 답을 도출해내는 과제입니다.여기서, 연산자는 주로 비트 연산자, 논리연산자로 주어지며 특별한 경우를 제외하고

2024년 9월 6일
·
0개의 댓글
·
post-thumbnail

데이터 통신 - 7. Introduction to Data Link Layer

같은 네트워크에 속해있는 device끼리의 통신을 다룹니다.멀리있는 애들 끼리는 network layer protocol만 같아도 됩니다.아래 것들은 같은 네트워크 내에 있는 애들끼리만 같으면 되기 때문이죠가운데 놈을 보면 link가 3개가 있습니다.이 3개의 link

2024년 5월 13일
·
0개의 댓글
·
post-thumbnail

Algorithm' - Graph Algorithms (1)

Network는 보통 directed graph G = (V, E)로 표현이 됩니다.이전 graph 알고리즘을 다룰 때에도 언급을 했지만, |V| = n, |E| = m이 되겠습니다.각각의 edge e는 capacity c(e) ≥ 0을 가지고 있고, 이 c(e)라는

2024년 5월 11일
·
0개의 댓글
·
post-thumbnail

Algorithm - Graph Algorithms (1)

그래프에 관련된 알고리즘을 알아볼 것입니다.그 전에, 자료구조에서 배웠던 알고리즘 관련 용어들을 복습해보겠습니다.Graph G는 vertex들의 집합 V(G)와 두 vertex로 구성된 edge들의 집합 E(G)로 구성되어 있는 구조입니다. G = (V(G), (E(G

2024년 5월 11일
·
0개의 댓글
·
post-thumbnail

운영체제 - 3. 커널의 구조

커널의 구조는 다음과 같이 나뉩니다.Monolithic KernelOS 구성에 있어 필요한 요소들이 커널 내부에 존재하는 것MicrokernelOS 구성에 있어 필수불가결한 요소들만 커널 내부에 존재하는 것OS 내부에서 모든 것을 해결할 수 있기 때문에 성능적 측면에서

2024년 4월 27일
·
0개의 댓글
·
post-thumbnail

운영체제 - 2. 운영체제 구성

Process Management프로세스의 실행을 제어Main Memory Management메모리 공간의 할당과 회수를 제어File Management파일을 보조기억 장치에 저장하고 보조기억 장치에 있는 파일 시스템을 관리I/O System Management입출력

2024년 4월 27일
·
0개의 댓글
·

운영체제 - 1. Uniprogramming, Multiprogramming, Time Sharing

ENIAC (통상적으로) 최초의 컴퓨터입니다. 당시에는 운영체제라는 소프트웨어가 존재하지 않아서 수동적으로 컴퓨터를 조작했습니다. 때문에, 프로그램 하나 실행에 많은 시간과 노력이 필요했고, 이로 인해 컴퓨터 운용 효율이 크게 떨어졌습니다. Monitor 위에서 언급

2024년 4월 27일
·
0개의 댓글
·
post-thumbnail

운영체제 - 0. 운영체제 개요

응용프로그램이 실행되는 과정에서, 하드웨어에게 명령을 내리거나 이를 관리하고 감독하는 주체를 말합니다.우리가 컴퓨터를 실행할 때 일어나는 일들은 아래와 같습니다.Booting: 컴퓨터를 실행할 때, 사용자가 컴퓨터를 사용할 수 있게끔 준비해두는 과정입니다. 이 과정에서

2024년 4월 27일
·
0개의 댓글
·

프로그래밍언어개론 - Syntax and Semantics

프로그래밍 언어란, 말 그대로 프로그램을 작성하기 위한 언어입니다.여기서 '언어'라고 하는 것은, 무언가와 소통하기 위한 일종의 '약속'을 의미합니다.예를 들어서 한국어는 한국인과 소통하기 위한 약속 체계이겠죠.'프로그래밍 언어'란 컴퓨터와 소통하기 위한 일종의 '프로

2024년 4월 21일
·
0개의 댓글
·

프로그래밍언어개론 - 1. Introduction to OCaml (3)

프로그래밍 언어에서 statement와 expression은 서로 다른 용도로 사용됩니다.: 실행 시 프로그램의 상태전이를 수행하는 언어의 구성요소를 의미합니다.상태전이란?: 메모리 상태를 변경하는 행위Statement는 값을 반환하지 않습니다. (값으로 계산되지 않음

2024년 3월 27일
·
0개의 댓글
·
post-thumbnail

프로그래밍언어개론 - 1. Introduction to OCaml (2)

OCaml의 소스코드 확장자는 ".ml"OCaml의 컴파일러(compiler)는 "ocamlc"OCaml의 build system은 "dune"OCaml은 명시적인 main 함수가 존재하지 않습니다.Q. 실습환경 구축에서 다운 받은 opam은 뭔가요?A. 걔는 패키지

2024년 3월 27일
·
0개의 댓글
·
post-thumbnail

OCaml 실습 환경 구축

wsl2 설치 후 Ubuntu 설치PowerShell을 관리자 권한으로 실행다음 명령어를 입력컴퓨터 재시작 후 다음 명령어 입력해 wsl의 버전이 2인지 확인이후 Ubuntu 실행해 계정 생성하고 다음 명령어를 입력해 패키지 업데이트homebrew가 설치되어있지 않다면

2024년 3월 9일
·
0개의 댓글
·
post-thumbnail

프로그래밍언어개론 - 1. Introduction to OCaml (1)

: Objective CamlCaml은 ML family에 속하는 프로그래밍 언어특징Functional Programming Language : 함수는 first-class valuesStrongly Typed Language : 모든 변수 및 표현식의 타입이 컴파

2024년 3월 9일
·
0개의 댓글
·

프로그래밍언어개론 - 0. Intro

프로그래밍 언어의 구조 이해 (Syntax + Semantics)프로그램 실행기(Interpreter) 구현OCaml특징: 함수형 언어 (functional programming language)함수형 언어란?: 함수가 '값'이 될 수 있는 언어함수를 변수에 할당함수를

2024년 3월 9일
·
0개의 댓글
·

System Programming - 3. 정수의 표현 방법

정수의 표현 방법 unsigned int 부호가 없는 정수, 주어진 저장장소에 이진수로 표현 BCD 코드 4 bit로 십진수 0~9를 표시 Ex) 2351$$_{10}$$ = 0010 0011 0101 0001 (BCD) 부호 - 크기: MSB에 의한 부호 표시 Ex

2024년 2월 25일
·
0개의 댓글
·