5/7 수업정리

k4bunny·2025년 5월 7일

Layer7

목록 보기
4/13

컴퓨터 구조

프로그램이 실제로 어떤 과정을 거쳐서 기계 수준에서 실행되는지를 다루는 분야

컴퓨터 구조를 배우는 이유?

컴퓨터 구조를 알아야 컴퓨터에 대한 이해기술적 지식을 습득 가능

리버스 엔지니어링과 포너블을 위해서는 컴퓨터 구조에 대한 이해가 필요

ISA (Instruction Set Architecture)

CPU가 이해하고 실행할 수 있는 명령어 집합과 동작 방식을 정의한 규약

EX) ARM, x86, x86-64

중앙처리장치 (CPU)

프로그램의 연산을 처리하고 시스템을 관리하는 두뇌 역활을 하는 장치

  • ALU, Register으로 구성

기억장치 (Memory)

컴퓨터가 동작하는데 필요한 여러 데이터를 저장하는 장치
용도에 따라 주/보조기억장치로 분류

  • 주기억장치 - 필요한 데이터를 임시로 저장(RAM)
  • 보조기억장치 - 프로그램, 운영체제 같은 데이터를 장기간 저장(HDD, SSD)

Byte Ordering

2byte 이상의 데이터는 메모리에 연속적으로 저장
이 때, 메모리의 정렬되는 방식

Bit의 수가 아닌 Byte의 수를 고려한다는 점을 주의

Bit의 순서는 동일, Byte의 순서만 변동

Big-Endian

큰 byte부터 메모리의 낮은 주소에 저장

EX)

0x0123
0x01 0x23

Little-Endian

작은 byte부터 메모리의 낮은 주소에 저장

  • x86, x86-64 CPU에서 사용

EX)

0x0123
0x23 0x01

Encoding-Decoding

Encoding - 데이터를 특정한 형식으로 암호화

Decoding - 인코딩 데이터를 원래 값으로 복호화

Base64 인코딩 문제 풀이를 통한 실습

운영체제 (OS)

사용자가가 컴퓨터를 사용하기 위해 필요한 소프트웨어
컴퓨터를 사용하면서 실행한 프로그램들은 운영체제에서 관리&제어

하는 일

CPU, 메모리 등 하드웨어 자원을 효율적으로 사용하도록 자원을 분배, 할당함

EX)

CPU 스케줄링
메모리 공간을 분배 및 관리
정보를 주고 받는 과정 관리

운영체제의 구조상 위치

Application > shell > Kernel > H/W

shell과 Kernel을 연결해주는 OS

운영체제 (OS) - Shell

kernel과 상호작용할 수 있도록 해주는 명령어 해석기
-> 사용자가 입력한 명령을 해석 / 시스템에 전달

EX)

bash
zsh
sh

운영체제 (OS) - kernel

하드웨어와 소프트웨어 사이를 중재

kernel의 주요 역할

  • 프로세스 관리 -> exec()
  • 메모리 관리
  • 파일 시스템 관리 -> open(), read()
  • I/O 관리
  • System Call 제공

운영체제 종류

EX)

UNIX는 벨 연구소에서 개발한 운영체제, 현대 운영체제의 원형
Linux는 오픈소스 프로그램, UNIX를 계승하여 발전함, 다양한 환경에서 사용됨

  • 그밖에 Windows, iOS 등 다른 운영체제들도 존재

CLI : Command Line Interface

문자로 사용자와 컴퓨터가 상호작용하여 동작하는 인터페이스

EX)

Mac-Termenal 등

리눅스 기초 명령어

과제

과제_설명


과제_해결

해결과정

사용 명령어 설명

pwd - 현재 작업 중인 디렉터리의 경로를 출력
ls - 현재 디렉터리의 파일 목록을 출력
cat (파일명) - (파일명) 파일의 내용을 화면의 출력

풀이

  1. touch 명령어를 사용하여 shiny.c 파일을 생성
  2. vim shiny.c 를 이용하여 shiny.c 파일에 지정된 코드 타이핑 및 저장
  3. pwd, ls, cat shiny.c 명령어를 순서대로 사용하여 지정된 사진처럼 출력
profile
배고파요 ..

0개의 댓글