분류 전체보기

· 🛠️ OS
교착 상태 해결 방법: 1)예방, 2)회피, 3)검출 후 회복 1. 교착 상태 예방 애초에 교착 상태가 발생하지 않도록 하는 것 교착 상태 발생 조건(상호 배제, 점유와 대기, 비선점, 원형 대기) 중 하나를 없애버리기 상호 배제를 없애면? 모든 자원을 공유 가능하게 만든다? → 이론적으로는 가능하지만, 현실적으로 불가능함 점유와 대기를 없애면? 특정 프로세스에 자원을 모두 할당하거나, 아예 할당하지 않는 방식으로 배분 → 자원의 활용률을 낮출 수 있는 방식 단점: 자원의 활용도가 떨어짐 비선점 조건을 없애면? 선점이 가능한 자원(ex. CPU)에 한해 효과적임 → 모든 자원이 선점 가능한 것은 아니다 원형 대기 조건을 없애면? 자원에 번호를 붙이고 오름차순으로 할당하면 원형 대기는 발생하지 않음 가장 ..
⚠️ 에러 Response could not be decoded because of error: The data couldn’t be read because it is missing. Alamofire 통신하여 로그인을 하는 도중에 안뜨던 에러가 뜨기 시작했다,, 연결할 API가 너무 많아서 하나씩 연결부터 우선 하느라 에러처리를 다 해두지 않았었는데,, 오랜만에 프로젝트 개발하려 했는데, 에러가 떴다!!!!.. 나는 그러지 못했지만,, 오타, 옵셔널 확인 5번씩 체크해보자! "k"가 대문자, 소문자가 비슷하게 생겨서 주로 범인이다 💨 정답을 찾아가기까지의 과정은 이랬다. 1. 디코딩을 못한다는 에러니까 그 사이에 알파벳 오타가 있어 API 수정을 하신건지 스웨거를 확인해봤다 > 아무리 비교해도 철자는..
· 🛠️ OS
교착상태 일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상 교착 상태를 해결 방법의 순서 교착 상태가 발생했을 때의 상황을 정확히 표현해보기 → 표현 방법: 자원 할당 그래프 교착 상태가 일어나는 근본적인 이유 이해하기 1) 자원 할당 그래프 그래프를 그려보면 교착 상태 발생 조건을 파악할 수 있음 어떤 프로세스가 어떤 자원을 할당받아 사용 중인지 확인 가능 어떤 프로세스가 어떤 자원을 기다리고 있는지 확인 가능 그리는 방법 프로세스는 원으로, 자원의 종류는 사각형으로 표현 사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현 프로세스가 어떤 자원을 할당 받아 사용 중이라면 자원에서 프로세스를 향해 화살표를 표시 프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원으로 화살표를 표시그리는..
저번에 블로깅했던 20일 이후로 잠-스스챌-잠-스스챌의 반복이었어서,, 따로 남길 시간이 부족했다.. 제출까지 다 했지만,, 기억에 의존하여 어떤 작업을 했었는지 기록을 남겨두려고 작성한다!-! 🗓️ 20-21일 TodayView, MedicationView 개발 약 정보를 수정, 삭제 등 관리할 수 있도록 하고 싶지만, 삭제하게 되면 약과 관련해서 기록된 로그를 다 삭제하거나 비활성화 하는 방법으로 해야하는데 시간내에 불가능할 것 같고, 메인 플로우가 아니기 때문에 아쉽지만 약 추가만 가능하게 했다.. 동영상을 추가하는데 매번 사진만 불러왔지 동영상은 처음이어서 약간 애먹었던 기억이 있다. TodayView - 시간별로 현재 상태, 복용 여부 기록 - 동영상, 메모 기록 - 기상 시간, 수면 시간 기록..
· 🛠️ OS
동기화 기법 중 뮤텍스 락, 세마포, 모니터에 대하여 알아봅니다. 1. 뮤텍스 락 상호 배제를 위한 동기화 도구(자물쇠 역할), 뮤텍스 락 뮤텍스 락의 단순한 형태: 전역 변수 하나, 함수 두 개 자물쇠 역할: 프로세스들이 공유하는 전역 변수 lock 임계 구역을 잠그는 역할: acquire 함수 임계 구역의 잠금을 해제하는 역할: release 함수 acquire 함수 프로세스가 임계 구역에 진입하기 전에 호출 임계 구역이 잠겨 있다면 >> 임계 구역이 열릴 때까지(lock이 false가 될 때까지) 임계 구역을 반복적으로 확인 임계 구역이 열려 있다면 >> 임계 구역을 잠그기(lock을 true로 바꾸기) release 함수 임계 구역에서의 작업이 끝나고 호출 현재 잠긴 임계 구역을 열기(lock을 ..
· 🛠️ OS
동시다발적으로 실행되는 프로세스들은 서로 협력하며 영향을 주고 받는다 이 과정에서 자원의 일관성을 보장해야 한다. → 프로세스들의 동기화를 고려해야 한다 1. 프로세스 동기화의 의미 프로세스들의 수행 시기를 맞추는 것 크게 두가지를 의미함 실행 순서 제어를 위한 동기화: 프로세스를 올바른 순서대로 실행하기 상호 배제를 위한 동기화: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 (실행의 문맥을 갖는 모든 대상은 동기화 대상이기에 스레드도 동기화 대상입니다) 공동의 목적을 위해 동시에 수행되는 프로세스 ex) 워드 프로세서 프로그램 맞춤법 검사 프로세스 입력 내용을 화면에 출력하는 프로세스 Q. 이런 프로세스들이 아무렇게나 마구 실행되도 괜찮을까? A. No. 올바른 수행을 위해 프로세스..
스타일 가이드를 생성하며 어느정도 디자인의 큰 틀만 잡아두고 디자인 컨셉이나, 색감, 폰트 패턴들이 조금씩 정해진게 보여서, 스타일 가이드를 생성하고 하나씩 적용했다. 18, 19일 이틀에 걸쳐서 폰트와 컬러 스타일을 정의하고, 공통으로 사용하는 컴포넌트를 생성했다. 기획해가면서 디자인도 조금씩 수정했다!.. 주제는 파킨슨병을 위한 투약일지이다. 파킨슨병 자체가 주로 50대 이후부터 나타나는 증상이어서 주 타겟이 어르신들이라는 점에서 색을 사용할 때 고려될 점이 분명히 있지만,, 스스챌이라는 대회(?)이기 때문에 색감에서 주는 앱의 컨셉과 느낌을 조금 더 살리고자,, 일단 진행한다!.. 개발을 완료하고 사용성측면에서 좀 더 명확하게 해야겠다 싶으면 색상을 수정할 것이다 🫥 개발을 시작했어요-! 플레이그라..
· 🛠️ OS
0. CPU 스케줄링 알고리즘의 종류 선입 선처리 스케줄링 최단 작업 우선 스케줄링 라운드 로빈 스케줄링 최소 잔여시간 우선 스케줄링 우선순위 스케줄링 다단계 큐 스케줄링 다단계 피드백 큐 스케줄링 1. 선입 선처리 스케줄링 = FCFS(First Come First Served) 스케줄링 단순히 준비 큐에 삽입된 순서대로 처리하는 비선점 스케줄링 먼저 CPU를 요청한 프로세스부터 CPU 할당 단점: 프로세스들이 기다리는 시간이 매우 길어질 수 있다는 부작용(=호위 효과) 실행시간이(17, 5, 2ms)인 프로세스들이 큐에 들어있을 때 2. 최단 작업 우선 스케줄링 = SJF (Short Job First) 스케줄링 호위효과를 방지함 CPU 사용이 긴 프로세스는 나중에 실행, CPU 사용 기간이 짧은 프..
JINiOS
'분류 전체보기' 카테고리의 글 목록 (3 Page)