운영체제 || 5. Inter Process Communication
시스템 안에 있는 프로세스는, 각자 독립적이거나 상호 협력적일 수 있어. 독립적인 프로세스는 당연히, 다른 프로세스에 영향을 줄 수 없지만, 협력적인 프로세스들은 영향을 줄 수 있지, 예를 들자면 이제 공유하는 데이터 같은게 있을테니까. 이 프로세스들이 독립적인 것 보다, 상호 협력적인게 장점이 많아. 첫번째, Information sharing : 데이터를 상호교환하기 떄문에 서비스의 품질이 올라가고 두번째, Computation speedup : 연산 속도가 당연히 올라갈 거고 세번째, Modularity : 프로세스에게 각각의 역할을 정해준다면, 프로세스는 각자가 필요한 코드만 들고 있을거고, 결국 유지보수에 장점이 있지. 마지막으로 Convenience : 한 Task를 한 프로세스로 할 떄 보다..
2021. 3. 29.
운영체제 3 || OS의 구조를 어떻게 디자인 할 수 있을까?
오늘은 OS의 발전과정에 대해 배워볼거야. 먼저 결론부터 얘기하자면, OS를 설계하는데 있어서 절대적인 진리는 없어. 다만 성공적인 접근 방법이 존재할 뿐이야. 자, OS를 디자인하기 위해서는 제일 처음, 사용자의 입장과 시스템의 입장에서 목적과 특징을 정해야해. 당연히 사용자의 입장에서는 사용하기 편하고, 배우기 쉽고, 신뢰성있고, 안전하고 빠르게 작동하는게 좋을거야 시스템의 입장에서는, 설계하기 간편해야하고, 유지 보수하기도 편해야하고, 유연성이있어야하고, 에러에 있어서 좀 자유로워야 해. 이런 각각의 목적들을 가지고 설계를 하는거지 그러니까, OS를 설계 할 때, 중요한 포인트는 뭐냐면, Policy와 Mechanism을 잘 나누는 거야 Policy는 OS가 무엇을 할 건지에 관한거야 Mechani..
2021. 3. 14.