분류 전체보기 211

[born2beroot] Virtual Box 세팅하기

1. 새로만들기 2. 가상 머신 기본 설정 3. 메모리 크기 설정 초록색 범위 내에서 설정 기본값 선택했다. 4. 가상 하드디스크 선택 5. 가상 하드 디스크 파일 종류 선택 VDI : Virtual Box에서만 사용 가능한 포맷 방식 VHD : Virtual Box, Hyper-V, Xen에서 사용 가능한 포맷 방식 VMDK : Virtual Box, VMware Player에서 사용 가능한 포맷 방식 6. 가상 하드디스크 크기 선택 동적 할당 : 디스크에 데이터 저장될 때 크기 자동 증가 공간 낭비를 줄일 수 있지만, 속도가 느리다. 고정 크기 : 디스크 크기 고정 속도는 빠르지만 공간 낭비가 있을 수 있다. 7. vid 위치 및 크기 설정 8. 기본 설정 완료 9. Debian 설치 https://..

42SEOUL 2022.06.04

[Compiler] 12. Yacc

Yacc (Yet Another Compiler-Compiler) parser(syntax analyzer) generator하는 프로그램 Input : BNF, Context-free grammar를 BNF로 변환 가능 Output : Parser LALR(1) Parser Compiler-Compiler (Compiler generator) compiler를 generator하는 프로그램 Input : grammar (BNF) Output : parser의 source code An (basic) overview of Yacc General format of Yacc source {declarations} (선언) // optional %% {rules} (변환 규칙) %% {programs} (사용..

학교/컴파일러 2022.05.30

[OS] 3. Operating System Structures

Operating-System Operations Booting procedure power on 메인보드에 전력공급 CPU에 전력공급 Flash memory에 BIOS 저장 BIOS (Basic Input Output System) : 컴퓨터의 H/W와 OS 처음으로 연결해줌. 일종의 Firmware POST for CMOS, computer H/W POST : 컴퓨터의 CPU, 메인 메모리, 그래픽카드, 하드디스크 등 device가 제대로 작동하는지 체크 CMOS : real time clock, 비휘발성 메모리가 있다. 컴퓨터 시스템의 날짜, 시간 정보, 디스크, 부팅 관련 내용이 CMOS 칩에 작성되어있다. => CMOS에 저장된 내용을 BIOS가 출력하는 형태 OS 구동시 프로세스 형태로 바뀌어..

학교/운영체제 2022.05.24

[OS] 2-2. Computer Structures

Operating System H/W에 직접적, 주도적으로 접근, 관리하는 시스템 S/W 컴퓨터 시스템의 개요 CPU 연산 작업 처리 현대 컴퓨터들은 단일 CPU가 아닌, 멀티 코어 기반의 프로세서를 탑재한다. Memory 주기억 장치 CPU 이외에 컴퓨터에서 발생하는 요청 작업처리를 위한 작업공간인 shared Memory가 있다. => 단일 프로세스만이 아니라 여러 프로세스가 공유해 사용한다. 다수의 device controller I/O device에서 발생한 요청 작업 처리하는 관리자 Bus 컴퓨터와 공유 메모리 사이의 접근을 제공한다. 통로 공간의 크기에 따라 성능에 영향을 미친다. Interrupt CPU가 어떤 프로그램을 수행하고 있을 때, 예외상황이 발생하게 되어 처리가 필요한 경우에 수행..

학교/운영체제 2022.05.24

[OS] 2-1. 운영체제의 종류

UNIX 멀티태스킹 기반의 Time sharing OS UNIX 커널을 재컴파일하고 유틸리티(응용 프로그램)를 제작하기 위한 C언어 파생 TCP/IP, socket 등의 네트워크 프로토콜, 인터페이스 포함 현대 운영체제의 아버지 이후 후속 운영체제(UNIX 변형 버전)가 많이 발생 but 난잡해질 수 있어 정의한 POSIX 제정 UNIX-like OS POSIX (Portable Operating System Interface & UNIX) IEEE에서 제정한 유닉스 응용 인터페이스 표준 규격 LINUX Linux Kernel + GNU (GNU/Linux) Multi-users, Multi-tasking, Multi-threads 기반의 Time sharing OS 교육용 UNIX-like OS 인 M..

학교/운영체제 2022.05.24

[born2beroot] 개념 정리

가상 머신 (Virtual Machine) 물리적 컴퓨터와 동일한 기능을 제공하는 소프트웨어 컴퓨터 가상머신은 물리적 컴퓨터처럼 실행되고 작동하는 컴퓨터 파일 하나의 물리 서버에서 여러개의 운영체제를 구동할 수 있도록 하는 기술 즉, 컴퓨터 안의 컴퓨터 가상머신 사용 이유 다른 운영체제를 사용해야 하는경우 비용 절감 간편함과 속도 -> 새로운 환경을 준비하는것보다 간편하고 빠름 하이퍼 바이저 호스트 컴퓨터에서 다수의 운영체제를 동시에 운영하기 위한 논리적 플랫폼 하드웨어에서 리소스를 사용해 가상머신을 생성하고, 구동하는 소프트웨어 ex) vmware, virtual box Host / Guest로 구성됨 Host : 하이퍼바이저가 탑재된 물리적 머신 Guest : 하이퍼바이저로 인해 리소스 사용하는 머신..

42SEOUL 2022.05.22

[Spring] 입문 - 1. 환경설정

김영한 스프링 입문 강의 정리 목차 프로젝트 생성 라이브러리 살펴보기 View 환경설정 빌드하고 실행하기 환경설정 IntelliJ JDK 11 프로젝트 생성 Spring Initializr https://start.spring.io/ Maven(과거), Gradle(요즘 추세) 선택 필요한 라이브러리를 가져오고, 빌드하는 lifecycle까지 관리해주는 tool spring boot ver. snapshot, Mn -> 미완성 정식 release 안 됨 Group : 기업 도메인 명 artifact : 빌드 결과물 name, description, packaging : 그대로 해도 상관 없다. dependencies : 프로젝트 시 어떤 라이브러리를 가져와 사용할 add dependencies 버튼클릭 ..

[Compiler] 11-1. Bottom-up parsing

Bottom-up parsing (상향식 구문 분석) 연산을 반전시켜, 문자열을 Start symbol로 Reduce 한다. Rightmost derivation Two actions in bottom-up parser Shift (이동) Input 처음 문자열을 parsing stack으로 이동 Reduce (감축) a가 있을 때, P : A -> a에 매칭되어 a -> A로 reduce 한다. Bottom-up parser example G = ({S, S'}, {(, )}, P, S') P : S' -> S S -> ( S ) S | ε Parsing stack Input Action 1 $ ( ) $ shift 2 $ ( ) $ reduce S -> ε 3 $ ( S ) $ shift 4 $ ( ..

학교/컴파일러 2022.05.17

[Compiler] 10. Top-down parsing

Top-down parsing (하향식 구문 분석) input string이 있으면, leftmost derivation을 통해 parse tree를 그린다. Recursive descent parsing Predictive parsers 하나 이상의 lookahead tokens을 사용해 input string의 다음 구성을 예측한다. LL(1), LL(k) 잘 안쓰인다. 보통 bottom-up parser를 사용하지만 이를 알기 위해선 top-down을 알아야 한다. Recursive descent parsing top-level의 non-terminal에서 시작한다. start symbol에 대한 rule을 순서대로 시도 각 단계에서, 사용할 다양한 production 선택 잘못된 선택 시 back..

학교/컴파일러 2022.05.16

[ft_printf] printf()

printf 데이터를 특정한 형식에 맞춰 stdout에 출력하는 함수 int printf(const char* format, ...); 헤더 : return 출력한 문자의 개수 error : -1 형식 태그 형식 태그에 대응하는 인자를 형식 태그가 지정한 형태로 치환해 출력 format 다음으로 오는 인자들의 개수는 반드시 형식 태그의 개수보다 같거나 많아야 한다. %[flag][width][.정밀도][크기(length)]서식지정자 서식 지정자 서식 지정자 역할 자료형 %c 단일 문자 한 개 출력 char %s 문자열 출력 char * %p void * 형식의 포인터 인자(주소)를 16진수로 출력 void * %d 10진수 숫자를 출력 int %i 10진수 정수를 출력 int %u 부호 없는 10진수 숫..

42SEOUL 2022.04.22