📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 전산학개론 (9)

전산학개론 2019. 6. 6. 14:59

[용어정리] 리터럴(literal)이란? 상수와의 차이점.

리터럴(literal)이란? 상수와의 차이점학생시절 책을 보다가 리터럴(Literal)이라는 용어가 나와 궁금했던적이 있습니다. 대충 인터넷에는 "변하지 않는 값 자체"라고 나와있었고 사전상 의미도 그렇습니다. 리터럴은 객체리터럴, 정수 리터럴 등 타입별로 리터럴이라는 용어를 붙일 수 있습니다. 리터럴의 예를 들다면 다음과 같습니다.자바스크립트에서 객체 리터럴{ age : 19, name : 'kim'}정수 또는 실수 리터럴2311113.2222자바스크립트에서 문자열 리터럴(객체처럼 보이지만 객체처럼 보이는 문자열 리터럴입니다)"{ age : 19, name : 'kim' }"스칼라의 xml 리터럴(스칼라에서는 xml 타입이 있어 xml 리터럴을 지원한다고 하네요)kim자바스크립트에서 객체 ..

전산학개론 2018. 7. 8. 15:56

[운영체제] File System이란? 파일시스템 및 파일(FIle)에 대한 설명

File System(파일 시스템)파일(File)은 운영체제가 데이터를 저장하는 단위이며, 넓은 범위에서 보자면 파일은 단순한 데이터입니다. 파일의 종류는 텍스트파일, 동영상파일, 실행파일, 이미지파일 등 다양한 종류의 파일이 있지만 엄밀히 따지자면 이러한 파일들은 단순히 0과 1로 이루어진 이진 바이너리 데이터 덩어리일 뿐입니다.OS(Operating System, 운영체제)는 파일 시스템 이라는 체계를 통해 이러한 파일(데이터)를 관리합니다. 파일 시스템(File System)이란, 방금 말했듯 파일을 관리하는 체계로 파일의 구조(예:트리구조), 파일 저장 방법, 정렬 방법, 경로 구조, 파일의 최대 크기, 파일 삭제 및 생성 알고리즘 같은 파일과 관련된 모든 관리 체계를 말하는 것입니다.운영체제마다..

전산학개론 2018. 5. 24. 03:30

[운영체제] 유저랜드(User Land)란?

유저랜드란?운영체제(Operating System) 에서는 메모리 공간을 커널공간과 사용자(User) 공간으로 구분합니다. 커널 공간은 커널과 커널 확장 기능 그리고 장치 드라이버를 실행하기 위한 예비 공간입니다. 그와 반대로 유저 공간은 사용자 모드 응용 프로그램들이 동작하는 메모리 영역입니다. 유저랜드는 이 사용자 공간에서 실행되는 프로그램 및 라이브러리를 가리킵니다. 리눅스의 경우 커널만으로는 부팅이 불가능하기 때문에 부팅시에 필요한 프로그램 및 라이브러리들이 필요한데 이러한 프로그램 및 라이브러리를 뜻하기도 합니다. 추가적으로 유저랜드에는 각 리눅스 배포판이 사용하는 패키징 시스템을 포함합니다.참고https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9A%A9%EC%9E%9..

전산학개론 2017. 12. 27. 08:00

[개념정리] 버퍼(Buffer)란? 버퍼 개념

버퍼(Buffer)란버퍼란 임시 저장 공간을 의미 합니다. 임시 저장 공간이라고 해서 쌩뚱맞게 보일 수 있지만 정확히 말하면 A와 B가 서로 입출력을 수행하는데에 있어서 속도차이를 극복하기 위해 사용하는 임시 저장 공간을 의미 합니다.동영상 스트리밍 서비스에서의 버퍼이 버퍼라는 개념은 굉장히 다양하게 사용되는데 가장 쉽게 접할 수 있는 곳은 유튜브같은 동영상 스트리밍 사이트입니다.스트리밍 사이트에서 실시간으로 동영상을 보게 되면 보통 동영상이 진행되는 부분(빨간색) 과 서버로부터 동영상을 내려받은 부분(밝은 회색) 그리고 앞으로 다운로드가 남은 부분을 본 적이 있을 것 입니다.여기서 저 밝은 회색부분이 버퍼라고 볼 수 있습니다.동영상 데이터가 내려 받아지는 속도에 비해 우리가 동영상을 1초씩 진행되며 보..

전산학개론 2017. 11. 2. 22:57

[개념정리] 패리티 비트(Parity Bit)란?

패리티 비트(Parity Bit) 오류 검출패리티 비트는 저장된 데이터의 1bit 오류를 검출하는 코드 방식입니다.패리티 비트에는 홀수(odd, 기수)방식, 짝수(even, 우수)방식이 있습니다.홀수 방식의 경우는 데이터의 합이 홀수가 되게 삽입하는 비트가 패리티비트가 되며짝수 방식의 경우에는 데이터의 합이 짝수가 되게 비트를 삽입합니다.컴퓨터의 하드디스크에 데이터는 실질적으로 0과 1 즉 이진수로 변환되어 저장됩니다.우리가 평소에 보는 문서파일들이나 게임 프로그램도 내부적으로는 컴퓨터가 인식하는것은 0과 1로 이루어진 데이터들입니다.데이터는 기억장치에 특정한 크기단위로 저장되어는데 데이터를 저장 또는 읽어올 때에는 주소를 통해 접근하게 됩니다.간단하게 예를 들어보겠습니다.120이란 값을 8비트의 공간에..

전산학개론 2017. 11. 2. 22:52

[개념정리] API(Application Programming Interface) 란??

API란?컴퓨터공학을 전공하다 보면 API라는 말을 많이 접하게 됩니다.API란 무엇일까요?먼저 API는 Application Programming Interface 의 약자입니다.한국말로 풀이하면 어플리케이션을 프로그래밍할 때 쓰이는 인터페이스(Interface) 라는 뜻이지요.어플리케이션과 프로그래밍이라는 말은 아실겁니다.그럼 어플리케이션을 개발할 때 쓰이는 Interface란 무엇일까요?먼저 Interface라는 단어의 뜻을 아셔야 합니다.Interface = inter + face 입니다.inter는 '~ 사이의', '상호간의' 라는 뜻을 가지고 있습니다.inter가 들어간 단어들을 볼까요?interstellar(항성간의) = inter + stellar(별의)international(국제적인) ..

전산학개론 2017. 10. 29. 22:41

프로그램, 프로세스, 프로세서 차이 [2]

프로세스프로세스란 실행중인 프로그램 입니다.실행중이라는 의미는 간단히 말해서 보조기억장치에 저장되어 있던 프로그램이 주기억장치인 메모리 (RAM)에 적재(Load) 되어있고 프로세서가 실행하고 있거나 실행 예정에 있는 상태를 의미합니다.C드라이브 같은 보조기억장치에 기록 되어 있는 프로그램은 아무일도 하지않는 단순히 용량만 차지하고 있는 수동적인 녀석입니다.프로그램은 명령어 덩어리라고 했었죠?예를들어 println("안녕"); 이라든가 int a = 3 + 5; 또는 롤 프로그램에서의 자이라.moveToXY(300,200); 처럼 말이죠.그런데 이런 명령어를 실제로 연산해주는 것은 누구일까요??바로 CPU(중앙처리장치, Central Processing Unit) 라고 하는 녀석이죠.CPU가 명령어들을 ..

전산학개론 2017. 10. 29. 22:36

프로그램, 프로세스, 프로세서 차이 [1]

프로그램(Program)세상에는 수많은 프로그램이 있습니다.저의 컴퓨터에만 해도 여러가지 프로그램들이 있죠.그럼 프로그램이란 무엇인지 알아볼까요?먼저 프로그램은 프로그램은 어떤 일을 처리하기 위한 명령어들과 기타 자원들이 보조기억장치에 뭉쳐 저장되어 있는 수동적인 단위를 의미합니다.쉬운 예로 다음은 우리가 알고있는 라이엇 게임즈의 League of Legends 즉 롤이라는 게임 프로그램입니다.당연히 이 게임프로그램도 프로그래머들이 특정 언어로 작성된 코드와 그래픽 디자이너가 만든 캐릭터 이미지, 사운드파일 등 여러가지 자원으로 뭉쳐 만들어져 있을것입니다.여기서 중요한 점은 이런 프로그램이라고 하는 덩어리는 하드디스크나, SSD 등 즉 보조기억장치에 저장되어있다는 것입니다.수동적이다 라고 한 이유는 이 ..

전산학개론 2017. 10. 29. 22:29

운영체제의 목적

운영체제의 목적운영체제는 사용자 대신 하드웨어와 데이터 등의 자원을 관리해주고 시스템의 성능을 높여주는 것이 목적입니다.운영체제의 목적은 네 가지로 나누었을때는 다음과 같습니다.처리 능력(Throughput) 향상 : 어떤 일정한 단위 시간 내에 처리할 수 있는 일의 양. 같은 시간이면 처리할 수 있는 일의 양이 많은 것이 좋겠죠?반환 시간(Turn-around time) 최소화 : 하나의 작업을 시작한 시간에서부터 결과를 얻을 때까지 걸린 시간. 게임을 실행하라는 작업을 내렸을때 빨리 실행이 완료되는 것이 좋을 것입니다.사용 가능도(Availability) 향상 : 시스템을 이용하려 할 때 얼마나 빨리 사용할 수 있는가를 의미합니다. 게임을 하다가 노래를 들으려는데 운영체제가 자원 관리를 못해서 메모리..