본문 바로가기

CS/운영체제14

[면접을 위한 CS 전공지식 노트] 운영체제 chapter 3) 운영체제 SECTION1 운영체제와 컴퓨터 운영체제(OS, Operation System): 한정된 메모리나 시스템 자원을 효율적으로 분배하여 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스 펌웨어(firmware): 운영체제와 유사하지만 소프트웨어를 추가로 설치할 수 없는 것 1. 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 디스크 파일 관리: 디스크 파일을 어떠한 방법으로 보관할지 관리 I/O 디바이스 관리: I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리.. 2023. 7. 28.
[쉘 스크립트] 기초_변수_테스트문 쉘 스크립트 기초_변수_테스트문 [쉘의 종류] sh : Thompson Shell (1971) bsh : Bourne Shell (1977) csh : C Shell (1979) tsch : Tabbed C Shell (1979) ksh : Korn Shell (1982) bash : Bourne-again Shell (1987) zsh : Z Shell (1990) dash : Dash Shell (2002 [쉘 스크립트의 기능] 쉘 명령의 조합 변수 & 배열 선언이 가능함 산술 연산 & 논리 연산이 가능함 조건문 & 반복문이 가능함 함수 선언이 가능함 [쉘 스크립트 실행방법] ./ bash source . 2021. 10. 24.
[소프트웨어 공학] 소프트웨어 공학이란? 소프트웨어 공학이란? 모든 사물과 사람이 서로 연결되어 정보를 생성 -> SW가 중요한 사회 프로그래밍 언어: 소프트웨어 개발 과정에서 구현 부분 담당 프로젝트: 어떤 목표를 위해서 여러 사람이 팀을 이루어 소프트웨어 및 하드웨어로써 정해진 기간에 그 목표를 달성하는 일련의 과정 모듈 (Module) 모듈화 프로그래밍 ▪ 프로그램을 구성하는 구성 요소 ▪ 관련된 데이터와 함수들의 묶음 ▪ 기능별로 나뉘어지는 프로그램 (코드 분할) ▪ 소프트웨어를 기능별로 파일로 나눠가며 프로그래밍 ▪ 유지보수가 좋아짐 ▪ 프로그램 수정시 빌드(Build)가 빨라짐 [단일 vs 다중 모듈화] 하드웨어: 컴퓨터를 구성하고 있는 전자회로 및 각종 장치 (입력, 출력, CPU(연산,제어), 기억) 소프트웨어: 하드웨어에게 입력.. 2021. 10. 16.
[쉘 스크립트] 기초 쉘 스크립트 기초 쉘(shell)이란? 사용자가 프로그램을 시작하고, 파일시스템에 있는 파일을 관리하고, 리눅스 시스템에서 실행되는 프로세스를 관리하는 방법을 제공 텍스트 명령을 입력하면 쉘은 이를 해석하고 커널에서 실행 쉘은 파일을 복사하고, 옮기고, 이름을 바꾸고, 현재 시스템에서 실행 중인 프로그램을 표시하고, 시스템에서 실행 중인 프로그램을 중지시키는 일들을 수행함 쉘 스크립트란? 쉘 명령들을 묶어서 파일에 넣음으로써 프로그램처럼 실행 → 쉘 스크립트 커맨드라인에서 실행할 수 있는 명령이라면 무엇이든 쉘 스크 립트에 넣고 명령의 그룹으로 실행 가능함 여러 가지 리눅스 쉘이 존재함. 리눅스 배포판에서 사용하는 기본 쉘은 bash 쉘(Bourne-again Shell) → UNIX 쉘을 대체하는 수단.. 2021. 10. 14.
[소프트웨어의 역사] 유닉스 vs 리눅스 소프트웨어의 역사 유닉스 vs 리눅스 초창기의 소프트웨어 컴퓨터 초창기에는 모든 SW는 자유롭게 구해서 사용하고, 살펴보고 수정하고 공유가 가능했음 모두 자신의 SW를 다른 사람들에게 기꺼이 배포함 대부분 SW가 매출원이 될 수 있다고 생각한 사람은 없었음 하드웨어 모델이 세분화되어 있어서 특정 모델을 위해 작성된 SW는 다른 모델에서는 실행되지 않았음 어떤 콘솔 게임을 샀다면 그 콘솔이 여러분이 즐기려는 게임이 작동하는 유일한 플랫폼 소프트웨어 가치 상승 많은 사람들이 SW을 개발하는데 많은 노력이 필요하다는 것을 꺠달음 하드웨어 생산과는 별도로 소프트웨어 새발 산업이 나타남 소프트웨어를 사용하는데 돈을 지불해야 했고, 소프트웨어를 사용하기만 하고, 수정하고 업데이트가 불가능한 형태로 변환됨 다른 사람.. 2021. 10. 14.
[리눅스] 명령어 (검색, 비교) 리눅스 명령어 (검색, 비교) cut 특정 컬럼의 내용을 잘라냄 $ ... | cut -b : byte만큼 잘라냄 $ ... | cut -f : 필드 선택 $ ... | cut -d : tab을 대신할 delimiter 지정 $ ... | cut --output-delimiter : 출력으로 사용할 delimiter 지정 $ head /etc/passwd | cut -d ‘:’ -f 1-3 $ head /etc/passwd | cut -d ‘:’ -f 1-3 -output-delimiter=‘=‘ $ wc –l *.py | cut -b 2-5 tr 특정 내용을 변환(translate)함 $ ... | tr -d : 삭제 $ ... | tr : 을 로 변환함 SET CHAR1 – CHAR2 : CHAR1에.. 2021. 10. 14.
[리눅스] 명령어 (text) 리눅스 명령어 (Text) echo (에코) echo [option] [string] 텍스트나 문자열을 출력함 $ echo “Hello World!” : “Hello World!”를 출력함 $ echo -e : 이스케이프를 해석 가능함 $ echo -e “Hello\nWorld!” 출력) Hello World! head 문서 내용의 앞부분만 출력함 (기본 10줄) $ head : 파일명의 앞부분만 출력함 $ head –n [NUM] : 파일명의 앞부분 [NUM] 줄까지 출력함 $ head –c [NUM] : 파일명의 앞부분 [NUM] 바이트까지 출력함 tail 문서 내용의 뒷부분만 출력함 (기본 10줄) $ tail : 파일명의 뒷부분만 출력함 $ tail –n [NUM] : 파일명의 뒷부분 [NUM] .. 2021. 10. 14.
[리눅스] 명령어 (basic) 리눅스 명령어 (Basic) ls (리스트) 현재 디렉터리에 있는 파일과 그 하위 디렉터리들의 이름이 나열 ls -l : 파일명뿐만 아니라 접근 권한, 소유자, 그룹, 파일 크기, 최종 수정 날짜 도 출력 (ll과 비슷함) ls -l /var : /var과 같이 특정 디렉터리를 지정하면 해당 디렉터리의 내용이 출력 $ ls -lh : 킬로바이트나 메가바이트 또는 기가바이트 단위처럼 읽기 쉬운 형 식으로 출력 $ ls -R : 현재 디렉터리 아래에 어떤 디렉터리가 있는지 확인 pwd (현재 작업 디렉토리) $ pwd : 현재 작업 디렉터리를 화면에 출력 cd (디렉토리 변경) 현재 작업 디렉토리를 지정한 디렉토리로 바꿈 $ cd .. : 상위 디렉토리로 이동 $ cd /home/ : 현재 디렉토리에서 아주.. 2021. 10. 13.
반응형