일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- apple developer academy 후기
- Swift 문법
- 개발회고
- ObservableObject
- 앱 비교 프로젝트
- 개발자 회고
- iOS 개발 오류
- 네이버 치지직
- 애플 디벨로퍼 아카데미 후기
- 신입ios개발자회고
- SWIFT
- 네이버 부스트캠프
- 치지직
- 애플 디벨로퍼 아카데미
- sqoop
- react
- StateObject
- Swift 디자인패턴
- global soop
- 데이터베이스
- 소프트웨어분석및설계
- 애플 아카데미 후기
- 제앱소
- Swift 기능
- OS
- swift문법
- Apple Developer Academy @ POSTECH
- 숭실대
- 운영체제
- 애플 디벨로퍼 아카데미 21주차 회고
- Today
- Total
목록대학 전공 공부 (58)
사과하는 제라스

3.1. 장애 및 복구 DBMS가 처리하는 장애는 3가지가 있음. 1) Transaction Failure : 트랜잭션 자체의 내부 논리 오류, 사용자의 명시적인 요구, 시스템 내부 결정에 의하여 발생 가능. ex) deadlock -> victim이 abort됨. 2) System Failure(=Crash) : 휘발성 기억 장치인 메인 메모리에 문제가 발생하여 내용이 사라지는 것. ex) 정전, OS 오류, HW 결함 3) Disk Failure : HW 및 SW 결함으로 인해 디스크 내용이 사라지는 현상. 장애는 언제 어디서든 다양한 형태로 발생할 수 있기에 시스템은 트랜잭션의 ACID성질 지원을 위해 복구 기법이 필요함. Recovery Algorithms : 복구 알고리즘은 DB의 일치성(C)과..

현재까지 나와있는 동시성 제어 방법 중 Locking이 가장 효율적인 방법이기에 현재 가장 많은 DBMS에서 쓰인다. ∴ Locking 방법만 찾아볼 거임. 2.1. 록 기반 규약(Lock-based Protocols) Lock: 데이터 아이템에 대한 동시성 접근을 다루기 위한 메커니즘. Locking Protocol: 모든 트랜잭션이 Lock을 Requesting, releasing 을 할 때 따르는 규약들. -> 이 프로토콜을 씀으로서 가능한 스케쥴 세트를 제한함. 데이터 아이템은 두가지 방식으로 Lock 될 수 있음. 1) Exclusive mode(=Write Lock): 데이터 아이템은 Read/Write 가능(Write가 필수는 아님), 주로 lock-X instruction 사용, 다른 Lo..

Activity Diagram이란...? : 일련의 활동(Activity)들로 workflow(i.e.Runtime-control flow)를 표현하는 다이어그램으로 Behavior Modeling을 위한 UML Diagram 4가지 중 하나이다. - Sequence Diagram(순서 다이어그램) Activity Diagram은 시스템 전체, sub 시스템의 흐름을 표현하지만, Sequence Diagram은 주로 Use Case Set을 다룬다. 추가 정보... - State Diagram(상태 다이어그램)과의 차이: State Diagram은 하나의 객체의 흐름을 표현함. 그렇다면 이제 Activity Diagram의 구성을 알아보자! Activity Diagram의 구성요소 1. Action/Ac..

단일 Bus 구조 Bus: CPU, RAM, I/O 장치 간 데이터가 전송되는 통로 ex) Data Bus, Address Bus 그렇다면... 단일 Bus 구조란...? - 하나의 시스템 버스에 여러가지 모듈이 연결되어 있는 형태. - CPU, Memory, I/O 속도가 비슷했던 초창기에 발생 but 속도 격차가 증가하면서 '병목 현상'이 발생하는 문제가 생기기 시작함. 병목 현상 : 같은 버스에 연결된 디바이스들 사이의 속도 차이로 발생하는 현상으로, 빠른 디바이스가 처리하는 양 만큼을 느린 디바이스가 처리하지 못하여 전체 시스템 속도가 느린 디바이스의 속도로 제한되는 현상. - 주로 CPU> Memory >> I/O로 속도의 격차가 커짐. 속도: CPU > 메모리 > Disk > Network >..

OS가 하는 일 - Process 관리 - 여러가지 프로그램들을 실행하기 위해서 프로세스를 만들고 그 안에 유저가 원하는 응용 프로그램을 실행 - Memory 관리 - 각 프로세스가 사용하는 메모리 관리 - File 관리 - 각 프로세스가 사용하는 파일 관리 - I/O System 관리 - 각 프로세스가 사용하는 I/O 시스템 관리 - Networking - 네트워크를 사용하는 프로그램이 많아지면서 이를 관리해야 하는 부분도 커짐. - Security - 더 안전한 실행환경을 위한 연구 증가. 컴파일러(Compiler) : 사람이 이해 가능한 PL로 작성된 Source Code -> CPU가 이해할 수 있는 기계어인 Object 파일로 변환 (정확히는 Source Code를 Compiler를 통해 ass..

System Structure 운영체제는 규모가 매우 크고 복잡한 SW이다. ∴ 설계 시 'SW 구조'를 신중히 고려 필요. 좋은 설계 시... 1. 개발 시 편리함.(Develop) 2. 수정 및 디버깅 easy.(Modify&Debug) 3. 유지 보수가 쉬움.(Maintain) 4. 확장성이 좋아짐.(Extend) OS의 Design Priciple(디자인 원칙) 1. Policy : OS가 무엇이 되게 할 것인가. 2. Mechanism: 어떻게 그것을 제공할 것인가. -> 이렇게 Policy와 Mechanism을 분리함으로서 OS 설계를 보다 모듈화할 수 있음. OS 설계를 위한 방법 1. Layering : OS 설계의 복잡도를 낮추기 위한 방안 - 각 Layer는 Well-defined 함수..

1.1 트랜잭션 개념 트랜잭션(Transaction): 하나의 논리적 작업을 수행하는 DB 연산의 순서로, 여러개의 작업을 하나로 묶은 실행 유닛. 트랜잭션 관리 1) HW, SW, Transaction 등 다양한 시스템의 장애를 극복하는 회복 기능(Recoverability) 2) 다수개의 트랜잭션을 동시에 수행 시 발생하는 문제점을 해결하는 동시성 제어 기능(Concurrent Execution) -> 이 두가지 이슈의 관점에서 접근한다. 트랜잭션의 ACID 성질 Atomicity(원자성) : all-or-nothing으로, 트랜잭션을 구성하는 연산은 모두 수행되거나 어느 연산도 수행되지 않아야 한다.(연산의 일부만 수행되는 것은 불가능) 예시) 계좌이체를 할 때 1. A 계좌에서 10만원을 출금을 ..

1. 컴퓨터의 기원 - Compute + -er => 2차 세계대전(암호 해석, 미사일 탄도 분석, 물리 계산 등) 1) 1950년대 초반 매우 원시적임, 1bit 단위로 입력되어 실행 2) 1950년대 중반 모든 프로그램이 기계어로 쓰여짐, 아직 PL, OS도 존재하지 않음, 영구적인 저장장치 없음(매번 프로그램 재입력) 3) 1960년대 초반 펀치카드 등장, 프로그래밍한 카드로 컴퓨터 구동 2. 일괄처리(Batch) - 일단 시작한 job이 끝나야 다음 job이 수행됨. - 결과를 받기까지 중간에 유저 인터랙션 불가능함(= 중간에 개입이 안됨.) - 사람이 Job을 스케쥴링함.(∵OS가 없기 때문에) - CPU가 빈번히 IDLE 상태(프로세스가 실행되고 있지 않은 상태)로 전환됨 3. Automati..