1. 연산자
-
증감연산자 : ++x, --x, x++, x--
※ 증감연산자 중 x++, x--는 해당 연산을 실행한 직후 ++, --를 진행한다. 즉, 개행 등이 기준이 아니라, 연산자를 실행하는 시점에서 해당 변수 실행 후 증감 바로 실행한다.
-
산술연산자 : +, -, /, %, *
-
시프트연산자 : <<(x2^n), >>(/2^n)
-
관계연산자 : <, >, >=, <=, ==, !=
-
비트연산자 : ^(비트값이 서로 다르면 1, 같으면 0), |(하나라도 1이면 1), ~(모든 비트를 반대로), &(두 비트가 모두 1이면 1)
-
논리연산자 : &&, ||, !
-
삼항연산자 : (조건식) ? a : b
-
대입연산자 : =, +=, -=, *=, /=, %=
2. 연산자 우선순위
단항 > 이항 > 삼항 > 대입(단항 연산자가 우선순위가 더 높음 -> 논리/비트)
증 > 산 > 시 > 관 > 비 > 논 > 대
0순위 : ( )
1순위 : x++, x-- (단항, 증감)
2순위 : ++x, --x (단항, 증감), !(단항, 논리), ~(단항, 비트)
3순위 : , /, % (이항, 산술)
4순위 : +, - (이항, 산술)
5순위 : <<, >> (이항, 시프트)
6순위 : <, >, <=, >= (이항, 관계)
7순위 : ==, != (이항, 관계)
8순위 : & (이항, 비트)
9순위 : ^ (이항, 비트)
10순위 : | (이항, 비트)
11순위 : && (이항, 논리)
12순위 : || (이항, 논리)
13순위 : ? : (삼항, 삼항)
14순위 : =, +=, -=, =, ..(대입, 대입)
3. java 자료형 크기
- 논리형 : boolean, 1byte
- 문자형 : char, 2byte
- 정수형 : byte(1), short(2), int(4), long(8)
- 실수형 : float(4), double(8)
4. 선점형 스케쥴링 알고리즘
※ 선점형은 명칭에 Queue가 있음
- SRT(Shortest Remaining Time first) : 가장 짧은 시간이 소요되는 프로세스 먼저 수행(가장 짧은 프로세스가 큐에 할당, 바로 선점 가능)
- 다단계 큐(MLQ) : 작업들을 여러 종류로 분할, 여러 개의 큐(각 큐는 독자적인 스케쥴링)
- 다단계 피드백 큐(MLFQ) : 입출력/CPU 위주인 프로세스 특성에 따라 서로 다른 CPU 시간 할당량 부여(FIFO + Round Robin → 새 프로세스/짧은 기간 프로세스를 높은 우선순위, 후순위는 라운드 로빈)
- 라운드 로빈(Round Robin) : 같은 시간의 CPU 할당시간, 모두 소요시 준비큐로
5. 비선점형 스케쥴링 알고리즘
- 우선순위(Priority) : 프로세스별 우선순위, 우선순위에 따른 CPU 할당
- FCFS(FIFO) : 도착한 순서에 따라 대기큐, 순서대로 할당
- 기한부(DeadLone) : 작업들이 명시한 시간, 기한내 완료
- SJF(Shortest Job First) : 프로세스 도착한 시점에서 작은 서비스 시간을 갖는 프로세스를 자원 점유(종료시까지), 기아현상 발생
- HRN(Highest Response Ratio Next) : SJF의 기아현상 개선, 대기시간 + 서비스시간 / 서비스시간을 우선순위로(대기시간이 길수록 우선순위 높아짐)
6. 디스크 스케쥴링
- FCFS(FIFO) : 디스크 대기큐에 가장 먼저 들어온 트랙에 대한 요청을 먼저 서비스
- SSTF(Shortest Seek Time First) : 현재 트랙에서 가장 짧은 거리에 있는 트랙으로 서비스
- SCAN : 헤드의 위치에서 방향 결정, 그 방향에서 탐색거리가 짧은 순서대로 서비스(끝까지 이동이 핵심), 다시 바깥쪽부터 탐색
- LOOK(엘리베이터) : SCAN과 비슷한데, 끝까지 가지 않고 요청 트랙까지만 서비스
- C-SCAN(Circular) : 바깥쪽에서 안쪽으로 움직이면서 가장 짧은 탐색 거리 서비스..안쪽 끝까지 이동시 다시 바깥 -> 안쪽으로 탐색
- N-STEP SCAN : SCAN 기초, 중간에 트랙 서비스 요청 들어가면 쌓아두었다가 반대 방향으로 갈때 서비스
- SLTF(Shortest Latency Time First) : 회전지연시간이 빠른 트랙부터 서비스, 섹터 큐잉
7. 윈도우 환경변수
- %ALLUSERPROFILE% : 모든 사용자 프로필, C:\ProgramData
- %APPDATA% : 설치프로그램 필요 데이터, C:\USERS\hyokyun\AppData\Roaming
- %CommonProgramFiles% : C:\ProgramFiles\Common Files
- %CommSpec% : 기본 명령 프롬프트 프로그램, C:\Windows\System32\cmd.exe
- %HOMEPATH% : 로그인한 사용자의 루트폴더, C:\Users\hyokyun
- %Path% : 실행 참조용 폴더 지정 목록, C:\Windows\System32\Wbem;
- %ProgramFiles% : 기본 프로그램 설치 목록, C:\ProgramFiles
- %USERNAME% : hyokyun, 사용자 계정 이름
- %WINDIR% : C:\Window, 윈도우가 깔린 폴더
- %SystemDrive% : 윈도우가 부팅된 드라이브, C:
- %SystemRoot% : C:\Windows, 부팅된 운영체제가 들어있는 폴더
8. 리눅스/유닉스 환경변수
- $PATH : 실행 참조용 폴더 지정 목록
- $HOME : 사용자 홈 디렉토리 루트 폴더(getuid, getwuid)
- $PWD : 현재 디렉토리의 절대 경로명
- $DISPLAY : 디스플레이 식별자, X1 프로그램
- $SHELL : 로그인 쉘 절대 경로
- $USER : 로그인한 유저 명
- $TERM : 터미널 종류 및 이름
9 . 윈도우 운영체제 기본 명령어
- ATTRIB : 파일속성
- CALL : 다른 일괄 프로그램 호출
- CD : 현재 디렉토리 이름, 바꿈
- CHKDISK : 디스크 검사, 상태 보고서
- CLS : 프롬프트 화면 지움
- COPY : 파일 복사
- CMD : 프롬프트 창 실행
- COMP : 파일 비교
- DEL : 파일 지움
- DIR : 디렉토리 파일, 하위 디렉토리 목록 보여줌
- DISKPART : 디스크 파티션 속성
- ERASE : 파일 지움
- ECHO : 문자열 출력, 메시지 표시
- EXIT : 프롬프트 종료
- FIND : 텍스트 문자열 찾음
- FINDSTR : 문자열 찾음
- HELP : 도움말
- MKDIR : 디렉토리 생성
- MOVE : 디렉토리에서 디렉토리간 파일 이동
- RENAME : 파일 이름 변경
- REPLACE : 파일 대체
- RMDIR : 디렉토리 지움
10. 유닉스/리눅스 운영체제 기본 명령어
시스템
- uname -a : 시스템 모든 정보
- uname -r : 운영체제 배포 버전
- cat : 파일 내용 화면에 출력
- uptime : 시스템 자동 시간과 현재 사용자수, 평균 부하량 등
사용자
- id : 사용자 id, 그룹 id 등
- last : 시스템 부팅부터 현재까지의 사용자 로그인, 로그아웃 정보
- who : 현재 접속한 사용자 정보 표시
파일 처리
- ls : 디렉토리 내 파일 및 폴더 목록
- rm : 파일 제거
- cp : 파일 복사
- mv : 파일 이동
프로세스
- ps : 현재 실행되고 있는 프로세스 목록
- pmap : 프로세스ID를 기준으로 메모리 맵 정보
- kill pid : 특정 프로세스 종료
- fork : 프로세스 생성
파일 권한
- chmod : 특정 파일, 디렉토리의 퍼미션 수정
- chown : 파일, 디렉토리의 소유자 및 소유 그룹 수정
네트워크
- ipconfig : 네트워크 인터페이스 설정 및 확인
- host : 호스트명으로 ip주소 검색 등
압축
- tar : 여러개의 파일을 하나로 묶거나 풀때
- gzip : 압축
검색
- grep : 입력으로 전달된 파일에서 특정 문자열을 찾을때
- find : 특정 파일을 찾을때
동기화
- sync : 로컬, 원격 파일 및 디렉토리 복사 및 동기화
디스크 사용
- df : 시스템에 마운트된 하드디스크의 남은 용량 표기
- du : 파일 사이즈를 kbyte로 보여주는 명령어
디렉토리 이동