전체 글
소프트웨어학과 공부기록입니다 👩🏻💻📚
25년도 1학기 오픈소스분석 수업을 들으며 내용을 정리했다. 막학기라 그런지 내용이 타 과목보다 쉽게 이해되는 부분이 있어 좋았다. LectureTopicURLLN1Introduction to Key Value Storeshttps://yeondventure.tistory.com/287LN2Overview of LDB RDBhttps://yeondventure.tistory.com/288?category=1243912LN3Basic operation in Key Value store LN4In memory operation LN5In memory Structure LN6Bloom Filter LN7In storage Structure LN8Block Cache LN10..

최적화 기술에 대해 알아본다.CPU 성능 표현 방법에 대해 알아본다.CPU 최적화기술 (independent / dependent) 에 대해 알아본다.메모리 계층구조최적화된 프로그램을 작성한다는 것Divide a job into portions that can be computed in parallel 고려사항 : tradeoff (가독성 VS 최적화) CPE = Cycles per Element Optimization Practice/*data_t: int, float (double)#define OPER + // 연산자#define IDENT 0 // 초기값 (덧셈일 경우)or#define OPER * // 연산자#define IDENT 1 // 초기값 (곱셈일 경우..

IA의 역사를 알아본다. (IA-32와 Intel 64)최근 IA 의 주요 기술을 이해한다.Intel CPU History1. Intel 8080 (1974)기술: 8비트 프로세서, 첫 번째로 상업적으로 성공한 마이크로프로세서특징: 주로 임베디드 시스템과 초기 개인용 컴퓨터에서 사용됨. 2KB에서 64KB의 메모리를 처리할 수 있었다.2. Intel 8086 (1978)기술: 16비트 프로세서, 세그멘테이션 도입특징: x86 아키텍처의 시작점. IBM PC의 기반이 되는 프로세서로, 메모리 주소는 1MB까지 확장 가능하였다.3. Intel 80286 (1982)기술: 16비트 프로세서, 보호 모드 추가특징: 메모리 보호 및 다중 작업을 지원하는 "보호 모드"를 도입, 메모리는 16MB까지 지원했다.4. ..

Instruction Set Architecture(ISA) 관련 이슈를 살펴본다.다양한 Operand의 주소 모드를 이해한다.멀티태스킹, 메모리 사용, 메모리 오버플로우를 살펴본다.Issues on ISA기본적으로 CISC를 사용하지만 더 다양한 기능을 RISC 에서 사용할 수 있다. Operand addressing modes주소 모드에는 세가지가 있다.Immediate addressingRegister addressingMemory addressing Impact of ISA on system program: Memory Usage

어셈블리 언어 기초를 학습한다.어셈블리 언어로 프로그램을 작성한다.어셈블리 언어 기초high level L와 machine L 사이에 위치한다.Symbolic(mnemonic)을 띈다.하드웨어 제어에 사용된다.하드웨어와 소프트웨어 co-design 에 쓰인다. (같이볼 때)어셈블리 언어 학습1) 어셈블리 언어 구성요소1. Opcode 는 Operand 를 0개~3개 가질 수 있다.2. Basic Opcode(mov) + suffix(b/w/l/q)b:byte 1바이트(=8비트)w:word 2바이트l:long, double word 4바이트q:quad word 8바이트3. Operand 는 세가지 타입으로 정의할 수 있다.register : %literal : $memory : alphanumeric 2)..

cpu를 이해하는 다양한 관점에 대해 학습한다.ISA의 세가지 개념을 이해한다.CPU프로그램 개발은 아래의 단계를 거쳐 이루어진다.C파일 -> 컴파일러 -> 어셈블리파일어셈블리파일 -> 어셈블러 -> 오브젝트 파일(기계어)오브젝트 파일 + 라이브러리 -> 링커 -> 실행가능한 파일(ELF) 프로그램 실행은 아래와 같다.ELF -> 로더 -> RAM실행중인 프로그램은 RAM 에 적재되어 실행되며, 프로그램의 code, data, stack 등의 정보가 저장된다. BUS와 CPUCPU는 버스(bus)를 통해 메모리에서 명령어를 가져온다. (이를 fetch라고 함)1. Transistor → Gate → Logic + Clock더보기(생략) 트랜지스터의 역할트랜지스터는 CPU의 가장 기본적인 구성 요소로, 전..

프로세스의 정의 및 구조프로그램과 프로세스 구조 사이의 연관관계스택 디테일프로세스 실행중인 프로그램자신만의 메모리 공간과 CPU 레지스터를 갖고있다.스케쥴링 하는 객체 로드(OS가 관리) : 디스크 -> 메인메모리패치(HW가 관리) : 메인메모리 -> CPU 스택 구조

저장구조디스크의 시스템 프로그래밍파일의 내부구조파일관련 시스템 콜을 배운다.파일 조작 프로그램 만들기Storage structure HDD VS SDDSSD는,mechanical 한 부분이 없다.overwrite 불가하다.read와 write 는 4KB 이지만, erase granularity 는 2MB이다.충격에 강하다. Layered Architecture for Abstraction System call File Programming해당 챕터에서 배울 내용은 여섯가지다.Read data from an existing fileExtend practice 1 to display the read data on the terminalMake a "mycat" commandCreate a new ..