sudo apt-get update apt-get은 인덱스를 갖고 있으며, 해당 위치는 /etc/apt/sources.list에 있습니다. 이곳에서 사용할 패키지의 정보를 얻습니다. sudo apt-get install openjdk-8-jdk 를 입력하여 jdk를 설치합니다. 설치가 되었으면 java -version을 커맨드창에 입력하여 버전을 확인합니다. 마찬가지로 파이썬3를 설치하고 버전을 확인합니다. 이제 본격적으로 하둡을 설치해봅시다. wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz 를 입력해주세요. ls를 입력하여 다운받은 hadoop-3.3.4.tar.gz가 있는지 확인하고 tar -zxf를 이용하여 압..
💻운영체제의 정의 운영체제의 정의는 사용자와 컴퓨터 하드웨어 사이에 중계역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어이다. 운영체제의 자원 하드웨어 자원 - CPU, 캐시나 메모리, 키보드, 마우스, 디스플레이, 하드 디스크, 프린터 등 소프트웨어 자원 - 응용프로그램들 데이터 자원 - 파일, 데이터베이스 운영체제는 자원을 독점한다. 많은 사용자들이 자기 자신이 직접 하드디스크에 파일을 기록한다고 생각하지만, 사실 사용자들은 하드디스크에 파일을 쓸 빈곳이 어디에 있는지 조차 알지도 못한다. 관리는 순전히 운영체제의 몫이다. 운영체제만이 자원을 독점적으로 관리하는 이유는 사용자들과 응용프로그램으로 부터 자원에 대한 훼손을 막고 운영체제가 사용자들과 응용프로그램간에 자원을 효과적으로 ..
import java.util.Random; import java.util.Scanner; public class baseball { private int loc3; // 세 번째 자리 수 private int loc2; // 두 번째 자리 수 private int loc1; // 첫 번째 자리 수 private int Iloc3; // 세 번째 자리 수 private int Iloc2; // 두 번째 자리 수 private int Iloc1; // 첫 번째 자리 수 private int Strike; private int Ball; private int Out; private int a; private int b; private int tryCount; private boolean flag; priva..
프로세스 제어 블록(PCB)는 프로세스 관리의 핵심 데이터이다. 프로세스 실행, 스줄링, 프로세스와 관련된 메모리 관리, 파일 입출력 등 많은 상황에서 커널에 의해 액세스되고 갱신된다. 운영체제는 시스템 전체에 하나의 프로세스 테이블을 만들고 프로세스 테이블에 모든 프로세스의 정보를 관리한다. 커널은 프로세스를 만들 때마다 프로세스 제어 블록을 생성하여 프로세스 테이블의 비어 있는 항목에 PID(프로세스 번호)와 함께 PCB를 연결하다. 프로세스 테이블과 프로세스 제어 블록(PCB)는 커널 공간에서 생성되며, 커널만이 액세스가 가능하다. 프로세스 번호(PID) 프로세스를 식별하기 위한 고유한 번호로 0과 양의 정수로만 사용된다. 커널은 프로세스를 생성할 때 프로세스 번호 PID를 할당한다. 부모 프로세스..
CPU는 사용자 모드와 커널 모드, 둘 중 하나로 설정된다. 응용프로그램 코드는 사용자 모드에서 실행되며, 커널 코드는 커널 모드에서 실행된다. 이 말은 운영체제가 응용프로그램을 실행시킬 때는 사용자 모드로 설정되고, 응용프로그램이 커널 함수를 실행시키기 위해 시스템 호출을 하면 그 때 커널모드로 전환되며 커널 코드가 실행된다. 사용자 모드인지 커널 모드인지 구별하는 방법은 CPU에 내장되어 있는 모드 레지스터를 통해서 알 수 있다. 사용자 모드 사용자 모드일 때, 응용프로그램은 메모리 안에 존재하는 사용자 영역에 액세스 할 수 있으며 커널 영역에 접근 시 시스템 예외가 발생하고 응용프로그램을 종료시킨다. 커널 모드 커널 모드일 때, CPU는 모든 메모리 공간을 액세스할 수 있으며 특권 명령을 실행할 수..
(하드웨어)인터럽트란? 하드웨어 장치들이 CPU에게 하드웨어 신호(인터럽트 신호)를 물리적으로 발생시켜 입출력 완료나 타이머 완료 등을 CPU에게 알려주는 방법입니다. 또 인터럽트는 비동기적 사건을 CPU에게 알려주는 행위입니다. CPU에서 인터럽트 신호를 받게되면 CPU는 하던 일을 멈추고 인터럽트 요청을 처리하는 코드를 실행시킵니다. 이 코드를 인터럽트 서비스 루틴이라고 부르며, 커널 코드나 디바이스 드라이버내에 작성됩니다. 예를 들어 하드웨어 장치(키보드)가 입력을 하면, CPU에 인터럽트 신호가 발생하고 CPU는 하던을 멈추고 인터럽트 신호를 처리하기 위해 인터럽트 서비스 루틴을 실행합니다. 인터럽트 서비스 루틴 코드가 키 값을 읽어 커널 영역에 있는 키 입력 버퍼나 키 입력을 기다리는 응용프로그..