💻Computer Science 49

[C][Ch.7] C언어 기초6

C언어 기초 6 구조체 기본 구조체(structure type) : 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입. 즉 기본 타입으로만으로는 나타낼 수 없는 사용자가 원하는 데이터 타입을 새롭게 정의하는 것입니다. 배열이 같은 타입의 변수 집합이라면, 구조체는 다양한 타입의 병수 집합을 하나의 타입으로 나타낸 것입니다. 구조체를 구성하는 변수를 멤버 변수 또는 멤버라고 부릅니다. 구조체의 정의는 아래와 같이 합니다. struct name { int name1; int name2; char name3; float name4; }; //이렇게 정의 struct struct_name variable_name; //다음과 같이 사용합니다. typedef 키워드 typeof는 이미..

[C][Ch.6] C언어 기초5

C언어 기초 5 입출력 기본적인 입출력 C언어에서는 기억장치에 저장되는 파일을 다루는 것처럼 입출력 장치를 다룹니다. 즉 키보드, 마우스 같은 콘솔 장치도 파일처럼 처리합니다. stdin 표준 스트림을 통해서 입력 장치를 다루며, stdout 표준 스트림을 통해서 출력 장치를 다룹니다. 스트림 C 언어는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림이라는 것을 통해 다룹니다. 스트림이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미합니다. 이러한 스트림은 "stdin", "stdout", "stderr" 등이 기본으로 제공되고 있습니다. EOF C 언어에서는 파일의 끝에 도달했을 때 특별한 값을 반환합니다. 그 값을 EOF (End Of File)이라고 하며, 실제로 이 값은 -1을 ..

[C][Ch.5] C언어 기초4

C언어 기초4 포인터와 배열 배열의 이름은 값을 변경할 수 없는 상수 포인터입니다. 즉 배열의 이름은 배열의 주소값을 저장하고 있는 포인터입니다. 따라서 아래와 같은 응용이 가능합니다. int arr[3] = {10, 20, 30, 40, 50}; printf("%d %d %d %d %d\n", arr[0], arr[1], arr[2]); printf("%d %d %d %d %d\n", *(arr +0), *(arr + 1), *(arr + 2), *(arr + 3), *(arr + 4)); // 위의 두 printf문은 같은 결과를 출력하게 됩니다. 즉 배열의 이름을 활용한 주솟값 연산이 가능하다는 것입니다. 포인터 배열 포인터 배열은 배열의 요소로 포인터 변수를 가진다. int arr_len; int..

[C][Ch.4] C언어 기초3

C언어 기초3 배열 배열이란 ? 배열은 같은 타입의 변수들로 이루어진 유합 집합이다. 배열을 구성하는 각각의 값을 배열 요소 (element)라고 하며, 이러한 요소의 위치를 가르키는 숫자를 인덱스(index)라고 합니다. C언어에서는 인덱스는 0부터 시작합니다. 이러한 배열은 1차원, 2차원, 다차원으로 활용이 가능합니다. //1차원 배열 선언 int num[3]; //1차원 배열 초기화 num[0] = 0; num[1] = 1; num[2] = 2; // 선언과 동시에 초기화 int num[3] = {1,2,3}; // 다차원 배열 int num[2][2] = { {1,2}, {3,4} }; 포인터 주소값이란 ? 데이터의 주소란 해당 데이터가 저장된 메모리의 시작 주소를 의미합니다. C언어에서는 1바..

[C][Ch.3] C언어 기초2

C 언어 기초2 연산자 연산자(Operator)란 프로그램의 산술식이나 연산식을 표현하고 처리하기 위해 제공되는 다양한 기호를 의미한다. 산술 연산자 "+" : 더하기 "-" : 빼기 "*" : 곱하기 "/" : 나누기 연산 "%" : 나머지 연산 대입 연산자 "=" : 왼쪽에 오른쪽을 대입함 "+=" : 더한 후 대입 "-=" : 뺀 후 대입 "*=" : 곱한 후 대입 "/=" : 나눈 후 대입 "%=" : 나머지 연산 후 대입 증감 연산자 (x는 변수명) "++x" : 1 증가 후 다음 연산 수행 "x++" : 연산 수행 후 1 증가 "--x" : 1 감소 후 다음 연산 수행 "++x" : 연산 수행 후 1 감소 비교 연산자 "==" : 같으면 1 반환 "!=" : 다르면 1 반환 ">" : 왼쪽이 ..

[C][Ch.2] C언어 기초

C언어 기초 C 프로그램의 구조 C언어는 주로 아래와 같은 구조를 가진다. #include 문 #define 문 int func(int a) { // 함수 return 1; } int main(void) { // statement return 0; } 간단한 예제를 들자면 아래와 같다. #include #define TEXT "This is Simple Example" int main() { printf(TEXT)l return 0; } C 프로그램의 특징 C언어는 다음과 같은 특징을 가지고 있습니다. C 프로그램의 기본 단위는 함수이다. 함수 내의 각 명령문은 세미콜론(;)--> 구분자로 끝나야 한다. C 언어는 대소문자를 구분하여 사용해야 한다. 형식을 지키면 자유롭게 프로그래밍 가능하다. ( Pyt..

[C][Ch.1] C언어란 무엇인가 ?

C언어 C언어 개요 C 언어는 현재 사용되고 있는 모든 시스템에서 사용할 수 있는 범용성을 가진 프로그래밍 언어입니다. 주요 운영체제의 커널의 대부분은 C언어를 통해서 구현되어 있으며 시스템 프로그래밍, 모빌리티, 임베디드에 전체적으로 사용되고 있는 언어입니다. 이렇게 C언어가 사용되는 것은 그 특징에 기반한다. C언어는 절차 지향 프로그래밍 언어 이다. C언어의 특징 장점 C언어로 작성된 프로그램은 다양한 하드웨어로의 이식성이 좋습니다. C언어는 절차 지향 프로그래밍 언어로, 코드가 복잡하지 않아 상대적으로 유지보수가 쉽습니다. C언어는 저급 언어의 특징을 가지고 있으므로, 어셈블리어 수준으로 하드웨어를 제어할 수 있습니다. C언어는 코드가 간결하여, 완성된 프로그램의 크기가 작고 실행 속도가 빠릅니다..

[운영체제] 11. 디스크 관리 (Disk Management)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. Disk Management and Scheduling Disk Structure logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Secotr Logical Block이 물리적인 디스크에 매핑된 위치 Secotr 0은 최외각 실린더의 첫 트랙에 있는 첫 번째 섹터이다. Disk Scheduling Access Time의 구성 Seek Time 헤드를 해당 실린더로 움직이는데 걸리는 시간 Rotational Latency 헤드가 원하는 섹터에 도달하기까지 걸리는 회전지연시간 Transfer Time 실제 데이터의 전송 시간 Disk Bandw..

[운영체제] 10. 파일 시스템 (File System)

본 게시물은 KOCW의 반효경 교수님의 강의를 기반으로 정리한 것입니다. File Systems FIle and File Systems File A named Collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌 Operation : Create, Read, Write, Reposition (lseek), Delete, Open, Close File Attribute (Metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한 (읽기/쓰기/실행), 시간(생성/변경/사용), 소유자 등 File Sy..

[네트워크][HTTP] 2. URI와 웹 브라우저 요청 흐름

본 게시물은 김영한님의 HTTP 웹 기본 지식 강의를 듣고 정리, 요약한 것입니다. 더 자세히 알고 싶으시면 아래의 링크의 강의를 추천드립니다. https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC# URI와 웹 브라우저 요청 흐름 URI (Uniform Resource Identifier) URI, URL, URN 이란 ? URI는 로케이터(Locator), 이름(Name) 또는 둘다 추가로 분류될 수 있다. 즉 URL과 URN은 URI에 포함되는 개념이고, 이는 자원을 식별하기 위한 방법을 의미한다. 그렇다면 URI라는 단어는 어떤 뜻을 가지고 있을까 ? Uniform : 리소스를 식별하기 위한 통일된 방..