전체 글 123

기본 구조, 유형

1. Byte Code C, C++은 프로그램 실행을 위해 컴파일러 사용 -> 해당 CPU에서만 실행할 수 있는 기계어로 바꾸어 준다. Java는 컴파일러가 소스(*.java )의 오류 확인만 해주고 Byte Code(*.class)를 뱉어준다. 이는 Java Virtual Machine에서 돌아가는 것이다. 즉, 시스템이 바뀌어도 재컴파일이 필요없다. 2. Java Virtual Machine 프로그램 유형 실행위치, 종류에 따라 4가지 종류로 구분 (Java SE로 한정) 1. 애플릿 (Applet) 위치 - 네트워크의 원격 컴퓨터의 웹서버 방식 - 네트워크를 통한 원격 전송 실행 - 로컬의 웹 브라우저나 애플릿뷰어(Applet Viewer) 2. Application 위치 - Java Virtual..

Programming/Java 2011.07.29

Java 특징

- 기술적인 부분에 대한 이해 객체지향, 네트웍에 대한 이해가 없으면 결국 C와 같은 프로시저 형태의 프로그램이 나오고 Socket 클래스를 쓰면서도 뭔 말인지 못 알아먹는 경우가 생긴덴다. 특징들 - simple - Object-Oriented 객체지향이다. 즉, 소프트웨어의 재사용성과 정보의 캡슐화 등등의 장점을 가지게 된다. 객체지향의 개념으로 다른 많은 기술들을 수용 가능. - Distributed 분산환경에 적합하다. 이는 인터넷이나 네트웍 솔루션 개발에 용이한 정도가 아니라 강하다. 다양한 프로토콜에 대한 라이브러리를 제공해준다. - Interpreted 원천소스를 컴파일하여 자바가상머신(Java Virtual Machine)이 실행할 수 있는 바이트 코드 (byte code)를 만들어낸다. ..

Programming/Java 2011.07.29

find

find [경로][옵션] -name [파일이름] 파일이름과 일치하는 것 검색 -perm [권한] 권한과 일치하는 파일 검색 ex) find / -user level2 -perm -4000 4000의 의미는 -(최소한), 4(SetUID)가 걸린 000(모든 파일)을 의미. -user [유저] user와 일치 -group [그룹] group과 일치 -empty 비어있는 파일이나 디텍토리 검색 -size [±파일크기][bckw 택 1] 파일크기와 일치하는 것 검색 b : 블록단위 c: byte k : KByte w : 2byte 워드 단위가 없을 때 -> default로 b 파일크기에 + : ~이상 - : ~이하 부호 없을 때 -> 그 크기의 파일 -type [파일타입] b : 블록 특수 파일 (block ..

OS/Linux 2011.07.22

shadow file, passwd file for hackerschool level8

shadow file 전통적으로는 /etc/passwd 에 사용자 계정 정보를 보관. 하지만 이 파일은 수많은 도구들이 사용하게되므로 누구든지 읽을 수 있도록 되어있다. (예를 들어 파일의 소유자를 보여주기 위하여 사용자 번화와 사용자 이름을 매치한다.). 결국 이는 어느 정도 보안상의 위험을 야기한다. 또 하나의 방법은 shadow file을 이용. 이는 전통적인 방식(/etc/passwd)과 호환성 있는 형식으로 저장 된다. 패스워드는 실제로 /etc/passwd에 저장되지 않고 이 곳에는'x' 한 글자만을 넣어둔다. /etc/shadow에는 암호화된 패스워드와 그 외의 정보, 즉 패스워드 유효기간을 저장. /etc/shadow는 root 만이 읽을 수 있음. /etc/shadow 사용자의 패스워드가..

OS/Linux 2011.07.22

hackerschool level10 공유메모리

공유메모리(shared memory) 기본적으로는 프로세스에서 사용되는 메모리 영역은 해당 프로세스만이 사용. 하지만 때때로 여러개의 프로세스가 특정 메모리영역을 사용할 때 있음. 이때 공유 메모리 씀 (System V IPC 설비 중의 하나) 프로세스는 자신의 업무를 수행하기 위해 필요한 자료를 저장하기 위한 메모리 공간을 가질 때 이 메모리 공간에 CPU에 의해 수행되는 명령어들, 프로그램 시작시 정의되고 초기화되는 data, 프로그램 시작시 정의되었지만 초기화 되지 않은 data, 함수호출에 필요한 정보, 동적할당이 이루어지는 data 등이 들어가게 된다. 프로세스 시작 -> 커널로부터 메모리 공간을 요구하여 할당 받음(이 공간에는 기본적으로 메모리를 요청한 프로세스만 접근가능) 이 때 이 메모리 ..

OS/Linux 2011.07.20
반응형