CS지식/운영체제
-
운영체제1 - 운영체제 소개(기본개념, 발전목적,기능)CS지식/운영체제 2024. 7. 11. 18:05
1. 운영체제의 개념1.1. 운영체제의 구성요소소프트웨어 - 컴퓨터가 기능을 수행하는데 필요한 모든 프로그램을 의미한다. 시스템 소프트웨어, 유틸리티, 응용 프로그램 등으로 구성된다.시스템 소프트웨어 : 컴퓨터 자원을 관리하고 응용프로그램을 실행을 지원하여 컴퓨터를 제어하는 프로그램이다. 운영체제를 비롯해 장치 드라이버 등으로 구성된다. 유틸리티 : 응용 프로그램보다 작지만 컴퓨터의 여러 처리 과정을 보조하여 시스템을 유지하고 성능을 개선하는 프로그램으로, 운영체제를 돕는 역할을 하며 필요에 따라 사용자나 운영체제가 메모리 상주 프로그램으로 설치하기도 한다. 응용 프로그램 : 특정 작업을 수행하려는 목적, 즉 어떤 문제를 해결하려고 사용자나 전문가가 만든 프로그램이다. 웹브라우저, 워드프로세서, 게임, ..
-
하드웨어 레벨 - 메인보드CS지식/운영체제 2024. 1. 30. 09:24
메인보드 1️⃣ 가장 큼 사각형은 메인보드이다. 2️⃣ 메인보드 안에 시스템 버스(양방향 수직 화살표)가 있다. 3️⃣ CPU 내부에는 ALU(산술논리연산장치),제어장치 와 여러 레지스터가 있다. CPU는 메인보드 내 시스템 버스와 연결되어 있다. 4️⃣ 메모리는 메인보드 내 시스템 버스와 연결되어 있다. 5️⃣ 보조기억장치는 메인보드 내 시스쳄 버스와 연결되어 있다. 메모리 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 중구난방으로 저장되어 있으면 안된다. 저장된 명령어와 데이터의 위치는 정돈이 되어 있어야한다. 그래서 메모리에 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(address)라는 개념이 사용된다. ..
-
리눅스 - 라이브러리CS지식/운영체제 2024. 1. 14. 16:56
리눅스 OS가 제공하는 라이브러리(library)를 살펴보자. 프로그래밍 언어는 다수의 프로그램에서 공통으로 사용하는 처리를 라이브러리로 합쳐서 제공하는 기능이 있다. 이걸 사용해서 프로그래머는 미리 만들어지 대량의 라이브러리에서 필요한 걸 골라서 효율적으로 프로그램을 개발할 수 있다. 라이브러리 중에는 OS가 미리 공통된 기능을 가진 라이브러리를 준비해서 제공하는 경우도 있다. 프로세스가 라이브러리를 사용할 때 소프트 웨어 계층은 [그림 01-06]과 같다. 그림 01 - 06 프로세스의 소프트웨어 계층 표준 C 라이브러리 C언어는 국제 표준화 기구(ISO)에서 정한 표준 라이브러리가 존재한다. 리눅스에서도 이런 표준 C라이즈러리가 제공된다. 일반적으로 GNU 프로젝트 에서 제공하는 glibc를 표준 ..
-
리눅스 - 프로그램과 프로세스, 커널, 시스템 콜CS지식/운영체제 2024. 1. 14. 13:39
리눅스 프로그램과 프로세스 리눅스에서는 다양한 프로그램이 동작한다. 프로그램이란 컴퓨터에서 동작하는 관련된 명령 및 데이터를 하나로 묶은 것이다. Go언어와 같은 컴파일형 언어라면 소스코드를 빌드해서 만들어진 실행 파일을 프로그램이라고 부른다. 파이썬 같은 스크립트 언어는 소스코드 그 자체가 프로그램이 된다. 커널(Kernel)도 프로그램의 일종이다. 컴퓨터를 켜면 처음에 커널이 실행된다. 그외의 모든 프로그램은 커널 이후에 실행된다. 리눅스에서 동작하는 프로그램은 다음과 같은 다양한 종류가 있다. 웹브라우저: 크롬, 파이어폭스 웹서버: 아파치,Nginx 텍스트 에디터: Vim,이맥스 프로그래밍 언어 관련: Go컴파일러, 파이썬 인터프리터 등 셸(shell) : bash,zsh 등 시스템 전체 관리 소프..
-
운영체제 - OS, Operating SystemCS지식/운영체제 2023. 11. 2. 20:02
운영체제란 하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층이다. 컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 역할을 수행한다. CPU, 메모리 같은 컴퓨터 자원은 제한적이라서 이러한 자원을 관리하는 일은 매우 중요하다. 또한 사용자와 컴퓨터 간 인터페이스를 제공해 사용자가 컴퓨터를 편리하게 사용할 수 있는 환경을 제공한다. 운영체제 목적 OS는 앞서 말한 것과 같이 한정된 컴퓨터 자원을 관리하는 시스템이다. 이러한 역할에 기반해 OS는 4가지 목적있다. 처리 능력(throughput) 향상 : OS는 자원 관리를 총해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킨다. 반환 시간(turnaround time)단축 : OS..
-
서버 기술 기초 요약 - 리눅스 쉘 사용법 6CS지식/운영체제 2022. 5. 1. 16:50
초간단 VIM 사용법 VIM 에디터 이해 및 설치 VIM : Vi improved에서 앞 글자를 빼내어 만든 이름이다. Vi : 전통적인 유닉스 에디터(개발자: 빌 조이) Visual Editor의 줄임말이다. Vim은 Vi에 자동화, 시각화 메뉴등을 추가한 프로그램이다. Vim이외에 이맥스(Emacs,GNU프로젝트 설립자 리차드 스톨마이 개발)라는 유명한 에디터가 있다. 일단 어떤 설정을 바꾸려면, 터미널 환경이기 때문에, 마우스로 클릭해서, 바꿀 수 없다. 보통의 설정은 file로 되어있다. 그 설정file을 수정해서 설정을 변경 할 수 있는 것이다. 그래서 무언가 수정을 하려면, editor가 필요하다. 근데, 리눅스에서 사용하는 editor은 생각보다 사용법이 불편하다. 윈도우,맥os Vim 설치..
-
서버 기술 기초 요약 - 리눅스 쉘 사용법 5CS지식/운영체제 2022. 5. 1. 15:55
우분투 패키지 관리 도커에서 image를 만들때 리눅스 image를 만들 것이고, 여기에 여러가지 프로그램을 설치해야한다. 그래서 우분투로 해당 프로그램을 설치하는 방법에 대해 알고 있어야 하기 때문이다. 원래는 리눅스 운영체제는 리눅스 커널이라는 핵심 운영체제 프로그램과 함께 사용자에게 명령을 받을 수 있는 bash 쉘외에도 여러가지 프로그램들 파일들이 하나로 묶여진 set이다. 이런 set의 합을 어떻게 만드느냐에 따라 여러가지 배포판이 생겨나는 것이다. ubuntu 배포판 다양한 배포판 중 하나 데비안 배포판을 기반으로 캐노티컬사가 우분투 배포판 개발 데비안 배포판은 apt 프로그램을 이용해서 소프트웨어 설치 및 업데이트를 간편하게 한 패키지 우분투 의미 : 남아프리카 부족 언어로 '너가 있으니 나..
-
서버 기술 기초 요약 - 리눅스 사용법 이해 4CS지식/운영체제 2022. 5. 1. 14:52
하드링크와 소프트링크 웹서버 프로그램에 설정을 해야하는데, 그런 설정 중에 소프트링크를 쓰는 경우가 있다. 하드 링크와 소프트 링크 cp명령 : 파일 복사 1MB사이즈를 가지고 있는 A파일을 B파이로 복사 cp A B -> A와B는 각각 물리적으로 10MB 파일로 저장 하위 폴더 포함 복사하기 cp -rf * [폴더명] : 현재 폴더에 있는 모든 하위 폴더 파일을 포함해서, 다른 폴더에 통째로 복사하라는 명령이다. 하드 링크 : In AB A와 B는 동일한 10MB 파일을 가리킴 즉, 동일한 파일을 가진 이름을 하나 더 만든 것일 뿐 전체 파일 용량은 달라지지 않음 In a.txt b.txt : a.txt 파일 내용이 바꾸면, b.txt 내용도 바뀐다. 그래도 a.txt와 b.txt는 완전히 독립적으로 ..