시스템 프로그래밍을 알면 뭐가 좋을까?
더 많은 것을 할 수 있다.
더 많은 것을 하면서 더 효율적이고 높은 성능을 가져갈 수 있다.
이렇게 막연하게 더 많은 것을 할 수 있다면, 이해가 안될 것이다.
간단한 예시를 들어보겠다.
A->B->C 를 통한 작업물 요구 요청은 비용이 많이 든다.
따라서 A->C의 직접적인 요구는
요구 비용도 적게든다.
요구 비용 뿐만 아니라, 직접적인 요구는
더 많은 것을 요구할 수 있고,
더 효율적이고 높은 성능을 가진다.
소프트웨어의 제약을 최소화시키므로,
OS와 CS를 잘 알면 시스템 콜을 사용할 수 있으며,
이를 통한 시스템 소프트웨어의 설계를 직접 할 수 있다면,
중간 과정이 없기 때문에 더 높은 퍼포먼스를 가져갈 수 있다.
시스템 프로그래밍 능력을 갖추면 좋은 점
즉,
시스템 프로그래밍 능력을 갖춰야 하는 이유는 다음과 같다.
- Do more things
- Higher performance
즉 시스템을 효율적으로 활용하는 능력을 함양하는 것이며,
시스템 자원에 대한 이해 향상이 시스템 프로그래밍의 주 목표이다.
해당 시스템 프로그래밍 포스팅은
Unix/Linux 기반 시스템을 주로 다룰 것이다.
그래서 시스템 프로그램은 어떤 경쟁력을 갖게 해주는가?
전공자의 실력을 갖춘 것을 기반으로,
단순이 어떠한 프로그래밍을 짤 수 있다는 경쟁력이 없다.
요즘 같은 경우는 누구나 프로그래밍을 하는 시대이니,
항상 어떤 프로그램을 더 효율적으로 더 높은 퍼포먼스를 보여줄 수 있는
것을 기반으로 스스로를 성장시킨다면,
더 높은 가치를 인정받을 수 있을 것이다.
앞으로 시스템 프로그래밍을 학습하면서 가장 큰 목표는
C Programmig 연습과 Unix/Linux를 경험해보는 것이다.
조금 난이도가 있는 문제를 풀어보는 경험을 통해서
단순한 프로그래밍 능력을 함양시키는 것 뿐만 아니라
시스템을 이해하고 그것 효율적으로 사용하는 프로그래밍 능력을 기르는 것이 목표이다.
시스템 프로그래밍에 요구되는 기반 지식
시스템 소프트웨어는
HW에 대한 이해(System)에단 높은 이해를 기반으로 한다.
시스템 프로그래밍은 즉
HW를 기반 지식을 응용하여
소프트웨어를 효율적으로 제작하는 것이 목표이다.
'컴퓨터 프로그래밍 공부 > 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
시스템 프로그래밍의 이해와 접근 (1) | 2024.11.24 |
---|---|
Unix/Linux Architecture (0) | 2024.11.10 |
시스템 프로그래밍이란? (0) | 2024.10.31 |
힙 메모리 영역 특징 (1) | 2024.09.29 |
에러 처리와 스레드의 상관 관계와 커널 개체 (0) | 2024.05.16 |