Hi

IDE, 운영체제, 컴파일러 본문

Programming/Java

IDE, 운영체제, 컴파일러

SharingWorld 2018. 4. 9. 15:57

[Linux - Ubuntu]
CLI - 커맨드 라인 인터페이스
C 언어 - 컴퓨터 구조 / OS
System Programming / Network Programmming

[IDE - IntelliJ]
Java - GUI - 그래픽 유져 인터페이스
객체 지향 프로그래밍
디자인 패턴 - 23가지 (에릭감마 외 3명)

-----------------------------
Mobile App(Android(Kotlin) / iOS(ObjC / Swift))
Web Client(HTML/CSS/Javascript/Node.Js)
Game Prorgramming(Unity, C#)
Server Programming(Node.js / Go / Docker)

OS(운영체제)
: 목적?
자원 관리
물리적 자원 - CPU / 메모리 / 하드 디스크
추상적 자원 - 프로세스 / 스레드 / 권한 ...

OS의 종류
Windows / Linux / macOS

CPU의 종류
Intel/AMD CPU - x86, x64, ia64
ARM CPU
Samsung - 엑시노스
퀄컴 - 스냅 드래곤
nvidia - 테그라
Apple - AXX

최초의 현대적인 OS - UNIX
: 켄 톰슨(B언어), 데니스 리치(C언어)
=> 이식성이 좋아졌다.

벨 연구소 - UNIX - System V
BSD - BSD Unix
- Mach ..

커널: OS의 프로그램을 커널이라고 한다.
UNIX - Minix OS(타넨바움 교수) - 마이크로 커널
- 리누스 토발즈 - Linux - 모놀리딕 커널




Source file
a.c

#include <stdio.h>
int main()
{
printf("hello world...");
}

Compiler - Compile
소스 코드를 컴퓨터의 명령의 집합으로 변경한다.

Linux - Kernel(99% - C / 1% - asm)
=> kernel.org

배포판
Redhat - RHEL / Fedora / CentOS
Ubuntu - Canonical
ubuntu.com

desktop(GUI) / server(CLI)

version 16.04.3 LTS 17.10
18.04 LTS

LTS(long term support)

OS
가상화(virtualization)
=> vmware(유료) / virtual box(무료)
vmware player 
vmware fusion

VM
[OS]
-------
Windows
-----------------------------

Rocket chat
http://chat.thethelab.io

vi editor
편집 모드
i(insert)

명령 모드
esc(편집 -> 명령)

저장하면서 종료하는 방법
:wq
저장하는 방법
:w(write)

컴파일러
Windows - CL.exe / GCC / clang
Linux - GCC(GNU C Compiler) / clang
macOS - LLVM - clang / GCC

// C 언어
1. Source 파일 작성 : hello.c
2. Compile(gcc) : hello.o, foo.o, goo.o
: 소스를 기계어로 변경한다.
3. Link : a.out

// Java
1. Source 파일 작성 : Hello.java
2. Compile(javac) : Hello.class
: 중간 언어(IL, ByteCode)
3. JVM(java)

'Programming > Java' 카테고리의 다른 글

java Thread.sleep() 과 TimeUnit.SECONDS.sleep()  (0) 2018.05.15
java CopyOnWriteArrayList 와 volatile  (0) 2018.05.15
Java Package  (0) 2018.04.09
C와 Java의 타입  (0) 2018.04.09
접근 지정자와 정보 은닉  (0) 2018.04.09