안녕하세요. 중간고사라서 포스팅이 상당히 미루어졌는데요...!! 6주차 수업에서는 5주차 복습과 간단히 Deadlock detection algorithm과 복구 방법에 대해서 배웠습니다. 그리하여 다행히 포스팅이 미뤄져도 6주차와 7주차를 포스팅하는 데는 크게 문제가 없을 것 같습니다! 그리고 6주차는 상당히 짧은 포스팅이 될 것 같은데요! 이 짧은 글을 이해하시려면 반드시 저번 주차 포스팅을 한번 보고 오시는 게 상당한 도움이 되실 것입니다. 그럼 바로 시작하겠습니다. 저번 포스팅에서는 Deadlock Avoidance, Prevention에 대해 알아보았는데요! 위의 방법들은 Deadlock을 안 일어나게끔 하는 방법들이라면 지금부터 알아볼 Deadlock detection은 Deadlock이 발생..
안녕하세요. 이번 글에서는 지난 글에서 다루지 못했던 Deadlock을 다루는 방법, 예방하고 해결하는 방법에 대해 알아보도록 하겠습니다. 그럼 바로 시작해보겠습니다. Methods of Handling Deadlocks Deadlock을 다루는 방법에는 크게 세 가지가 있습니다. 첫째, Deadlock 현상 자체를 미연에 방지하는 방법 말 그대로 애초에 Deadlock이 발생하지 않도록 하는 방법입니다. -Deadlock prevention, Deadlock Avoidance 둘째, Deadlock 상태를 허용하면서 그것을 복구하는 방법 현재 상태를 주기적으로 체크하면서 Deadlock 상태인지를 확인하며 Deadlock에 빠지면 복구를 하는 방법입니다. -Deadlock Detection Algori..
Markdown 티스토리 이전하기 전 작성했던 글들은 (운영체제)는 네이버 스마트 에디터로 작성되었습니다. 물론 스마트 에디터가 딱히 불편했던 것은 아니지만, 저는 수업을 들으면서 필기를 하거나 스터디 자료를 작성할 때는 마크다운을 이용합니다. 한번 쓰면 익히기가 굉장히 쉽고 문서 작성 생산성도 굉장히 올라가는 것을 개인적으로 느꼈습니다. 마크다운으로 공부한 것을 정리해보세요! 보기에도 깔끔하고 쉬우며 마크다운 웹 에디터나 어플리케이션을 다운받아 작성하면 몇몇 프로그램들은 HTML이나 PDF 파일로의 변환도 지원해주기 때문에 저처럼 티스토리에 적용하거나 스터디 자료를 배포할 때 편하게 이용하실 수 있습니다. 저는 현재 Mac 환경에서 위와 같은 기능들을 제공해주는 Byword 라는 유료 어플리케이션을 사..
Closure - Basic 클로저는 func 키워드와 함수의 이름이 없는 함수입니다. 흔히들 익명함수라고 불리기도 합니다. 이들은 이름이 없기 때문에 그들 스스로 호출을 할 수 없습니다. 기본 클로저 문법 { (매개변수 목록) -> 반환타입 in 실행 코드 } 함수 vs 클로저 Function 이름이 있다. func 키워드가 존재한다. in 키워드가 존재하지 않는다. Closure 이름이 없다. func 키워드가 존재하지 않는다. in 키워드가 존재한다. func giveFunc(){ ... } // function var giveNoFunc = {() ->in ... } // closure //call giveFunc() giveNoFunc() Function to Closure example fun..
안녕하세요. 저번 포스팅까지가 1차 중간고사의 범위였고 시험을 치렀습니다! 하지만 성적은... 물론 교수님이 어렵게 내셔서 70점을 넘는 학생이 한 명 밖에 없기는 하지만... 그래도 아쉬움이 많이 남는 시험이었습니다. 다음 시험은 더 잘 보기 위해 다시 포스팅을 시작해보도록 하겠습니다. 오늘은 앞에서 언급했던 Deaklock 상태에 대해 더욱 자세히 다뤄보도록 하겠습니다. 그럼 바로 시작하도록 하겠습니다. Deaklock Deaklock 이란 프로세스 P1이 자원 A를 갖고 있으면서 B를 필요로 하고 프로세스 P2는 자원 B를 갖고 있으면서 자원 A를 필요로 하는 상황에서 두 프로세스 모두 더 이상 진행이 되지 않는 상황을 말합니다. Deadlock에 관해 설명하고 해결법을 설명하기 위해 System ..
안녕하세요. 이번 포스팅이 1차 중간고사까지의 범위로 결정이 됐습니다! 저번 주까지는 스케줄링의 방법들에 대해서 공부를 해보았는데요 이 강의에서 우리는 프로세스에서 살펴보았는데 이때 여러 프로세스가 동시에 공유 메모리에 접근을 하게 될 때 충돌이라는 문제가 발생한다는 것을 배웠습니다. 오늘은 바로 그 충돌의 해결방안들에 대해서 살펴보도록 하겠습니다. 충돌은 동시에 다른 프로세스가 하나의 메모리에 접근을 하여 값이 원하는 대로 나오지 않는 현상인데요. 쉽게 와 닿지 않으실 수 있으실 테니까 간단히 코드를 보며 설명을 해보도록 하겠습니다. 위의 코드를 대략적으로 설명하자면 Producer 프로세스가 buffer를 통해 Consumer 프로세스에게 작업을 하나씩 넘겨주고 Producer는 넘겨주었으니 buff..
안녕하세요. 시간이 지날수록 각종 팀프로젝트와 과제들로 인해 업로드가 점점 늦어지고 있네요...! 그래도 최대한 다음 수업 시간 전까지는 포스팅하기 위해 이렇게 글을 쓰려 노트북 앞에 앉았습니다. 이번 주에는 운영체제의 중요한 기능, 역할 중 하나인 CPU 스케쥴링 (CPU Scheduling)에 관해 포스팅 해보도록 하겠습니다. 그럼 바로 시작하겠습니다. 앞에 포스팅 해놓은 내용들을 다시 생각해보면 운영체제의 역할은 컴퓨터를 보다 효율적으로 사용하게 해주는 중요한 역할을 하고 있습니다. 여기서 효율적이라하면 자원을 최대한 바쁘게 활용하는 것을 말하는데요. 그 중의 하나가 바로 MultiProgramming 기법이었고 거기에 time quantum의 개념을 도입한 것이 MultiTasking 기법이었습니..
- Total
- Today
- Yesterday
- 오토레이아웃
- UIControl
- storyboard
- oauth2.0
- auto layout
- segue
- UIResponder
- 백준
- Xcode
- 알고리즘
- Swift
- edwith
- nodejs
- 프로토콜
- Algorithm
- Codable
- boostcourse
- 클로저
- iPhone
- CRUD
- Operating System
- notificationcenter
- 스위프트
- TableView
- IOS
- 부스트코스
- 테이블뷰
- 운영체제
- Protocol
- 아이폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |