리눅스 vs 윈도우 명령어 비교
·
OS/개념
파일 및 디렉토리 제어 네트워크 분석 시스템 및 프로세스 관리 텍스트 처리 및 검색 권한 및 보안 관리 리눅스 연산자 활용
입출력 시스템 (리눅스 , 윈도우 , c표준 입출력 , 메모리 버퍼기반)+보안관점
·
OS/개념
입출력 함수 체계 개요 1.리눅스 시스템 콜 (저수준 I/O) 2. 윈도우 API 3. 표준 C 라이브러리 (고수준 I/O) -> scanf 보안 취약점 정리 https://taemin01.tistory.com/142 scanf의 보안 취약점scanf 함수의 정의 및 동작 메커니즘 scanf 관련 주요 보안 취약점 및 로직 우회 종합 요약 및 방어 전략taemin01.tistory.com 4. 메모리 버퍼 기반 가공 함수
안드로이드 아키텍쳐 (Android architecture)
·
OS/모바일 운영체제
Android Architecture는 안드로이드 애플리케이션이 어떻게 구성되고 동작하는지를 계층적으로 설명하는 구조이다. 역할에 따라 4가지 계층으로 구분할 수 있다.    1. Linux Kernel 계층Linux Kernel은 가장 하위 계층으로 안드로이드 OS의 기반이 된다. 다양한 하드웨어 컴포넌트 ( 카메라, 블루투스, 키보드 등)에 대한 저수준 장치 드라이버 포함메모리 관리, 프로세스 관리, 네트워크, 보안 기능 등 핵심 시스템 기능을 제공한다.   2. Libraries & Android Runtime 계층Libraries 안드로이드 OS의 주요 기능을 제공하는 기본 라이브러리 집합 SQLite : 데이터베이스 기능 지원WebKit : 웹 브라우징 기능OpenGL ES : 그래픽 처리Sur..
setContentView() VS LayoutInflater.inflate()
·
OS/모바일 운영체제
setContentView()주로 Activity에서 한 번 쓰인다.@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 전체 화면 구성}   inflate() 부분 UI를 동적으로 만들거나 커스텀 뷰를 쓸 때 쓰인다. ex) 버튼 클릭 시 커스텀 뷰 추가 LayoutInflater inflater = LayoutInflater.from(this);View customView = inflater.inflate(R.layout.custom_view, parentLayout, false);parentL..
동기화(1) - 임계구역 문제 (Critical Section)
·
OS/개념
임계구역 문제는 여러 프로세스 혹은 스레드가 공유 자원에 동시에 접근할 때 발생하는 동기화 문제를 의미한다.이를 해결하지 않으면 데이터 충돌 , 정합성 문제 , 교착 상태 (Deadlock) 등이 발생할 수 있다.  임계구역이란? 임계구역은 여러 프로세스가 공유자원 (메모리, 파일, 변수 등)에 접근하는 코드 영역이다. 다중 프로세스/스레드 환경에서 동시에 같은 자원에 접근하면 데이터 일관성이 깨질 수 있기 때문에 상호 배제를 보장하여 한 번에 하나의 프로세스만 임계구역에 들어가도록 제한해야한다.     임계구역 문제 해결 조건  상호 배제 (Mutual Exclusion) : 동시에 임계 구역에 두 개 이상의 프로세스가 진입할 수 없어야 한다.진행 (Progress) : 임계 구역이 비어 있을 때, 진..
cpu 스케줄링
·
OS/개념
cpu 스케줄링은 운영체제가 여러 프로세스의 cpu 할당을 결정하는 핵심 기능으로 크게 비선점형과 선점형으로 나눠진다. 비선점형 cpu 스케줄링 (Non-Preemptive)비선점형은 한 프로세스가 cpu를 할당받으면 자발적으로 종료하거나 블록될 때 까지 cpu를 점유한다. 즉, 다른 프로세스가 강제로 cpu를 빼앗을 수 없다. FCFS (First-come, First-Served)FCFS 스케줄링은 도착한 순서대로 실행하는 비선점형 스케줄링 알고리즘이다. 예제) 실행 순서 p1 - p2 - p3   평균 대기 시간 (Average Waiting Time) : (0 + 4 + 6) / 3 = 3.3m/s (실행 시작 시간 - 도착 시간) 평균 반환 시간 (Turnaround Time, 프로세스가 요청된..
안드로이드 스튜디오 뜯어보기
·
OS/모바일 운영체제
안드로이드 스튜디오에서 궁금한 파일을 열어보자
R.java 란
·
OS/모바일 운영체제
R.java는 Android 앱이 리소스를 관리하는데 사용하는 자동 생성된 클래스 파일이다. res/ 폴더에 있는 이미지, 레이아웃, 문자열 등에 대한 ID를 정의하는 역할을 한다. ex) activity_main.xml 이라는 레이아웃 파일이 있으면 R.java 에는 다음과 같이 ID가 생성된다. public final class R { public static final class layout { public static final int activity_main = 0x7f030000; }}생성된 ID를 코드에서 사용 가능하다.setContentView(R.layout.activity_main); 주요 구성 레이아웃 내부의 개별 요소 (Button이나 Textview 등)은 ..
-->
loading