OS - 02. Processes and Threads (1)

cs지식/운영체제 2022. 6. 7. 16:46

Race Conditions - ProcessA와 B가 동시에 공유 메모리를 access(접근)하기 원하는 상태. 경쟁상황이 발생할 수 있고, 경쟁 결과에 따라 결과값이 변경될 수 있다. Critical Regions race condition을 피하기 위한 필요 조건 Mutual Exclusion : 상호배제, 동시에 임계구역에 들어갈 수 없도록한다. Progress : 임계 영역 밖에서 실행되는 어떠한 프로세스도 다른 프로세스를 차단할 수 없다. Bounded Waiting : 임계 영역에 들어가기 위해 영원히 기다리는 프로세스는 없도록 한다. 상호배제(Mutual Exclusion)를 구현하기 위한 제안 Disabling interrupts Lock variables Strict alternatio..

Article Thumbnail
OS - Introduction

cs지식/운영체제 2022. 6. 7. 15:51

Dual Mode of Processors - OS는 Code data형태로 존재하고, 프로세스는 필요하면 시스템 호출을 통해 Interrupt를 통해 OS code를 실행하고 돌아간다! -> OS는 프로세스가 아니고, 코드 데이터 형태로 Library처럼 어딘가에 존재하며 프로세스가 언제든 호출할수있도록 준비된 형태로 존재한다. - 사용자 프로그램은 직접 입출력장치를 구동하면 안되며 유저 모드에서 실행한다. 운영체제 코드는 입출력 장치를 실행할 수 있어야 하므로 CPU의 모드는 OS코드 실행시 자동으로 커널모드로 바뀐다. 이후 interrupt return을 하면 다시 유저 모드로 바뀌게 된다. - 커널 모드일때만 특권 명령(입출력, 메모리 영역 조절, 프로세서 상태 변경 등)을 실행할 수 있도록 하드..

Article Thumbnail
Firebase에서 Github 인증 사용설정하기

기타 2022. 5. 11. 15:30

1. Firebase 콘솔에서 승인 콜백 URL 얻기 Firebase 콘솔의 인증창에서 "로그인 방법 설정"버튼을 누르고 로그인 제공업체 탭에서 깃허브를 선택하면 위와같이 승인 콜백 URL와 클라이언트 ID, 비밀번호를 입력하는 창이 뜨게된다. 2. 깃허브 설정에서 OAuth App 등록하기 깃허브로 가서 Settings > Developer Settings > OAuth Apps로 들어가면 새로운 Oauth App을 생성할 수 있다. 생성하기에서 App이름과 홈페이지 URL, 그리고 1번 과정에서 얻은 승인 콜백 URL을 입력해준다. 3. 클라이언트 ID, 비밀번호 등록 생성된 OAuth App에 들어가면 클라이언트 ID와 비밀번호를 얻을 수 있다. 이를 다시 파이어베이스 콘솔창으로 돌아와서 입력해주면..

Article Thumbnail
논리회로 및 설계(1)

cs지식 2022. 5. 6. 21:22

Chaper 01 From Zero to One 수업의 목적 컴퓨터 내부에 대해서 배운다. 디지털 설계에 대한 원칙에 대해서 배운다. 마이크로프로세서를 설계 및 구축한다. Digital Discipline: Binary(이진) 다음과 같은 분리된 두가지 value를 고려한다 1, True, High 0, False, Low 수의 체계 (Number Systems) Decimal Numbers (십진수) - ex. 5374 Binary Numbers (이진수) - ex. 1101 Hexadecimal Numbers (16진수) - 이진수를 짧게 표현한것, ex. 4AF 5374(10진수) = 5x10^3 + 3x10^2 + 7x10^1 + 4x10^0 1101(2진수) = 1x2^3 + 1x2^2 + 0x..

Article Thumbnail