본문 바로가기

컴퓨터과학[3-2]100

UNIX - [제3강] 리눅스 시작 UNIX - [제3강] 리눅스 시작 ● 운영체제의 로딩 ● 리눅스 시작과 종료 ● 기본 명령 ● 파일 시스템 UNIX 용어정리 부팀 컴퓨터를 동작시키기 위해 운영체제 커널을 메모리에 올려서 실행시키는 과정 MBR 첫 번째 디스크의 부트 섹터로 파티션 테이블과 부트로더 프로그램이 있다. INIT 프로세스 리눅스 부팅 과정에서 마지막 과정을 담당하는 프로세스로 PID가 1이며 모든 유저 프로세스의 최상위 프로세스이다. 내부 명령과 외부 명령 내부 명령은 쉘 자체에서 처리되는 built-in 명령이다. 대부분의 유틸리티는 외부 명령으로 실행 파일이 따로 존재하고 쉘 프로세스에 의해 새로운 프로세스가 만들어져 처리된다. inode 유닉스 파일 시스템에서 inode는 inode block(또는 inode tabl.. 2016. 7. 19.
UNIX - [제2강] 리눅스 설치 UNIX - [제2강] 리눅스 설치 ● 리눅스 설치 준비 ● 파티션의 이해 ● 리눅스 설치 리눅스 용어정리 파티션 하드디스크를 논리적으로 나눈 구역으로 파일시스템을 포함한다. 가상머신 소프트웨어 실제 컴퓨터를 모방하여 가상으로 구현해 주는 소프트웨어이다. 가상머신에 운영체제나 응용 프로그램을 설치할 수 있다. 장치 파일 하드디스크나 프린터 등의 물리적 디바이스를 표현하는 특수 파일로 /dev에 위치한다. CentOS 레드햇 엔터프라이즈 리눅스를 기반으로 한 무료 리눅스 배포판이다. 웹 서버용 리눅스로 많이 사용된다. 요점정리 가상머신을 이용하여 리눅스를 설치하는 것과 하드디스크의 비어있는 파티션에 리눅스를 직접 설치하는 것의 장단점은 무엇이며 어떻게 선택해야 하는가? 가상머신에 설치하는 경우 Virtua.. 2016. 7. 19.
컴파일러구성 - [제15강] 코드의 최적화와 코드의 생성 컴파일러구성 - [제15강] 코드의 최적화와 코드의 생성 실행시간 최적화 ·기억용량 최적화 ·산술식의 코드생성 ·논리식의 코드생성 컴파일러 용어정리 상수전파 컴파일 시에 상수를 포함하는 연산이 계산될 수 있으면 계산을 함으로써 코드를 줄이는 방법프로시저 호출의 전개 프로시저 호출의 실행에는 실인자가 전달이 필요하고, 호출된 프로시저에서는 레지스터의 교체라든가 자료영역의 확보, 복귀 때의 레지스터의 회복 등 많은 처리를 필요로 함. 어떤 경우에는 이런 처리보다 프로시저를 호출하는 곳에서 호출되는 프로시저의 본체를 전개하면 그들 처리를 생략할 수 있음 복사전파 치환문을 삭제하고 삭제된 치환문의 1-value 대신에 r-value를 사용하는 방법제어흐름의 최적화 불필요한 jump문을 제거하는 것레지스터 레지스.. 2016. 7. 18.
컴파일러구성 - [제14강] 의미분석과 중간언어 컴파일러구성 - [제14강] 의미분석과 중간언어 기호표 ·의미분석, 중간언어 ·중간코드 종류 ·구문지시적 변환 컴파일러 용어정리 의미분석 구문분석 단계로부터 얻어진 파스트리를 중심으로 의미를 부여하여 코드 생성이 가능하게 하는 일기호표 식별자에 대한 자료구조 선형리스트, 트리, 해쉬표의 3가지 방법을 이용하여 구성할 수 있다. 중간코드 중간코드를 이용하여 기계와 독립적인 최적화가 가능하고 기계코드로 바뀐 상태에서 행하는 것보다 훨씬 효율적인 최적화 수행이 가능. 후위표현, 3-주소 코드, 트리구조, 가상적인 기계코드 등 여러 종류가 있음구문지시적 변환 구문분석을 하면서 중간코드를 생성하는 방법 context-free문법의 각 생성규칙들과 그와 결합하여 쓰여지는 부프로그램이나 의미수행 코드들로 구성 요점정.. 2016. 7. 18.
컴파일러구성 - [제13강] YACC와 LALRGen (실습과정 소개) 컴파일러구성 - [제13강] YACC와 LALRGen (실습과정 소개) YACC 소개 ·YACC의 실행 예 ·LALRGen 컴파일러 용어정리 YACC 문법규칙에 대한 수행코드를 일반적인 프로그래밍 언어로 기술할 수 있도록 만든 LALR(1) 구문분석기 생성기 YACC 선언 부분 선언 부분은 생략될 수 있으며, 만약 사용자 프로그램 부분이 생략될 경우, 두 번째 %% 기호도 생략 가능. 선언 부분은 문법규칙의 토큰에 대한 선언과 변환규칙 부분과 프로그램 부분에서 사용될 임시변수들에 대한 선언을 함.YACC 변환규칙 부분 변환규칙 부분은 일련의 문법규칙으로 구성되고 각 규칙은 LHS(Left Hand Side)와 body의 형태를 취함. 여기서 LHS는 논터미널의 이름이고 body는 문법규칙의 오른쪽 부분에.. 2016. 7. 18.
컴파일러구성 - [제12강] Top-down 구문분석 컴파일러구성 - [제12강] Top-down 구문분석 LL조건 ·Recursive descent 구문분석 ·Predictive 구문분석 컴파일러 용어정리 top-down 구문분석 주어진 문자열과 같은 문장을 생성하기 위하여 시작기호로부터 생성규칙을 적용하여 유도해 나가는 방법 top-down 구문분석의 종류에는 recursive-descent 구문분석과 predictive 구문분석이 있다.backtracking 생성규칙이 잘못되어 주어진 문자열을 생성할 수 없으면 그 생성규칙에서 보았던 문자열을 다시 검조하여 다른 생성규칙을 갖고 유도를 시도하는 방법으로 구문분석의 효율을 저하시킨다. LL 구문분석 backtracking 하지 않고 구문분석 할 수 있는 방법으로 입력기호를 보고 적용될 생성규칙을 결정적으.. 2016. 7. 18.