<CS스터디> 챕터 38,39장

박건영(Parkgunyoung)·2022년 6월 9일
0

CS스터디

목록 보기
3/4

여러작업을 수행하는 애플리캐이션

응용 소프트웨어(Application Software)는 애플리케이션 또는 앱 이라고 불리며, 운영체제에서 실행되는 모든 소프트웨어를 뜻한다.

따라서, 워드프로세서, 스프레드시트, 웹브라우저, 컴파일러나 링커 등도 응용 소프트웨어에 속한다.

좁은 의미에서는 OS(운영체제) 위에서 사용자가 직접 사용하게 되는 소프트웨어들을 뜻한다. 이런경우에는 컴파일러나 링커 등 시스템소프트웨어를 제외한 워드프로세서 등의 소프트웨어들만을 주로 뜻한다.

*참고: (위키백과: 응용 소프트웨어) https://ko.wikipedia.org/wiki/%EC%9D%91%EC%9A%A9_%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4

이러한 앱은 조그만할 수 잇고 클 수도 있고, 하나의 특정한 곳에 집중할 수도 폭넓은 기능을 처리할 수도 있으며, 판매될 수도 있고 무료로 배포될 수도 있다.


유닉스

유닉스(Unix) 는 벨 연구소에서 개발한 운영 체제로, 대부분의 현대적 컴퓨터 운영 체제의 원형이 되었다. 윈도우를 제외한 macOS, iOS 등의 대부분의 운영 체제가 유닉스를 그 뿌리로 하고 있다.

참고로 리눅스(및 이를 기반으로한 안드로이드 등)는 유닉스와는 공통점도 많고 호환성도 있으나 유닉스에서 갈라져나온 운영체제가 아니므로 '유닉스 중의 하나'라거나 '유닉스의 일부'라고 할 수는 없다.

유닉스를 개발한 사람들 가운데 한 명인 데니스 리치는 많은 사용자가 리눅스를 유닉스라고 생각하지만 공식적으로는 유닉스라고 언급하지 않는다고 설명하였다.

*참고: (위키백과: 유닉스)
https://namu.wiki/w/UNIX


애플리케이션 예시

유닉스의 ls 프로그램 = 텍스트 전용 파일 시스템 탐색용 프로그램

워드 = 파일을 열고, 내용을 읽고, 파일 시스템에 문서를 저장할 수 있는 파일 탐색용 프로그램보다 훨씬 더 규모가 큰 애플리케이션(더 복잡한 알고리즘은 포함한 애플리케이션)

브라우저 = 규모가 크고 무료이며 간혹 오픈소스로 개발되는 애플리케이션으로 크롬, 파이어폭스, 사파리 등이 존재

  • 브라우저는 예측할 수 없는 시점에 일정한 순서를 따르지 않고 발생하는 비동기적 이벤트를 처리해야한다.(복잡성 up)

ex) 사용자가 링크를 클릭하면 브라우저는 페이지에 대한 요청을 보내는데, 해당 응답을 기다리지만 않고 기다리는 동안 스크롤을 하면 즉각 반응해야하고, 요청한 페이지가 오는 중에도 뒤로가기 버튼을 눌렀을 때 다른 링크를 클릭하면 요청을 취소하고 뒤로가기 기능을 수행한다.


브라우저

브라우저는 운영체제와 비슷하다(근데 같지는 않음 ㅇㅇ). 자원을 관리하고 동시에 일어나는 활동을 제어하고 조정한다.

또한 다수의 출처에 대한 정보를 가져오고 애플리케이션 프로그램이 실행될 수 있는 플랫폼을 제공한다.

브라우저를 운영체제로?

브라우저를 운영체제 처럼 사용하는 것이 가능해보였고 이것은 오늘날 실행 가능한 대안이 되었다.

크롬 OS는 구글에서 제작한 웹 브라우저 크롬을 활용한 젠투 리눅스 기반의 운영체제이다.(클라우드 컴퓨팅)

크롬북은 크롬 OS를 실행하는 컴퓨터로 로컬 저장 장치의 용량은 제한적(초기 16GB) 대부분의 저장 기능은 웹을 사용한다.

초기 크롬 OS는 부팅후 크롬브라우저 하나만 뜨는게 전부였고 인터넷 연결이 안된 오프라인 환경에서 할 수 있는 것은 크롬부라우저의 로컬 설정을 바꾸거나 로컬 스토리지에 저장된 일부 지원되는 미디어 파일을 재생하는 것 외에 할 수 없었다고 한다.


소프트웨어의 계층 구조

컴퓨팅 분야의 다른 많은 것과 마찬가지로 소프트웨어는 계층으로 구성된다.

각 계층은 맡은 기능을 구현하고, 그 상위 계층이 서비스에 접근하는 데 사용할 수 있도록 추상화를 제공한다.

가장 밑바닥에는 하드웨어가 존재하고 다음 계층으로는 운영체제가 존재한다.

운영체제의 가장 핵심적인 역할을 하는 부분은 커널이다.
커널은 제어프로그램 중에 항상 실행 중인 제어 프로그램이다.

커널은 프로세서 관리, 메모리 관리, 프로세스 관리, 주변장치 관리, 파일 관리와 더불어 인터럽트 처리 또한 담당하는데, 인터럽트란 지금 하던 일을 멈추고 다음에 무슨 작업을 할지 결정하는 역할을 합니다.

출처: https://overcome-the-limits.tistory.com/94 [Plus Ultra:티스토리]


운영체제 다음 계층으로 라이브러리 집합은 프로그래머 개개인이 기능을 새로 만들어 낼 필요가 없도록 일반적으로 유용한 서비스를 제공한다.

라이브러리는 API를 통해 사용할 수 있다. 라이브러리 마다 낮은 수준(ex.계산기)부터 높은 수준(ex.그래픽,암호기법)의 기능들을 제공한다.


정리

위와 같은 계층구조에 의해 책에 나오는 두 개의 애플리케이션이 프린터를 동시에 작동시키거나, 중간 조정 없이 디스플레이에 값을 출력하면 안되게 하는 것을 운영체제의 기능인 프로세서 관리를 통해 제어가 된다.

끝으로 브라우저는 운영체제의 일부가 아닌 애플리케이션이다(미국 법무부 승!).(마이크로소프트웨어 IE 강요 ㄴㄴ해~)

마이크로소프트가 인터넷 익스플로러 데스크톱 애플리케이션의 공식적인 지원을 2022년 6월 15일부로 종료한다.

원문보기:
https://www.itworld.co.kr/news/237674#csidx14817b72d13a502936958b2f6014a33

profile
쓰러지면어때일어나면그만인걸

0개의 댓글