Linux 6

[ Embedded ] 20. 임베디드 시스템의 개요와 이해

4. 임베디드 시스템의 이해 - 임베디드 시스템 개요 1. 임베디드 시스템의 의미 임베디드 시스템은 특정 목적을 지닌 시스템이다. PC는 특정 목적이 아닌 범용 목적을 갖는 시스템이다. 예를 들어 PC는 프로그램 개발뿐 아니라 그래픽 작업도 할 수 있고, 게임, 멀티미디어 기능 등 범용의 기능을 제공한다. 하지만 임베디드 시스템인 핸드폰은 통신기능에 특화하여 개발되었고, 게임기도 게임기능에 특화하여 개발된 시스템이다. 임베디드 시스템의 구성은 정해진 기능에 필요한 하드웨어와 소프트웨어로 이루어진다. 2. 임베디드 시스템의 예 가전제품, 유비쿼터스 시스템, 휴대용 정보기기, 의료기기, 공장 자동화 시스템, 비행기, 우주선, 자동차내 정보기기 3. 임베디드 시스템의 특징 기능이 제한적이다 특정 기능에 특화된..

[ Linux Kernel ] 04. 시스템콜(System Call)

6. 시스템 콜(System Call) 시스템 콜(System Call)은 것은 정확히 언제 일어나는 것일까? 우리가 I/O관련 function을 하려고 하면 그때 바로 일어나는 것일까? 이것을 알아보기 위해 먼저 밑에 그림을 보자. 리눅스 명령어는 옆에 붙은 숫자에 따라 커맨드(1), 시스템 콜(2), 라이브러리 함수(3)*로 구분된다.* 위 그림의 좌측을 보면 유저 영역 안에 내가(유저)가 작성한 코드 my code가 있다. 이 코드에서 printf()를 호출(call) 하는데 이 printf() 코드는 내가 작성한 게 아니라 library function이다. C언어를 배울 때 #include 를 하는 이유를 생각해보면 금방 이해할 것이다. 그럼 이제 printf()가 내가 작성한 코드 my cod..

[ Linux Kernel ] 02. printf("Hello Wolrd!")의 진실

3. printf("Hello World!")의 진실 그러면 이제 우리가 한 가지 궁금한 점이 있다. 우리는 프로그램을 만들 때 소스코드에 입출력과 관련된 함수를 작성한다. printf()를 사용하거나 get()등 디스크에 접근해서 값을 읽어오거나 화면에 문자를 출력하는 함수를 사용한다. 우리가 작성한 코드와 프로그램은 유저모드에서 아무런 제약없이 사용할 수 있었는데, 왜 I/O가 금지되었다고 말을 하는 것일까? 정답은 “소스코드에서만 그렇게 보인다”이다. 소스코드에서는 개발자가 입출력을 관리하는 것처럼 보이지만, 소스코드를 컴파일 한 후에 바이너리 파일을 열어보면 I/O와 관련된 instruction은 전혀 존재하지 않는다. 위에서 언급했듯이 I/O를 하고 싶으면 커널이 가지고 있는 function을 ..

[ Linux Kernel ] 01. 리눅스 vs 윈도우

2. 운영체제 비교, 리눅스 vs 윈도우 2.1 자원의 소모에 대하여 운영체제에는 종류가 굉장히 많지만 가장 대표적이라고 일컬어지는 리눅스와 윈도우를 한 번 비교해보려 한다. 윈도우는 개인 컴퓨터(Personal Computer)에 사용되는 운영체제다. 개인 컴퓨터에 쓰인다는 것은 나홀로 사용자라는 것, 즉 싱글유저 시스템이라는 의미다. 리눅스가 멀티유저 시스템으로 만들어진 것과는 상반된다. 싱글유저 시스템일 때는 보안문제에 대해서 신경을 별로 안 써도 되지만, 멀티유저 시스템일 때는 보안에 특히 신경을 써야 한다. 이유는 간단하다. 멀티유저 시스템은 그 안에 내 파일 뿐만 아니라 다른 사람의 파일 또한 존재하기 때문이다. 내가 다른 사람의 파일을 멋대로 읽고 쓸 수 있다면? 즉 삭제하고 변경할 수 있다..

[ Linux Kernel ] 00. 리눅스커널과 운영체제

LINUX 커널 리눅스 커널을 한 사람이 전부 아는 것은 불가능하다. 커널 관련 두터운원서를 75~80권 정도는 읽어야 "아, 한 번씩은 훑어봤다"라고 말할 수 있을 정도다. IBM같은 대형회사에서도 리눅스를 다루는 사람만 250명 정도 있다고 한다. 250명의 사람이 방대한 커널에서 각자 분야를 맡아서 일을 처리한다. 따라서 "모든걸 다 알아야지~!"라는 마음가짐 보다는 "커널과 운영체제가 어떤식으로 동작하는지 개략적으로 이해해보자"라는 수준의 마음가짐으로 임할것이다. 1. 운영체제란? 운영체제(Operating System)이란 하드웨어 자원들(cpu, memory, disk, tty)을 관리하고 프로그램들을 지원(support)해주는 것이다. (아래 그림을 살펴보면 Operating System의 ..

[ Bigdata ] 01. 하둡의 HDFS와 MapReduce

20-02-17 월 빅데이터는 무엇인가? volume + velocity + variety + veracity + value = "5V" 심야버스노선도 데이터수집 - 데이터저장 - 데이터처리 - 데이터분석 - 분석결과활용 flume, sqoop, R, MongoDB namenode(hadoop01)와 secondarynamenode(hadoop02)는 달라야한다. hadoop01(keygen 수행) 비공개키, 나머지 02,03,04는 공개키 따라서 01머신에서만 나머지 머신으로 접속 가능하다. 인코딩 버전확인하기 su - echo $LANG input폴더에 NOTICE.txt 복사 ( hadoop/hadoop01 로 실행 ) /home/hadoop/hadoop-1.2.1/bin/hadoop fs - co..

IT/[ Bigdata ] 2020.08.10