[컴퓨터과학 개론] 9강 - 컴퓨터 구조(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 불 대수와 논리 게이트(1) 컴퓨터 하드웨어의 기본 구성하드웨어 기본 구성요소는 크게 중앙처리장치, 기억장치, 입력장치, 출력장치로 구성이 되어있음.중앙처리장치: 제어장치와 연산장치 그리고 CPU 안에서 데이터나 연산의 저장을 임시적으로 저장 할 레지스터가 있으며, 연산장치와 레지스터를 합쳐서 처리장치로 보고 있음. 제어제어장치가 핵심이며, 연산장치는 계산기로써 제어장치가 명령어를 해석할 때 필요에 의해서만 호출이 되며 계산이 된다.CPU가 메모리, 입출력장치 등 다른 장치와 데이터를 주고받을 때는 시스템 버스를 통해서 이루어지게 된다.이때 제어장치(CU) 가 시스템 버스를 통해 하드웨어에 접근해 읽기/쓰기 신호를 전송하며 하드웨어를 제어할 수 있게 됨.(2) 시스템 버스중앙처리장치, 기억장치,..
[자료구조] 4강 - 큐
·
🎓방송통신대학교/🔢자료구조
✅ 1. 큐의 개념(1) 큐의 의미작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케줄을 의미한다.쉽게말해, 들어간 순서대로 하나씩 순서대로 처리하는 방식을 의미함.한쪽에서는 삽입연산만 발생 가능하고, 다른 한쪽에서는 삭제연산만 발생 가능한 양쪽이 모두 터진 관한쪽에서는 삽입연산: 서비스를 받기 위한 기다림다른 한쪽에서는 삭제연산: 서비스를 받는 중선입 선출(FIFO:First-In-First-Out) 또는 선착순 서브(FCFS:First-Come-First-Serve) 알고리즘과 함께 사용됨(2) 큐의 정의 ✅ 2. 큐의 추상 자료형(1) 큐의 객체 정의큐의 추상자료형큐 객체: 0개 이상의 원소를 갖는 유한 순서 리스트(2) 큐의 연산큐의 앞(front): 원소의 삭제 연산이 이루어지는 곳큐의 뒤..
[C] 자료형과 선행처리기
·
🛠️Backend/⚙️C
✅ 1. 자료형과 상수(1) 자료형의 개념[ 자료형(data type) 이란? ]컴퓨터에서 값의 표현 방법을 정의한 것쉽게말해, 데이터가 어떤 종류의 값이고, 메모리에서 어떻게 저장되고 처리 될지를 정의하는 규칙을 의미한다.값을 저장하거나 계산을 할 때 자료형을 엄격하게 구분하여 처리함(2) C 언어 자료형의 종류[ 기본형 (primitive types) ]언어에서 미리 정의되어 있는 가장 기본적인 데이터 저장 단위를 의미한다.즉, 복잡한 구조 없이 하나의 값만 저장할 수 있는 자료형이다.기본 자료형에는 정수형, 문자형, 실수형 세 가지가 존재한다.[ 열거형 (enumerated type) ]// 내부적으로 각 이름에는 0부터 시작하는 정수 값이 자동 할당 됨 ( Sunday = 0 ... )enum W..
[컴퓨터과학 개론] 8강 - 운영체제(2)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 프로세서 관리(1)[ 프로세스 : Process ]운영체제에 의해 메모리에 적재되고 CPU 실행 대상이 된 프로그램을 프로세스라고 한다.메모리에 올라가 있는 상태만으로도 OS 관점에서 이미 프로세스로 관리되고 있는 것이기 때문에 이것도 프로세스로 본다.CPU가 실제로 해당 메모리에 올라간 프로그램의 명령어를 가져와 실행시켜도 프로세스로 본다.프로세스는 주기억장치에 적재되고 중앙처리장치를 할당받아 실행될 명령어로 변경되어 다양한 작업을 수행할 수 있는 능동적 프로세스가 된다.정리하면 메모리에 올라간 상태와 CPU에서 메모리에 명령어를 가져와 실행 시키는 단계 또한 프로세스로 볼 수 있다는 의미[ 프로세서 : Processor ]처리하는 장치라는 뜻으로, 보통 명령어를 해석하고 실행하는 장치인 CP..
[자료구조] 3강 - 스택
·
🎓방송통신대학교/🔢자료구조
✅ 1. 스택의 개념(1) 스택의 정의객체와 그 객체가 저장되는 순서를 기억하는 방법에 관한 자료구조이다.가장 먼저 입력된 자료가 가장 나중에 출력되는 관계를 표현함쉽게말해, 스택은 후입선출로써 가장 나중에 넣은 객체가 가장 먼저 나온다.이러한 추상 자료형을 구현하려면 구현과정에서 저장되는 순서를 기억해줘야 한다는 의미이다.관계를 표현하기 위해서 연산이 필요하며, 객체에 대한 정의와 연산이 모여서 순서가 기억되는 스택의 추상 자료형이 완성됨쉽게말해, 자료 구조에서 데이터를 단순히 저장하는 것뿐만 아니라, 데이터를 다루는 연산이 중요하며 스택(abstract data type, ADT)은 **데이터(객체) + 연산(push, pop 등)**이 모여 만들어지고 스택은 후입선출(LIFO) 순서를 유지한다는 특..
[컴퓨터과학 개론] 7강 - 운영체제(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 운영체제의 개념(1) 운영체제의 개념컴퓨터 하드웨어와 응용 프로그램(프로그래머) 혹은 컴퓨터 사용자 사이의 인터페이스를 제공하는 시스템 소프트웨어이다.사용자 측면에서는 하드웨어에 대한 지식이 없어도 하드웨어에 접근하고 사용할 수 있는 하드웨어 사용의 편리성 제공시스템 측면(개발자 측면)에서는 제한적인 컴퓨터 자원을 효율적으로 사용하기 위한 컴퓨터 자원 관리의 효율성 제공(2) 컴퓨터 시스템과 운영체제와의 관계응용 프로그램이나 사용자 프로그램들은 하드웨어의 메모리, cpu 등의 자원 또는 기능을 이용하기 위해서 운영체제를 통해서 하드웨어에 접근을 할 수 있게 된다. 즉, 운영체제는 하드웨어를 조작 할 수 있게 도와주는 프로그램으로 볼 수 있다.(3) 운영체제 역할관리대상인 자원의 범주에 프로세서 ..
[자료구조] 2강 - 배열
·
🎓방송통신대학교/🔢자료구조
✅ 1. 배열의 정의일정한 차례나 간격에 따라 벌여 놓음차례(순서)와 관련된 기본적인 자료구조이다.원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 순서적으로 결정하는 특징이 있다.배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서와 같다.인덱스와 원소값( indext, value ) 의 쌍으로 이루어져 있음.(1) 배열의 의미인덱스로 표현되는 순서를 갖는 특정 배열이 존재하며, 그곳에는 순서대로 원소가 들어가게 된다.원소들이 모두 같은 자료형과 같은 크기의 기억 공간을 가지게 된다.배열의 인덱스값을 이용해서 원소값에 접근하기 때문에 직접 접근이 가능함[ 배열의 인덱스 값 ]컴퓨터의 내구구조나 메모리 주소와 무관하게 개발자에게 개념적으로 정의되는 추상화된 값이다.메모리 주소값은 실제 ..
[자료구조] 1강 - 자료구조란 무엇인가?
·
🎓방송통신대학교/🔢자료구조
✅ 1. 자료와 정보(1) 자료의 가공 및 결과P (process: 프로세스)D (data: 자료, 데이터)I (information: 정보)프로세스에 자료를 넣으면 정보를 얻게 된다.컴퓨터의 근본적인 목적은 자료를 처리하여 최종적으로 정보를 제공해주는 것이다.(2) 자료의 정의현실 세계에서 관찰이나 측정을 통해서 수집된 값이나 사실우리의 생활에서 실제로 만질 수 있거나 볼 수 있는 것(길이, 무게, 부피 등을 측정할 수 있는 대상)에 대해서 물리적인 단위로 표현하여 얻어낼 수 있는 내용쉽게말해, 자료는 더 이상 쪼개지지 않는 원시 데이터이다.(3) 정보의 정의자료가 가공이 되어서 유의미한 형태로 변환이 되어 제공이 되는 것을 정보라고 한다.쉽게말해, 자료가 2개 이상 서로 상호작용을 통해 얻게 되는 유..
[컴퓨터과학 개론] 1강 - 컴퓨터와 자료(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 컴퓨터(1) 컴퓨터란?[ 프로그램이 가능한 데이터 처리기 ]단순히 데이터 처리기 자체의 의미는 입력, 처리, 출력을 정의하는 용어라 계산기도 데이터 처리기로 볼 수 있음.명확한 분류를 위해 컴퓨터의 특징인 프로그램을 추가하면 컴퓨터가 무엇인지 명확해짐. ( 프로그램이 가능한 데이터 처리기 )[ 프로그램 이란? ]컴퓨터가 데이터를 어떻게 처리할 지를 알려주는 일련의 명령어 집합을 의미함.처리 가능한 작업의 유형과 연산의 집합을 결정쉽게말해, 하나의 컴퓨터에 여러 프로그램을 돌릴 수 있기 때문에 작업의 유형과 연산의 집합을 결정 할 수 있게됨.프로그래밍 과정의 결과물을 프로그램이라고 함. ( 알고리즘을 만들고 그것을 프로그래밍 언어로 구현 )[ 정리 ]컴퓨터는 특수 목적의 한 종류의 작업을 처리하는..
[C] C 언어의 개요
·
🛠️Backend/⚙️C
✅ 1. C 언어의 등장과 발전(1) 컴퓨터 프로그래밍과 프로그래밍 언어[ 프로그래밍이란? ]컴퓨터가 작업을 수행하기 위해 실행해야 하는 일련의 명령을 작성하는 것[ 프로그래밍 언어 ]프로그램을 작성하기 위해 사용되는 언어(2) C 언어의 탄생1972년 Bell 연구소의 Denis Ritchie가 시스템 프로그래밍을 위한 목적으로 개발한 프로그래밍 언어이다.컴퓨터 기종간 호환성이 높은 고급 프로그래밍 언어하드웨어 수준의 제어와 빠른 실행이 가능한 프로그램을 만들 수 있는 언어PDP-7 컴퓨터에서 어셈블리어로 구현한 Unix 커널을 C언어로 재작성 즉, C로 바꿔서 쉽게 보이게함.다양한 컴퓨터에 Unix 운영체제를 이식할 수 있게 됨 ( 현대의 운영체제들은 대부분 Unix 기반으로 만들어져 있음. )(3)..