[Linux]System_basic
펌웨어(Firmware)
펌웨어란 하드웨어(Hardware)에 소프트웨어(Software)가 포함되어 있는 것이라고 정의한다.
프린터를 예시로 들자면 프린터(Printer)라는 하드웨어와 프린터 드라이버(Driver)라는 소프트웨어가 통합된 것.
** 드라이버는 OS별로 해당 장치를 인식시키는 소프트웨어 프로그램(Module) **
보통 펌웨어는 기기(Machine) 내부에 작은 저장공간을 두어 비휘발성(Non-volatile) 메모리에 올려둔다.
대표적으로 컴퓨터 부팅 시 확인할 수 있는 BIOS/UEFI 등이 펌웨어에 해당한다.
컴퓨터에서는 이런 BIOS정보를 전원이 없을 때에도 저장 해야하기 때문에 CMOS 배터리를 이용해서
정보들을 저장해두어 매 부팅시에 추가적인 설정을 거치지 않고 평소처럼 PC를 사용할 수 있게 해 준다.
ps. 실생활에 예를 들어보면 핸드폰이나 모바일 기기 등의 소프트웨어(펌웨어) 업데이트를 적용해 볼 수 있겠다.
뭐,, 아이폰 12에서 13으로 넘어갈 때 소프트웨어 한해서 새로운 기능을 신규기기에서만 지원해주는 경우는 거의 없으니
이런 부분에서 호환이 가능하게끔 만들어주는 장치가 '펌웨어 업데이트' 이지 않을까 개인적으로 생각해본다.
네트워크(Network)
두 가지 실행 모드가 존재
● Server-clients : 한쪽은 반드시 서버가 되고 다른 쪽들은 클라이언트가 되는 구조
● Peer-2-peer : 서로가 서버가 되기도 하고 클라이언트가 되기도 하는 구조
- 우분투 리눅스에서의 네트워크 관련 설정파일
현 위치에서 네트워크의 전반적인 설정이 가능하다.
네트워크 통신의 방법으로는
● Static : manual, 수동, 관리자가 직접 관리 및 설정을 진행
● Dynamic : automatic, 자동, 관리자 관여없이 시스템 자체에서 설정을 진행
- DNS Server 설정 (도메인 네임서버)
이곳에만 DNS 서버를 설정하게 되면 재부팅시에는 Default 값으로 돌아가게 된다.
아직까지 정확한 이유를 뚜렷하게 서술 할 수 없으니 추후 수정을 통해 알아보도록 하겠다.
- 컴파일(Compile)의 종류
● Kernel Compile : Module 조절, patch, upgrade, update ...
● Software Compile : ./configure => make install 과정을 거친다.
APM(Apache Web Server) + PHP Web Programming Language) + MySQL(Database)
** 컴파일 관련해서는 필자가 아직 이해를 완벽히 하지 못해 추후 수정토록 하겠음 **
<<간단한 용어정리>>
* host : 일반적인 컴퓨터
* workstation : 도메인에 가입된 호스트를 말한다 => abc.def@aaa.com
* node : NIC(Network Interface Card)를 통해서 인터워킹 되어져 있는 모든 장비들(라우터, 스위치, 호스트 ...등)
* computer : 일반적인 용어로 machine, can 이라고 부른다.