테크
-
[OS101] 프로세스테크 2023. 9. 10. 15:47
본 글은 2023.09.10에 새롭게 업데이트되었습니다. 서울대학교 평생 교육원에서 제공하는 운영체제의 기초 강의 내용을 중점으로 정리했다. 부족한 부분은 책을 참고하면서 채워 나갔다. 이해를 돕기 위한 그림들은 여기에서 가져왔다. 목차 프로세스란 무엇인가 프로세스 구현 방법 프로세스 스케줄링 프로세스 생성 및 종료 프로세스란 무엇인가 프로세스(process)는 운영 체제가 CPU, 메모리, I/O 디바이스를 할당하는 주체이다. 즉, 실행 중인 프로그램(program in execution)이다. 프로그램은 저장 매체에 저장된 명령어들의 집합체이기 때문에 수동적인 반면, 프로세스는 운영체제에 의해 저장 매체로부터 읽어져 메인 메모리에 로드된 후 CPU와 같은 자원을 능동적으로 사용하는 수행 주체이다. 또..
-
[OS101] 운영 체제를 이해하기 위한 컴퓨터 구조 기초테크 2023. 9. 5. 19:15
본 글은 2023.09.05에 새롭게 업데이트되었습니다. 서울대학교 평생 교육원에서 제공하는 운영체제의 기초 강의 내용을 중점으로 정리했다. 부족한 부분은 책을 참고하면서 채워 나갔다. 이해를 돕기 위한 그림들은 여기에서 가져왔다. 목차 개요 시스템 버스 I/O 레지스터 폴링과 인터럽트 DMA 하드웨어 보호 기법 개요 컴퓨터는 크게 연산 작업과 I/O 작업을 한다. 연산 작업은 CPU가 맡아서 처리하는 반면, I/O 작업은 수많은 I/O 디바이스들이 관여한다. 여러 I/O 디바이스들의 기능 및 속도가 매우 다양하기 때문에 운영체제는 이를 효과적으로 제어하기 위해서 I/O 시스템을 가지고 있다. 덕분에 운영 체제의 다른 부분이 I/O 디바이스를 관리하는 일에 신경 쓰지 않아도 된다. 그렇다면 컴퓨터는 어떻..
-
[OS101] 운영체제 역사 및 기능테크 2023. 9. 5. 17:24
본 글은 2023.09.05에 새롭게 업데이트되었습니다. 서울대학교 평생 교육원에서 제공하는 운영체제의 기초 강의 내용을 중점으로 정리했다. 부족한 부분은 책을 참고하면서 채워 나갔다. 이해를 돕기 위한 그림들은 여기에서 가져왔다. 목차 운영체제의 역사 운영체제의 기능 운영체제의 역사 운영체제의 역사는 크게 3단계로 나눌 수 있다. Phase 1: 운영체제의 시작, 메인 프레임 컴퓨터의 보편화 (1950 - 1960) Phase 2: 운영체제 기반 설립, 인터넷 보편화 전 (1960 - 1990) Phase 3: 인터넷 보편화 후, 오늘날 (1990 - 현재) Phase 1: 운영체제의 시작 노동력은 값싸고 하드웨어는 매우 비싸던 시절이다. 그래서 CPU 사용률을 최대화하는 것이 매우 중요했다. 연구자들..
-
[WWDC21] Mitigate fraud with App Attest and DeviceCheck테크 2023. 8. 17. 17:30
※ 본 내용은 WWDC21에서 발표된 내용을 정리한 내용입니다. Mitigate fraud with App Attest and DeviceCheck - WWDC21 - Videos - Apple Developer Discover how to use App Attest and DeviceCheck, Apple's powerful anti-fraud tools, created to safeguard your apps and content. Unlock the... developer.apple.com 목차 DeviceCheck App Attest App Attest Flow Risk Metric Service DeviceCheck 앱에 새로운 기능을 추가했다고 가정하자. 이 기능을 홍보하기 위해서 무료로 한 ..
-
[Android] Keystore와 StrongBox의 정의 및 차이점테크 2023. 8. 17. 16:45
목차 서론 Android Keystore StrongBox 요약 서론 안드로이드에서 암호화 키 보관 방법을 알아보던 중 헷갈리는게 있어서 정리를 해보기로 했다. 이 글을 이해한다면 Hardware-backed 방식을 채택하고 있는 Android Keystore가 무엇인지 최근에 새롭게 생긴 StrongBox는 Android Keystore와 무엇이 다른지 알 수 있을 것이다. 뿐만 아니라 본 내용을 이해하기 위해 필요한 사전 지식인 KeyStore 클래스, MasterKey 클래스, TEE, SE에 대해서도 정리했다. Android Keystore Android Keystore는 무엇인가? Android Keystore는 개발자가 보안성이 높은 어딘가에서 암호화 키를 생성하고 저장하여 디바이스에서 쉽게 ..
-
OAuth 알아보기 1: 권한 부여 코드 승인 방식테크 2023. 4. 21. 21:00
OAuth 알아보기 시리즈 1. OAuth 알아보기 1: 권한 부여 코드 승인 방식 2. OAuth 알아보기 2: PKCE 방식 OAuth 등장 배경 다음과 같은 상황을 가정해 보자. 사용자 A는 Google ID를 가지고 있으며 Google에 여러가지 정보를 저장하고 있다. 가령 YouTube나 Google 검색 기록에 의해 좋아하는 음식 정보가 Google에 저장되어 있을 수 있다. 서비스 C는 자신의 서비스를 이용하는 사용자들의 Google에 저장된 여러가지 정보를 활용해서 특정 서비스를 제공한다. 가령 맛집 추천을 해줄 수 있다. 사용자 A가 서비스 C를 이용하려고 한다. 서비스 C는 Google에 저장되어 있는 사용자 A의 정보가 필요하다. 그렇다면 사용자 A의 Google ID 및 패스워드를 ..
-
[OS101] CPU 스케줄링테크 2018. 8. 11. 23:29
본 글은 2023.09.15에 새롭게 업데이트되었습니다. 서울대학교 평생 교육원에서 제공하는 운영체제의 기초 강의 내용을 중점으로 정리했다. 부족한 부분은 책을 참고하면서 채워 나갔다. 이해를 돕기 위한 그림들은 여기에서 가져왔다. 목차 스케줄링 스케줄링 기준 스케줄링 정책 스케줄링 CPU-I/O Burst Cycle CPU 스케줄러 선점적 스케줄링 디스패처 프로세스는 능동적으로 여러 자원을 사용한다. 이 때 자원의 종류로는 두 가지가 있다. 선점적 자원(Preemptive Resource): 한 프로세스가 점유한 상태에서 다른 프로세스에게 양보할 수 있는 자원, 예) CPU, 메모리 비선점적 자원(Nonpreemptive Resource): 한 프로세스가 점유하면 사용을 마칠 때까지 다른 프로세스에게 ..