전공과목 정리 91

[컴퓨터과학의이해🧮] 운영체제 (3장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다.)1. 운영체제의 발전 * 운영체제(operating system) : 컴퓨터의 전반적인 운영을 제어하는 소프트웨어 ex) 마이크로소프트사의 윈도우, 유닉스, 리눅스 ** 운영체제는 사용자가 파일을 저장하거나 불러올 수 있는 수단을 제공하며, 사용자가 프로그램 실행을 요청할 때 사용할 수 있는 인터페이스를 제공하고, 요청된 프로그램을 실행하기 위한 환경을 제공한다.  - 운영체제는 프로그램 준비 작업을 쉽게만들고 작업들 사이의 전환을 단순화시키기 위한 시스템으로 출발하였다. - 초창기 운영체제에서 개발된 중요한 기능 중 하나는 사람들이 컴퓨터실을 드나들 필요가 없도록 사용자와 장비를 분리시킨 것이다.  - ..

[컴퓨터과학의이해🧮] 데이터 조작 (2장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 컴퓨터 구조- 중앙처리장치 (central processing unit ; CPU) : 데이터 조작을 제어하는 컴퓨터 안의 회로, 프로세서라 불리기도 한다. - 마이크로프로세서(microprocessor)  : 크기가 매우 작은 프로세서 1) CPU 기초- 구성 :  연산장치, 제어장치, 레지스터 장치연산장치 (arithmeitc/logic unit) : 데이터에 대한 덧셈이나 뺄셈 연산을 수행하는 회로를 포함한다. 제어장치 (control unit)  :컴퓨터의 동작을 조정하는 회로레지스터 장치 (register unit) : *레지스터(register)라 불리는 데이터 저장용 셀들을 갖고 있다...

[컴퓨터과학의이해🧮] 데이터의 저장 (1장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 비트의 저장: 컴퓨터 안에서 정보는 0과 1들의 패턴으로 표현된다. 이러한 숫자를 비트라고 한다.  1) 부울 연산AND 연산 :  둘 다 참일 때만 참OR 연산 : 둘 중 적어도 하나가 참이면 참XOR 연산 : 두 입력값이 서로 다를 경우 1을 출력NOT 연산 : 입력의 반대를 출력 2) 게이트와 플립플롭게이트 : 부울 연산의 입력 값들이 주어질 때 연산 결과를 출력하는 장치 ( == 논리 게이트)- 오늘날의 컴퓨터 안에 사용되는 게이트는 트랜지스터(전압 수준에 따라 0과 1을 나타냄)로 만들어져있다. 플립플롭 : 컴퓨터 메모리의 기본 단위- 게이트들을 조합하여 만든 하드웨어 부품- 0 또는 1을..

[컴퓨터과학의이해🧮] 서론 (0장)

교재 : 컴퓨터 과학 총론 (13th Edition)(배운 내용을 책으로 복습하며 작성한 글입니다. )1. 알고리즘의 역할1) 알고리즘알고리즘 : 작업을 수행하는 방법을 정의하는 단계들의 집합프로그램 : 알고리즘의 표현방식 중 하나프로그래밍 : 프로그램을 컴퓨터가 처리할 수 있는 형식으로 인코딩하여 컴퓨터 안에 저장시키는 과정 (==코딩) 2) 소프트웨어와 하드웨어소프트웨어 : 프로그램과 이들이 나타내는 알고리즘하드웨어 : 컴퓨터 장치 자체 3) 알고리즘에 관한 연구- 수학의 한 분야에서 시작함- 알고리즘에대한 초창기 연구 예시ex) 나눗셈법 알고리즘, *유클리드의 호제법 알고리즘 * 유클리드의 호제법 알고리즘두 개의 자연수가 입력되는 것을 가정한다. ① 두 입력값 중 큰 값을 M, 작은 값을N에 배정한..

[IT개론🗃️] 보안과 암호화

출처  : 소프트웨어 세상을 여는 컴퓨터 과학 1. 보안과 암호화의 개요1) 암호화 기술(1)  암호화 기술의 등장배경- 사이버 범죄(해킹, 바이러스), 개인정보 유출 문제 증가- 신원 확인, 정보 비밀성 유지, 무결성 유지 등의 필요성 대두 (2) DES(data encryption standard)- 1970년대 민간 분야에 사용하기 위해 암호화 표준을 마련- 현대 암호학의 본격적인 출발- 대칭키(비밀키) 방식 (3) 암호화 기술의 개념- 전송 데이터를 암호화하여 전달하는 기술암호화(encryption) : 평문(plaintext)을 암호문(ciphertext)으로 바꾸는 과정복호화(decryption) : 암호문을 평문으로 바꾸는 과정  2. 초기 암호화 방식1) 시저 암호(1) 시저 암호의 원리-..

[IT개론🗃️] 네트워크와 인터넷

출처 : 소프트웨어 세상을 여는 컴퓨터 과학, 정보응용원리와 함꼐하는 컴퓨터 개론1. 네트워크와 인터넷의 개요1) 네트워크의 개념(1) 네트워크- 전송 매체로 연결된 장치들의 모임- 장치는 일반 컴퓨터, 프린터나 스캐너 같은 주변 장치, 서버 같은 대형 컴퓨터를 포함하여 데이터를 주고 받을 수 있는 모든 장치를 지칭 2) 네트워크의 분류(1) LAN(Local Area Network)- 비교적 가까운 거리에 위치한 소수의 장치를 연갈한 네트워크- 일반적으로 하나의 사무실, 하나 혹은 몇 개의 인접한 건물을 연결- 연결하는 형식, 즉 토폴로지(topology)에 따라 링형, 버스형, 스타형 등으로 분류됨- 링형장치들을 원형으로 연결데이터 전송을 위해 토큰(token)을 사용한다.- 버스형하나의 통신 회선에..

[IT개론🗃️] 알고리즘

출처  : 소프트웨어 세상을 여는 컴퓨터과학1. 알고리즘의 개요1) 알고리즘의 개념(1) 알고리즘(algorithm)- 어떤 문제를 해결하기 위해 구성된 일련의 절차 (2) 알고리즘의 조건- 0개 이상의 입력, 1개 이상의 출력- 반드시 종료되어야 함- 모든 명령이 실행 가능해야 함.   2. 정렬 알고리즘1) 선택 정렬(1) 선택 정렬(selection sort)- 정렬되지 않은 데이터 중에서 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식 (2) 선택 정렬의 동작과정 (3) 파이썬으로 구현한 선택 정렬def selection(ds): for a in range(0, len(ds)-1): min_ind = a for b in range(a+1, len(ds)): ..

[IT개론🗃️] 데이터베이스

출처 : 소프트웨어 세상을 여는 컴퓨터 과학 1. 데이터베이스의 개요1) 데이터베이스의 개념(1) 파일 시스템- 각각의 응용 프로그램이 개별 파일을 이용하는 시스템- 중복된 정보가 많고, 이 중 하나가 수정되면 관련된 모든 파일이 모두 수정되어야 한다. - 이러한 문제를 해결하기 위해 데이테베이스 사용 (2) 데이터베이스(DB ; DataBase)- 어느 한 조직이 여러 응용 프로그램이 공유하는 관련 데이터의 모임 2) 데이터베이스 관리 시스템(1) 데이터베이스 관리 시스템 (DBMS ; DataBase Management System)- 여러 응용 프로그램이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어- 응용 프로그램은 데이터베이스를 직접 조작하지 않음 (2) 데이터베이스 관리 시..

[IT개론🗃️] 자료구조

출처 : 소프트웨어 세상을 여는 컴퓨터과학1. 자료구조의 개요1) 자료구조의 개념(1) 데이터 구조 표현- 대부분의 프로그램은 데이터를 처리해 유용한 정보를 출력한다- 데이터를 어떤 구조로 표현하느냐에 따라 성능이 달라짐 (2) 자료구조 - 프로그램에서 쉽게 이용할 수 있도록 구성된 데이터 간의 논리적인 관계- 대표적인 자료구조ex) 배열, 연결 리스트, 스택, 큐, 그래프, 트리 2. 배열과 연결 리스트1) 배열(1) 배열- 같은 자료형의 데이터를 순서대로 나열한 구조- 인덱스는 첫 번째로부터 떨어진 상대적인 위치를 나타낸다. - 배열에서 인덱스의 시작 숫자는 보통 0 (2) 1차원 배열- 인덱스를 하나만 사용하는 배열- 1차원 배열에서 임의의 요소 i가 저장된 주소 : base + (i-a)*size..

[IT개론🗃️] 프로그래밍 언어

출처 : 소프트웨어 세상을 여는 컴퓨터과학 1. 프로그래밍언어의 개요1) 프로그래밍의 이해(1) 주요 용어- 프로그램 : 컴퓨터로 문제를 해결하기 위해 작성하는 명령어들의 모임- 프로그래밍 : 프로그램을 작성하는 과정- 프로그래머 : 프로램을 작성하는 사람 또는 직업 (2) 프로그래밍 언어 : 프로그램을 작성할 때 사용하는 언어 (3) 고급 언어와 저급 언어- 저급 언어 : 하드웨어 지향의 기계중심 언어ex) 기계어(machine language), 어셈블리어(assembly language)- 고급 언어 : 사람이 이해하기 쉬운 일상 언어와 기호를 사용한 인간 중심의 언어ex) C, C++, 자바, 파이썬  (4) 프로그래밍 언어의 종류- 포트란(FORTRAN)엔지니어, 수학, 과학 등을 위한 수식 계..