[프로그래밍 언어론] 7강 - 변수와 바인딩
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🔑 학습 키워드┗ 변수 정의 및 속성(변수명, 주소, 값, 타입)┗ 변수 -> 배런 표기법┗ 바인딩 정의┗ 바인딩 시각 -> 동적 바인딩, 정적 바인딩┗ 변수의 수명 -> 할당, 해제 -> 자동 할당, 수동 할당┗ 정적 세그먼트, 동적 세그먼트┗ 변수 종류: 정적 변수, 동적 변수(스택 동적 변수), 힙 동적 변수 💡 1. 변수의 개요[ 변수 ]┗ 데이터를 저장하거나 나중에 사용할 수 있도록 기억하는 객체┗ 컴퓨터 하드웨어의 메모리를 추상화한 것┗ 변수의 속성: 변수명, 타입, 주소, 값- '변수명': 변수의 이름 -> 식별자- '타입': 변수에 저장할 수 있는 데이터 집합의 종류- '주소': 변수가 사용하는 메모리의 위치- '값': 변수에 저장된 데이터 -> 수행 시간 동..
[프로그래밍 언어론] 6강 - 프로그래밍 언어의 구현
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🔑 학습 키워드┗ 프로그래밍 언어 구현 모형: 컴파일러, 인터프리터 구조적 차이를 수학적 모형으로 설명┗ 컴파일러, 인터프리터 구현 단계┗ 언어 구현에 필요한 자료 구조: 구문 트리, 심볼 테이블, 환경(인터프리터), 실행 환경┗ 실행 환경 -> 메모리 구조: 정적 세그먼트(코드, 정적 데이터), 동적 세그먼트(힙, 스택)┗ 실행 환경 -> 레지스터: 전용 레지스터(PC, SP, FP), 범용 레지스터┗ 어휘 분석기, 구문 분석기 💡 1. 프로그래밍 언어 정의와 구현[ 프로그래밍 언어 정의 ]┗ 구문 규칙 + 의미 규칙:- '구문 규칙': 어떤 프로그램이 올바른 형태인지 규정하는 것- '의미 규칙': 올바른 형태의 프로그램을 실행하였을 때 어떻게 실행되는 것이 올바른 것인이 규정..
[프로그래밍 언어론] 5강 - 구문 분석
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🎯 학습 목표┗ 구문 분석 = 문자 -> 어휘 분석 -> 어휘 -> 구문 분석(파스 트리) -> 구문 🔑 학습 키워드┗ 어휘 분석( 문자 / 토큰 -> 식별자, 예약어 등... / 렉심 -> for, if, age(id) 등... )┗ 파스 트리 ( 유도 -> 트리 형태로 표현한 것 )┗ 모호성: 파스 트리의 모호성을 의미함.┗ 모호성 제거: 연산자 우선순위, 좌결합 연산자, 중첩된 if문의 else 💡 1. 어휘 분석[ 프로그램 분석 ]┗ 문자 -> (어휘 분석) -> 어휘 -> (구문 분석) -> 구문 [ 어휘 분석 ]┗ 목적: 프로그램에 사용되는 단어를 구별해 냄┗ 토큰: 어휘 분석을 통해 얻는 결과'토큰 예': 연산자(+, -, = 등), 구분자([,;] 등), 식별자..
[프로그래밍 언어론] 4강 - 구문론과 의미론
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🎯 학습 목표┗ 구문론과 의미론 정의, 표현 방법 🔑 학습 키워드┗ 프로그래밍 언어 형식적 정의┗ 구문론: 문맥 자유 문법(CFG), BNF, EBNF, 구문 도표┗ 의미론: 정적 의미론(속성 문법), 동적 의미론(기능적, 표기적, 공리적 의미론) 💡 1. 구문론과 의미론[ 언어의 형식적 정의 ]┗ '구문론'과 '의미론'을 통해 언어를 엄밀하게 정의하는 것을 의미- 구문론(syntax): 문장의 올바른 '형태'를 정의- 의미론(semantics): 올바른 형태의 문장이 나타내는 '의미'를 정의┗ 예시: 한국어 -> '나는 너를 사랑한다.'- 구문: 주어 + 목적어 + 서술어- 의미: 화자가 청자를 몹시 아끼고 귀중히 여김┗ 예시: 영어 -> 'I love you'- 구문: 주어..
[프로그래밍 언어론] 3강 - 프로그래밍 언어 패러다임
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🎯 학습 목표┗ 프로그래밍 패러다임 정의 및 종류 파악, 프로그래밍 언어 패러다임 정의 및 종류 파악 🔑 학습 키워드┗ 프로그래밍 패러다임┗ 프로그래밍 언어 패러다임┗ 명령형, 절차형, 함수형, 논리형, 객체지향 패러다임 💡 1. 프로그래밍 패러다임[ "패러다임" 이란 무엇인가? ]┗ 한 시대의 견해나 사고를 규정하는 양식, 규범, 체계 등을 통칭하는 말┗ 토머스 쿤: 과학 분야의 발전에 따라 이전의 믿음과 체계가 흔들리고 새로운 체계로 대체되는 과정에 주목┗ 패러다임 전환의 사례:과학: 천동설 -> 지동설경제: 저축이 미덕 -> 소비가 미덕생활: "둘만 낳아 잘 기르자." -> "자녀에게 가장 좋은 선물은 동생입니다."언어: '너무' 나쁘다. -> '너무' 좋다. ('너무'란..
[프로그래밍 언어론] 2강 - 프로그래밍 언어의 발전 및 동작 원리
·
방송통신대학교/📝프로그래밍 언어론
📌 개요🎯 학습 목표: 프로그래밍 언어 - 발전 과정, 동작 과정, 평가 기준 🔑 학습 키워드┗ 컴퓨터 시스템 & 운영체제 발전 과정┗ 프로그래밍 언어 발전 과정 ( Fortran, Alogl, LISP, Cobol, PL/I ... 등 )┗ 프로그램 동작 원리 ( 컴퓨터 구조, 컴퓨터 동작 원리, 프로그램 동작 원리 )┗ 프로그래밍 언어 구현이 필요한 이유 ( 컴퓨터에 언어 구현 )프로그래밍 언어 구현: 언어 규칙으로 작성된 프로그램이 실제 컴퓨터에서 돌아가게 만드는 것┗ 기계어, 어셈블리어┗ 컴파일러, 인터프리터, 하이브리드 구현┗ 프로그래밍 언어의 평가 기준 💡 1. 프로그래밍 언어의 발전➡ 컴퓨터 시스템의 발전 ┗ 아이디어 시대: 계산 자동화를 위한 상상 속의 ..
[프로그래밍 언어론] 1강 - 프로그래밍 언어 소개
·
방송통신대학교/📝프로그래밍 언어론
📌 개요➡ 🎯 학습 목표: 프로그래밍 언어 - 정의, 기능, 구성 요소, 언어 선택 방법 파악 ➡ 🔑 학습 키워드 ┗ 프로그래밍 언어 ┗ 프로그래밍 언어 기본 기능 ( 작성력, 가독성, 실행 가능성 ) ┗ 프로그래밍 언어 부가 기능 ( 추상화, 모듈화 ) ┗ 추상화 수준, 저급 언어, 고급 언어 ┗ 프로그래밍 언어 구성 요소 ( 데이터, 연산, 명령어, 서브프로그램, 타입, 모듈 등 ) ┗ 프로그래밍 언어 학습 방법 및 배우는 이유 💡 1. 프로그래밍 언어란?➡ 프로그래밍 언어 정의: 컴퓨터가 수행할 수 있고 사람이 읽을 수 있는 형태로 계산을 나타내는 표기 체계 ➡ 프로그래밍 언어 특징 - 자연어와 프로그래밍 언어의 ..
📚 운영체제 1강 - 운영체제 소개
·
방송통신대학교/⚙️운영체제
📌 개요➡ 🎯 학습 목표: 운영체제 정의, 역할, 구성, 종류를 크게 훑어보는 것 ➡ 🔑 학습 키워드 ┗ 운영체제 정의 ┗ 운영체제 실행 모드 - 사용자 모드, 커널 모드 ┗ 커널 (마이크로 커널, 일체형 커널) ┗ 시스템 호출 ┗ 운영체제 구성 - 프로세스, 메모리, 파일, 장치 관리자 ┗ 운영체제 종류 - 일괄처리, 시분할, 실시간, 분산 운영체제 💡 1. 운영체제란 무엇인가?➡ 운영체제: 사용자, 하드웨어 사이에서 중개자 역할을 수행하는 대표적인 시스템 소프트웨어컴퓨터 시스템 => 하드웨어, 소프트웨어 ↙ ↘ 응용 소프트웨어 시스템 소프트..
[운영체제] 13강 - 분산 운영체제
·
방송통신대학교/⚙️운영체제
✅ 1. 분산 운영체제의 개요(1) 분산 시스템분산 시스템: 여러 대의 독립된 컴퓨터가 네트워크로 연결되어 서로 협력하면서, 사용자에게는 마치 하나의 시스템처럼 보이도록 동작하는 시스템을 의미한다.분산 시스템은 자원 공유, 성능 향상, 신뢰성 향상, 통신의 편리성 등의 장점이 있음.(2) 분산 시스템 - 장점자원 공유: 독립된 각 컴퓨터의 자원을 네트워크상에서 연결된 컴퓨터끼리 공유하기 때문에, 병목을 완화할 수 있으며 저장에 대한 용량이 컴퓨터 여러대 분량으로 늘어 날 수 있는 장점이 있음.성능 향상: 분산 시스템은 여러 대의 프로세서에 작업을 분할하여 병렬적으로 동시에 수행시키기 때문에, 많은 클라이언트가 동시에 작업을 요청해도 복수의 서버가 처리 할 수 있어서 성능 향상이 됨.신뢰성 향상: 서버 컴..