전공과목 스터디/시스템 프로그래밍

최적화 기술에 대해 알아본다.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 ..
리눅스에 대해서리눅스 커맨드   16가지 리눅스 기본 명령어 정리ls : 현재 디렉토리의 모든 파일 및 폴더를 기본 형식으로 보여준다.ls -l : 파일 및 폴더에 대한 자세한 정보와 함께 리스트업 한다.ls -a : 숨겨진 파일을 포함하여 모든 파일을 보여준다.cd는 디렉velog.io
시스템프로그램이란?시스템프로그래밍 종류 세가지Definition1) Computer system 구조 2) DRAM 과 Disk 의 차이  DRAMDiskMemory HierarchySpeedCapacityVolatilityVolatileNon-volatileInterfaceByte-unit interfaceSector-unit interface 3) 시스템 프로그래밍이 하는 일  Types of System ProgramCompile, Runtime, Hardware 세 종류의 시스템이 있다.
qwerty123
'전공과목 스터디/시스템 프로그래밍' 카테고리의 글 목록