분류 전체보기 84

[OS] 프로세스 API in POSIX

Fork()자식 프로세스 생성하는 API부모의 주소공간, 레지스터.. 등의 내용이 복사되어 자식이 만들어짐int rc = fork();rc == 0: 자식 프로세스rc > 0: 부모 프로세스Wait()프로세스가 종료되지 않고, 대기하기waitpid()도 포함else 문의 부모 프로세스는 int wc = wait(NULL)을 통해자식 프로세스가 종료될 때까지 실행을 잠시 중지 시킨다.자식이 종료되면 Wait가 반환되는데, 자식 PID가 반환됨이러면 fork() 후에 프로세스가 마음대로 출력되던 상황을 방지함자식이 끝나야 부모가 동작하기 때문.Exec()자기 자신(부모 내용 복사)이 아닌, 다른 프로그램을 실행할 때 사용됨fork()와 달리 비어있는 새 프로그램을 적재하여 실행함if (rc == 0) { /..

[RL] 마르코프 속성/연쇄

마르코프 속성확률 과정의 특수한 형태로, 메모리를 가지지 않음즉, 과거에 일어났던 모든 일은 무시하고 현재 상황만으로 미래를 예측하는 것변수가 마르코프 속성을 지닌다 = 바로 이전 상황에만 영향을 받는다1일차에 자루에서 공을 하나 뺀다.2일차에 자루에서 공을 하나 뺀다.2일차에 1일차에서 뺀 공을 다시 자루에 넣는다.3일차에 자루에서 공을 뺀다.과거의 일들을 무시하고 현재 상황만 고려하는 이유→ 사건을 단순화하기 위해서 (과거까지 생각하면 데이터가 너무 많음)S(t+1)은 St만 영향 받는다.마르코프 연쇄마르코프 속성을 지닌 시스템의 시간에 따른 상태 변화과거와 현재 상태가 주어졌을 때, 미래 상태의 조건부 확률 분포가과거 상태와 독립적으로 현재 상태에 의해 결정되는 환경이런 상태 공간이 이산적일 때, ..

[OS] 프로세스 개요

프로세스란 ?프로세스의 인스턴스로, 하드웨어에 있는 프로그램의 객체이다메모리에 올라가게 됨스택 영역지역변수, 파라미터, 리턴 주소데이터 영역전역변수, 정적변수힙 영역동적할당코드영역프로그램 코드 (2진수)프로세스 API 5가지운영체제가 제공하는 프로세스 API 5가지생성 - 프로그램 실행삭제 - 프로세스 삭제대기 - 프로세스 대기각종 제어 - 일시중지하고 다시 시작상태 - 프로세스 상태를 얻음프로세스 생성프로그램 코드를 메모리로 적재함 (Load)게으른 적재 방식을 사용함 → 모든 코드나 데이터를 메모리에 올리지 않고, 필요할 때마다 가져옴 프로그램은 디스크에 실행가능 파일로 저장되어 있음실행 시간 스택 할당 → 지역변수, 함수 매개변수, 리턴 주소 등등의 스택영역 초기화힙 생성 실행 도중 동적으로 요구되..

[RL] 강화학습이란

4월 8일(월) 랩실 레지던트 시작강화학습의 사용 사례→ 알파고로 유명해짐이후 주식 트레이딩 봇 개발 및 구글 딥마인드 눈 스캔 분석으로 질병 진단을 도움강화학습이란보상 체계를 활용해 에이전트가 긍정적 행동을 할 수 있도록 에이전트의 행동을 제어하는 정책을 찾아내는 최적화 기법에이전트는 ‘정책’에 따라 주어진 ‘환경’에서 ‘행동’을 한다.위 행동에 따라 환경의 ‘상태’가 바뀌고, 결과에 따라 ‘보상’을 얻는다.강화학습은 위 보상이 최대가 될 수 있게 하는 ‘정책’을 찾는 것가장 좋은 정책을 찾는 것이 목적 → 누적 보상의 합을 최대로 함정형/비정형의 많은 데이터를 다루는 머신러닝/딥러닝과 달리데이터를 스스로 만들어냄 → 데이터량 부담 감소확률과정시간 흐름에 따라 확률적(무작위적)으로 움직이는 상태, {X..

[OS] 운영체제 - 가상화, 병행성, 영속성

1장 Introduction운영체제가 일하는 3가지 카테고리가상 기계 (가상화)물리적인 자원을 ‘가상’ 형태로 전환때로는 운영체제를 가상머신 이라 부르기도 함API 제공자 사용자가 프로그램 실행, 메모리 할당, 파일 접근.. 등의 작업을 요청할 수 있도록 OS는 사용자에게 API를 제공 운영체제는 시스템 콜 제공자원 관리프로세스 2개가 자원에 동시 접근할 때 제한하고 한정OS 역할- 정확한 동작- 편리하고 효율적인 사용 지원정책과 기법을 사용하여 위 역할을 수행CPU가 어떻게 자원을 가상화 하는가 ?가상화하나의 CPU에서 매우 많은 시스템이 동작하는데CPU가 무한개처럼 보이는듯한 환상이 드는 효과병행성공유자원, 임계영역 관리영속성 각 프로세스가 작업한 결과물 저장가상화CPU 가상화 물리적인 하나의 CPU..

[아키텍처 패턴] MVVM + Clean Architecture 공부 정리

학습 목표MVC, MVP, MVVM 각각의 특성Clean Architecture (VIPER Architecture)MVVM + Clean Architecture학습 내용MVC, MVP, MVVMMVC 패턴UIKit 기본 구조 역할에 따라 구분됨Model - 데이터 관리 View - 화면(UI) 관리 Controller - 컨트롤 관리VC가 Input 받고, Input 처리하고, 처리에 따른 View도 변경.. → 하는 일이 너무 많음MVP 패턴화면과 로직을 분리함MVC에서 View에 VC가, C에 Presenter가 들어감MVP 패턴도 MVC와 같이 Model-데이터, View-화면관리, Input 관리View는 Input이 들어오면 Presenter에 알려야 함 → P는 로직처리 후 어떤 화면을 그릴..

[프로토콜] UITextFieldDelegate 공식문서 뜯어보기

학습 목표 Delegate 디자인 패턴을 익힘 UITextFieldDegate 프로토콜을 익힘 학습 내용 Delegate 디자인 패턴 객체가 자신의 기능을 다른 객체에게 위임하여 기능을 실행하는 것 Delegate는 프로토콜로 구현됨, *(Delegate) = 위임하다 UITextField NSObject - UIResponder - UIView - UIControl - UITextField 위 사진의 예로 이번 UITextFieldDelegate를 설명하겠다. UITextField에 글자를 입력 바꾸기 버튼을 누름 UILabel에 1번에서 작성한 글자가 보이게 됨 UITextFieldDegate @MainActor protocol UITextFieldDelegate UITextField에서 발생하는 이..

iOS/UIKit 2024.04.12

[Xcode] .xcconfig 충돌로 인한 Xcode 무한팅김 현상을 겪고서

[문제상황] - 내가 끄는게 아니다. 강제로 꺼지는 거임 (메모리에서 아예 날라가버림) - 해당 프로젝트만 문제이다. - 해당 프로젝트 내에서도 'Info - Resource tags'와 'Info - Open As - Source code', '모든 xcconfig 확장자 파일'에서만 팅김 - 추가로 모든 .xcassets이 고장나버림.. (구글링해보니 복사 해두고 삭제했다가 다시 로드하라함) failed to read asset tags: The command '~~' 모든 xcconfig 확장자 파일 및 Info 내에서 Xcode 무한팅김 현상 [해결을 위한 노력] - 똑같은 과정으로 새 레포 파서 xcconfig 파일을 충돌내려고 노력했음 (근데 테스트할 때는 이유를 모르겠으나 잘 돼 버림) - ..

iOS/Xcode 2024.03.22

[프로그래머스] 미로 탈출 (Swift)

문제 이해 : 출발지를 찾고, 레버를 활성화 시킨 뒤 탈출을 해야 한다. 문제에서 최소 시간을 요구 했으므로 BFS를 사용할 거다. 출발지 -> 레버 찾는데 BFS 1회 동작, 레버 -> 도착지 찾는데 BFS 1회 동작으로 총 2회 BFS를 진행한다. 주요 로직 : Swift에서 문자열 파싱은 아직도 어렵다. 입출력은 다음과 같이 문자열들의 배열이 나온다. ["SOOOL","XXXXO","OOOOO","OXXXX","OOOOE"] Swift에서 문자열에 인덱스 접근이 불가능하기도 하고, separator도 없기 때문에 enumerated 메소드를 사용할 거다. Swift Enumerated enumerated() 메소드는 Array 내의 함수로, (n, x)로 이루어진 쌍의 튜플을 반환한다. n은 0에서..

[Swift] 제네릭 대신 Any 타입을 사용하면 안될까 ?

결론 1. Int면 Int끼리, String이면 String끼리 교환하고 싶은데 제약을 못 걸어줌 2. Any로 매개변수를 받는다면, 전달인자에 Any로 전달되어야 함 3. Any 타입을 넣어 호출하는데, 이 순간 값이 복사되어 할당됨 (새 변수로만 함수를 호출한다는 뜻) Any, AnyObject 스위프트에는 특정 타입을 지정하지 않고 여러 타입의 값을 할당할 수 있는 Any와 AnyObject라는 특별한 타입이 있다. Any는 함수 타입을 포함한 모든 타입을 뜻하고, AnyObject는 클래스 타입만을 뜻한다. 제네릭 (Generic) 제네릭은 스위프트의 어떤 타입에도 유연하게 대응할 수 있으며 코드의 중복을 줄이는 기능이다. [이전 글 참고] https://kyxxn.tistory.com/39 [S..

iOS/Swift Grammar 2024.02.15